Về khách mời Bảo Đại
Đối với câu hỏi này thì mình nghĩ không có cơ duyên nào. Thực ra thì đó là sự lựa chọn thôi. Ví dụ như mình thích cái gì đó mình sẽ try hard vì nó. Thực ra con đường nghiên cứu về AI cũng là sự lựa chọn của mình
Mình bắt đầu nghiên cứu AI từ năm 2, khi mà mình còn ngồi trên ghế nhà trường ở trường Đại học Khoa học Tự nhiên. Hồi đó mình cũng không thích lập trình lắm, mình thích học toán và làm bài tập toán nhiều hơn. Khi mình tiếp xúc về AI, mình cảm thấy là AI phù hợp với cái mình thích hơn cho nên từ đó mình định hướng cho career path sẽ lập trình ít lại. Mình không định hướng làm dev mà mình làm research nhiều hơn là dev. Cứ như vậy cho đến cho đến lúc ra trường cho đến lúc đi làm may mắn là mình vẫn theo đuổi công việc mà mình muốn.
Hiện tại công việc của mình là nghiên cứu về AI thì nó hơi chung chung. Công việc hiện tại của mình tại ở Knorex là AI Researcher, tức là research về NLP, viết tắt của từ natural language processing, hay còn gọi là xử lý ngôn ngữ tự nhiên. Các bài toán ví dụ có thể kể đến, như google translate: nó sẽ làm cho máy có thể hiểu được ngôn ngữ con người. Mình chủ yếu làm về mảng NLP nhiều hơn so với các mảng khác của AI, như computer vision hoặc là xử lý âm thanh.
Những kinh nghiệm khi theo đuổi ngành AI Reseacher
Theo anh thì học AI có khó không và một bạn sinh viên cần chuẩn bị gì để học tốt AI?
Thực ra thì đối với mình thì không riêng gì AI, mỗi ngành đều có cái khó riêng. Đối với AI thì cần chuẩn bị kỹ càng, có nền tảng toán vững chắc. Toán ở đây cũng khá là rộng cho nên là mình có thể recommend cho các bạn những thứ toán có thể chuẩn bị cho AI đó là calculus và linear algebra: đại số tuyến tính và giải tích. Khi bạn học AI sẽ liên quan đến 2 thứ này nhiều nhất, ngoài ra các bạn cũng cần kiến thức tí xíu về lập trình nữa. Theo kinh nghiệm của mình học lập trình để học được AI, mình không cần đi quá sâu về thuật toán và mà chỉ cần biết lập trình cơ bản. Ngôn ngữ lập trình ở đây mình recommend các bạn chọn python làm ngôn ngữ lập trình các bạn bắt đầu học về AI.
Nếu đã có background là developer thì làm thế nào trở thành một AI researcher?
Mình cũng không phải là một developer đúng nghĩa. Mình thì chủ yếu tập trung vào research cho nên theo mình, để các bạn dev trở thành một AI researcher các bạn có rất là nhiều tiềm năng để có thể chuyển hướng qua ngành research hơn là những bạn khác. Tại vì các bạn đã có base lập trình sẵn cộng với tư duy logic nữa, thì điều kiện đủ để các bạn cần phải thêm vô cái kỹ năng của mình đó là các bạn cần phải có thói quen đọc nhiều. Đối với việc research, các bạn cần phải đọc nhiều, nhất là các bài báo khoa học (hay còn gọi là paper). Nếu kiên nhẫn và tích lũy kiến thức thì AI Researcher không phải là mục đích quá khó.
Đối với anh thì đâu là giải pháp tiếp thu nhanh những thuật toán trong quá trình học Machine Learning (ML)?
Đối với bản thân mình, trong giai đoạn đầu mình học về ML, Deep Learning (DL), mình cũng khá là sợ vì rất là nhiều công thức mình không hiểu gì cả. Cách mà mình để hiểu nó nhanh thì thật ra mình không có, nhưng mà mình biết cách để mà hiểu nó trước. Đôi khi một công thức trong một thuật toán bất kỳ của ML hay DL nào đó đọc qua tốn khoảng 1-2 tiếng để search về nó, để xem về nó, để hiểu tất cả các ký tự mà nó muốn nói. Thực ra các công thức này là những cái ngắn gọn nhất của một cái idea, một cái mô hình mà người ta muốn viết. Để ngắn gọn, người ta phải viết ra công thức. Từ đó khi mình đọc các công thức khó hiểu là chuyện đương nhiên và để hiểu nó thì mình phải làm cho nó phức tạp hơn.
Ví dụ như khi mình học lớp 12 thì khi mà đưa ra công thức thì các bạn không muốn nhìn nó chút nào hết. Nhưng các bạn thích làm bài tập hơn, vì khi làm bài tập mình cảm thấy mình hiểu nó. Đó là kiểu phức tạp hóa vấn đề theo hướng tích cực. Tức là tất cả các bài tập đều áp dụng 1 công thức, mục tiêu của nó là phức tạp hóa vấn đề và để cho con người có thể hiểu công thức đó dưới dạng từng trường hợp một. Khi lên đại học và học AI, các bạn nhìn vô công thức các bạn sợ thì cứ thử học AI như cách các bạn học toán cấp 3. Tức là các bạn phải lấy giấy ra, lấy viết ra và ghi lên giấy những cái mình thử tính bằng tay từng cái một thì các bạn sẽ hiểu được công thức đó sẽ trở nên nhanh chóng.
Mình có 1 câu nói của thầy mình hồi trước – thầy Lê Hoài Bắc ở ĐH KHTN “Cái mà tụi em cần nhất đó là không phải các em lập trình đc trên máy tính khi các em học về AI, về ML. Cái các em cần nhất đó là khi các em chỉ có một cây viết, một tờ giấy, các em có thể viết được mô hình, làm được mô hình, biết được máy chạy ra con số gì trên giấy thì khi đó các em sẽ thành công. chứ k hẳn là mình sẽ ngồi lập trình trên máy ra được số thì tại vì vấn đề ở đây là khi các bạn làm về AI, có rất nhiều thư viện hỗ trợ sẵn, các bạn không cần phải làm gì nhiều. Đôi khi các bạn không cần phải hiểu nó chạy cái gì bên trong. Nó hoàn toàn là một hộp đen nhưng các bạn sẽ hoàn toàn thành công. Mình nghĩ câu đó của thầy rất là đúng và nó có rất nhiều impact cho mình trong quá trình học tập cũng như làm việc về AI.
Là lecturer tại Viet.AI, anh nhận thấy những bạn học trái ngành có thể học AI (researcher) không?
Theo mình, tất cả những bạn học trái ngành đều có cơ hội trở thành 1 AI researcher, tương đồng với tất cả mọi người. Không phải là các bạn học về cơ khí sẽ có riêng về cơ khí, sẽ khó khăn hơn cho các bạn thì điều đó là không đúng. Tại vì có những ví dụ ở trong lớp Viet.AI mình đứng lớp dạy, những khóa trước mình đã gặp được những bạn đến từ những ngành khác nhau ví dụ ngành kinh tế, ngành cơ khí và hiện tại các bạn đang là bác sĩ nữa thì các bạn vẫn có base khá là ok. Đúng là dù các bạn không có thể nào lập trình hoàn toàn tốt như các bạn dev được nhưng các bạn có 1 cái kiến thức riêng về chuyên ngành các bạn thì các bạn có thể adopt AI, như là AI cho healthcare, hay AI cho cơ khí gì đó thì vì những người trái ngành như vậy làm cho cái việc học tập và phát triển AI ở Việt Nam ngày càng được đa dạng hóa hơn rất là nhiều. Mình không nghĩ các bạn đó gặp khó khăn nhiều hơn so với anh em dev khi bắt đầu học về ai.
AI là thuật ngữ rất rộng, vậy có thể chia nhỏ các lĩnh vực của AI không?
AI có thể phân chia thành nhiều lĩnh vực nhỏ khác nhau. Sơ khởi nhất các bạn có thể nghĩ đến việc AI có thể xử lý được ngôn ngữ con người – NLP. Lĩnh vực thứ 2 là xử lý ảnh Computer Vision, chủ yếu tập trung đầu vào là ảnh và đầu ra là phân lớp, ví dụ con chó con mèo cái nhà chẳng hạn thì nó thuộc về CV. Mảng thứ 3 mình nghĩ có thể nhắc đến là Sound Processing. Như các bạn biết bài toán chị Google đặt ra là Text to speech – input là chữ, output là giọng nói hoặc ngược lại là speech to text thì cái đó là lĩnh vực xử lý âm thanh. Khi mà mình chia thành những lĩnh vực nhỏ như vậy, mình đang dựa trên ứng dụng mình chia. Ngoài ra nói về mặt các dạng mô hình thì mình có thể chia AI ra thành các dạng khác. Đầu tiên mình có thể nhắc tới Supervisor learning là học cái giám sát. Tức là khi mình đưa cái dữ liệu đầu vào trong cái máy học thì mình sẽ chỉ ra rõ đâu là con chó, đâu là con mèo để máy có thể biết được đó là những cái mình cần phải học. Thứ 2 là unsupervised learning – học không có giám sát, tức là mình đưa dữ liệu vào cho máy và máy sẽ phân loại ra những cái nó cho là khác nhau. Ví dụ mình đưa vào 2 loại là bút bi và bút chì, mình đưa rất nhiều hình ảnh cho máy và mình bắt máy phải phân ra 2 bên thì mình expect là máy sẽ phân ra bút bi, bút chì mà không đưa 1 cái label nào cho máy hết. Ngoài ra còn có những lĩnh vực khác như là reinforcement learning – học tăng cường. Nó được áp dụng cho lĩnh vực xe tự động rất là nhiều.
Anh có thể chia sẻ rõ hơn về ứng dụng NLP mà anh đang nghiên cứu, anh mong muốn sẽ đạt được kết quả gì?
Đối với ứng dụng NLP thì mình sửa lỗi chính tả, dịch máy (machine translation) ví dụ như google translate, text summarization – tóm tắt văn bản, input văn bản dài và output văn bản đã được tóm tắt bởi máy.
Riêng đối với bản thân mình khi làm việc tại Knorex thì bài toán mà mình tập trung nhất đó là bài toán text classification – phân loại văn bản. Mình muốn máy có thể học được văn bản đó đang nói tới chủ đề gì (vd: sport, du lịch,…) thì đầu vào là văn bản và đầu ra là label, topic của văn bản đó đang nói về điều gì. Ngoài ra mình còn làm những bài toán khác vd language detection – đầu vào là văn bản và đầu ra biết cái ngôn ngữ đó thuộc tiếng anh, tiếng việt, tiếng TBN chẳng hạn. Đó cũng là 1 bài toán của NLP
AI và những ứng dụng trong thực tế
Vậy theo anh đâu là sự khác biệt giữa AI và ML?
Thuật ngữ AI được sử dụng nhiều hơn còn ML đôi khi một số bạn cũng không biết rõ do không học trong ngành ngày.
Sự khác nhau rất rõ rệt đó là: AI là cha của ML, ML là tập con của AI. Khi nhắc đến AI thì mọi người nghĩ ngay đến cái gì đó rất là to, thông minh. Thì AI chung lại là những cách làm cho ML có thể thông minh hơn. Mình có thể code cứng luôn. Gặp trường hợp A thì nó gọi là A gặp trường hợp B trả lời B, những cái code cứng như vậy vẫn là AI. Mình sẽ đưa những cái luật để máy hiểu đc rồi trả về mà k cần học gì thì đó vẫn là AI.
ML là tập con AI nhưng nó không phải là code luật, không phải là if-else nữa mà nó sẽ kiểu đưa dữ liệu vào cho máy và máy sẽ tự động học và sau đó nó sẽ dựa trên những dữ liệu đó và trả lời câu hỏi người dùng dựa trên dữ liệu mình đưa.
ML cần dữ liệu nhiều hơn và mình thấy cái quan trọng của ML nằm ở dữ liệu. Mình không cần phải ngồi code if-else liên tục mấy trăm mấy ngàn dòng nữa để máy có thể thông minh hơn mà mình chỉ cần huấn luyện máy dựa trên dữ liệu mình tìm được. Nó tiết kiệm rất nhiều thời gian và hiện tại nó cũng đang là xu hướng.
Trong ML lại có một cái term khác là Deep Learning. Deep learning lại là tập con của ML. Deep learning sẽ nói về những cái neural network, sẽ có rất nhiều lớp sâu thiệt sâu và hơi chuyên ngành cho nên là mình chỉ nhắc sơ qua thôi.
Theo nhận xét của mình, anh có cảm thấy AI đang bị tâng bốc quá hay không?
Mình cũng cảm thấy 1 phần AI rất trendy. Thật ra lúc học năm nhất năm hai đại học, mình cũng không nghĩ nó sẽ trở nên trendy như vậy ở thời điểm hiện tại. Mình học chỉ vì mình thích nó thôi.
Mình cũng biết 1 nhãn hàng – không tiện nói tên, họ sử dụng keyword AI trong bài Thông cáo báo chí (TCBC) thì cái TCBC của họ được share rất là nhiều. Những nhà báo tò mò và đến với họ rất là nhiều. Họ sử dụng AI như thể là một keyword chứng tỏ là họ đang đi theo cái trend hiện tại. Và mình cũng hiểu tại sao lại có trend như hiện tại vì nó đem lại rất nhiều lợi ích cho user, nó cũng khá là thú vị. Mình nghĩ sự tâng bốc này có thể giải thích được và không có gì gọi là negative impact – ảnh hưởng tiêu cực nào cho tụi mình hết vì tụi mình cũng vui khi biết ah hiện tại AI cũng rất là hot.
Tại sao một số startup lại tuyên bố là họ sử dụng AI trong sản phẩm? Liệu có phải là chiêu trò marketing?
Thực ra có rất nhiều trường hợp.
Có thể họ không cần phải build full squad một cái API của họ. Tức là họ không cần phải build từ đầu tới cuối để cho sản phẩm có AI mà có thể sử dụng nền tảng AI của bên thứ 3 để adopt cho sản phẩm của họ. Trường hợp này họ không cần làm gì cả, họ chỉ cần bỏ tiền ra để mua API của bên thứ 3 ví dụ như IBM. Điều đó không có gì sai cả, miễn là sản phẩm của họ có thể đưa ra những lợi ích nhất định cho ng dùng.
Tuy nhiên, mình vẫn muốn là khi mà nói về AI trong sản phẩm thì mình vẫn nên build full squad. Nếu như có chỉnh sửa trong quá trình phát triển sản phẩm thì mình có thể 100% làm được chuyện đó.
Quay trở lại câu hỏi trong việc họ có sử dụng AI hay không thì anh cũng không chắc là họ có sử dụng. Tuy nhiên nếu mà có thì mình vẫn có thể tin được vì họ có thể mua bên thứ 3 hoặc tạo full squad thì mình cũng không thể biết.
Khó khăn doanh nghiệp gặp khi áp dụng AI vào sản phẩm là gì?
Đầu tiên, tại sao phải sử dụng AI mà không phải những kỹ thuật khác?
Đôi khi họ muốn adopt AI vào những mặt khác của business là một chuyện khác. Tuy nhiên, cái đầu tiên mà mình nghĩ khá quan trọng là nếu doanh nghiệp có thể sử dụng những kỹ thuật khác mà vẫn có thể giải quyết bài toán thì họ nên sử dụng những kỹ thuật ấy, không nên sử dụng AI.
Thứ 2, nếu build AI từ đầu đến cuối, cái khó khăn ở đây chính là khi sản phẩm scale up, ai có hỗ trợ được không? Có đủ nhanh không?
Hiện tại, những kỹ thuật của AI rất phát triển. Họ cần rất nhiều computational resources để thực hiện những bài toán như vậy. Các bài toán về AI rất phức tạp, cần rất nhiều computational resources và các doanh nghiệp nhỏ không đủ để đáp ứng được.
Nếu doanh nghiệp nhỏ khọng đáp ứng được các resource thì câu nói “AI là cuộc chơi cho những ông lớn” liệu có đúng?
Mình nghĩ nó đúng 1 phần. Vì hiện tại, tất cả các mô hình AI đưa ra những kết quả đúng, chính xác nhất hiện tại thường được đề cử bởi những ông lớn. Những thứ gọi là “state obvious”. Việt Nam mình chưa có đủ điều kiện tự propose một cái mô hình. Bởi vì ở Google có rất nhiều computational resource, rất nhiều máy CPU để huấn luyện mô hình, rất nhiều điều kiện để phát triển nghiên cứu. Thì đối với câu “sân chơi của những ông lớn” đúng nghĩa là họ đưa ra những cái mới và mình xài những cái mới của họ. Sân chơi ở đây là sân chơi research nhưng mà nó không đúng ở phần khi áp dụng nó vào sản phẩm. Đối với việc ứng dụng những sản phẩm của Google, Facebook thì nó vẫn là sân chơi của mình. Ví dụ có những sản phẩm của Google, Facebook không thực sự adopt cho thị trường Việt. Vẫn còn những con hẻm nhỏ, sân chơi, đất diễn cho doanh nghiệp Việt, họ sẽ cố gắng lấy những mô hình propose bởi Google hay Facebook, họ đọc hiểu và ứng dụng cho bài toán ở doanh nghiệp việt. Thì đó vẫn là sân chơi của mình!
Lời khuyên để “tồn tại” trong lĩnh vực
Theo kinh nghiệm của mình, anh có thấy quá trình phỏng vấn DEV với một AI researcher có khác nhau không?
Thực sự mình chưa có cơ hội phỏng vấn ở vị trí dev, nhưng mình cũng xin chia sẻ một ít. Khi mà mình join 1 team, quá trình phỏng vấn cũng diễn ra tương tự. Bạn vẫn có bài test cho bạn. Điều khác nhau là kiến thức thôi. Đầu tiên họ sẽ check về kiến thức AI của bạn là bao nhiêu. Tiếp theo mà AI researcher phải có chính là kỹ năng nghiên cứu – research. Tức là bạn cần có kỹ năng đọc hiểu bài báo khoa học để ứng dụng kiến thức của bài báo để giải quyết bài toán của công ty. Thì đó là cái cần thiết nhất bạn cần phải có để xin việc.
Anh có thể chia sẻ lời khuyên để CV của bạn nổi bật phỏng vấn vị trí AI Researcher.
Đầu tiên bạn phải có một vài project nho nhỏ về AI để show cho nhà tuyển dụng biết bạn đã có làm việc về Ai ít nhiều rồi. Bạn sẽ show cho họ biết những thư viện nào bạn đã học rồi.
Thứ 2, bạn có thể đưa đường dẫn repository của các bạn vô. Hiện tại các nhà tuyển dụng rất quan trọng việc bạn đã có đóng góp gì cho cộng đồng, nhất là công việc AI researcher.
Thứ 3, mình nghĩ hơi khó đó là các bạn hãy làm research, viết paper gửi về các hội nghị về AI. Thì khi các bạn có một cái bài báo các bạn nhận đang tải thì đó là một điều rất tuyệt vời cho CV của bạn.
Khi làm việc về AI, anh có những kỷ niệm đáng nhớ nào?
Hiện tại, ở Knorex thì mình có một bài toán khác không liên quan NLP, may mắn mình cũng là project holder cho dự án. Đó là dự án brand safety. Cụ thể là làm sao mình biết trang web user đang connect có phải trang web 18+ không. Mục tiêu cuối cùng của việc detect là để các brand sẽ không phải đặt quảng cáo của mình trên những trang web đó.
Bài toán: input web => output có phải web 18+ không?
Để làm được chuyện đó mình phải thu thập dữ liệu về để train một cái model sao có thể detect được đâu là ảnh bình thường, đâu là ảnh 18+. Thì mình phải lấy rất nhiều ảnh 18+ về máy, sau đó gắn nhãn đâu là ảnh 18 đâu là ảnh bình thường. Đôi khi mình hay bị đồng nghiệp chọc đó là Đại vô công ty vừa được coi hình 18+ còn được trả tiền nữa thì đó là một kỷ niệm khá lạ và vui.
Nhưng mà mình không sướng như các bạn nghĩ. Đôi khi có những trang web sensitive khác 18+ liên quan máu me, những hình ảnh gore thì những thứ này mình cũng phải làm và đôi khi thì mình không ăn nổi do mình coi những hình ảnh đó nhiều quá.
Xin cảm ơn phần chia sẻ rất mới mẻ về AI cũng như về lộ trình trở thành AI Researcher từ anh. Hãy cùng đón đọc “Chuyên gia nói” tại TopDev để không bỏ lỡ bất kỳ bài phỏng vấn chuyên sâu từ các chuyên gia công nghệ nào tại Việt Nam nhé.
Xem thêm việc làm AI researcher hấp dẫn tại TopDev