19/10/2019, 10:40

Xin Đừng Ngáo AI…

Vài năm gần đây, cụm từ “AI”, “Trí tuệ nhân tạo”, “Big data”…. đã trở nên vô cùng phổ biến, không ngoa nếu nói rằng nhà nhà “AI” người người “AI” từ cụ già đến trẻ nhỏ, từ đàn ông đến phụ nữ ai ai cũng biết và tò mò về ...

Vài năm gần đây, cụm từ “AI”, “Trí tuệ nhân tạo”, “Big data”…. đã trở nên vô cùng phổ biến, không ngoa nếu nói rằng nhà nhà “AI” người người “AI” từ cụ già đến trẻ nhỏ, từ đàn ông đến phụ nữ ai ai cũng biết và tò mò về “AI”. Tất nhiên, cả các lập trình viên, các nhà phát triển, những người trực tiếp làm trong lĩnh vực công nghệ càng không thể bỏ qua hot trend này. Và có lẽ từ đó cũng bắt đầu xuất hiện dấu hiệu của “Bệnh Ngáo AI”!!!!

NOTE: Bài viết này hoàn toàn là góc nhìn và đánh giá của cá nhân mình, một amateur sau thời gian chập chững làm việc trong lĩnh vực này. Những vấn đề mình nêu ra trong bài viết này có thể chỉ là những vấn đề cá nhân mình gặp phải do sự thiếu kiến thức, thiếu kinh nghiệm của bản thân, vậy nên mình rất mong nhận được sự phản hồi của các bạn.

AI là gì? AI làm được gì?

AI (Artificial Intelligence) là gì? Câu hỏi này chắc chắn đã có rất, rất nhiều bài báo trả lời. Mình xin trích dẫn câu trả lời của cố giáo sư John McCarthy (một trong những người sáng lập bộ môn trí tuệ nhân tạo) như sau:

It is the science and engineering of making intelligent machines, especially intelligent computer programs. It is related to the similar task of using computers to understand human intelligence, but AI does not have to confine itself to methods that are biologically observable. Intelligence is the computational part of the ability to achieve goals in the world. Varying kinds and degrees of intelligence occur in people, many animals and some machines.

Đơn giản có thể hiểu “AI” hay “trí tuệ nhân tạo” là một ngành khoa học, kỹ thuật chế tạo các máy móc, đặc biệt là các chương trình máy tính thông minh. “AI” cũng có nhiệm vụ tìm hiểu về trí tuệ của con người mà không bị giới hạn bởi các quan sát sinh học, từ đó giải quyết các tác vụ với độ thông minh tương tự thậm chí tốt hơn con người.

AI làm được gì? Ứng dụng của AI vô cùng rộng lớn bao gồm: xử lý ảnh, xử lý ngôn ngữ tự nhiên, xử lý âm thanh, tự động hóa… Rất nhiều công việc con người đang phải thực hiện hàng ngày, hàng giờ có thể hoặc đã được thay thế bằng các máy móc ứng dụng trí tuệ nhân tạo với năng suất cũng như giá thành vượt trội. Vậy nên, AI đã, đang và sẽ tiếp tục đi sâu hơn nữa vào đời sống của mỗi người chúng ta.

Tuy nhiên, trong bài viết này mình sẽ không đề cập đến những ưu điểm của AI thêm nữa. Bây giờ, chúng ta sẽ đi vào phần chính của bài viết: “Bệnh Ngáo AI” ????

Ngáo lạm dụng

Lạm dụng thuật ngữ

Đây là sự ngáo mình gặp phải nhiều nhất từ cộng đồng, từ xã hội và có cả những người đi làm/bán sản phẩm công nghệ. Nếu các bạn theo dõi Shark Tank Việt Nam 2019 thì có lẽ các bạn cũng nhận ra số lượng startup công nghệ năm nay rất nhiều, đặc biệt gần như sản phẩm nào mình cũng thấy gán mác AI. Và trong thực tế nhiều khách hàng mình gặp hoặc một vài người bạn của mình cũng luôn đề cập đến việc đưa AI vào sản phẩm của họ. Đôi khi mình không hiểu mục đích khi đưa AI vào sản phẩm để làm gì? Thật sự để nâng cao chất lượng của sản phẩm, tăng trải nghiệm người dùng hay đơn thuần chỉ là để PR, để hợp trend, rằng người khác có thì ta cũng phải có.

AI rất tốt, AI giải quyết được rất nhiều vấn đề. Đúng. Nhưng nhiều không có nghĩa là tất cả. Có lẽ một phần nguyên nhân của việc này là gần đây các phương tiện thông tin đồn thổi và đôi khi đã vẽ nên một bức tranh phi thực tế về sức mạnh của AI (bao gồm cả việc nó sẽ xâm chiếm thế giới ????). Một yếu tố khác nữa là bộ phận pre-sales (tư vấn và bán hàng) của bên cung cấp giải pháp, đôi khi cố tình tô vẽ phép màu của AI lên theo lối “fake it till you make it” – tạo ra một sản phẩm demo có công năng hạn chế hơn nhiều so với hứa hẹn ban đầu trước yêu cầu của doanh nghiệp để thuyết phục họ chịu bỏ tiền ra mua giải pháp. Với bản thân mình, AI đơn giản là một công nghệ, một công cụ như rất nhiều công nghệ, công cụ khác, và nó chỉ có ích khi thật sự giải quyết được các vấn đề trong cuộc sống.

“Đừng bị lừa bởi AI và đừng lừa người khác về những gì AI có thể và không thể làm”. – Lê Thanh Sơn, kỹ sư trong nhóm tư vấn và triển khai công nghệ Watson của IBM

Lạm dụng kỹ thuật

Sự ngáo này chủ yếu gặp phải trong cộng đồng developer đặc biệt là những người mới, và bản thân mình đã và đôi khi hiện tại mình vẫn bị ngáo như vậy. Như các bạn cũng biết, các giải pháp liên quan đến trí tuệ nhân tạo và đặc biệt là deep learning thường đòi hỏi chi phí khá lớn để nghiên cứu, phát triển, vận hành cả về chi phí thời gian cũng như chi phí tài nguyên. Thêm nữa, có rất nhiều bài toán trong thực tế đã được giải quyết tốt, với giá thành phải chăng mà hoàn toàn không cần dùng đến AI.

Ví dụ một trường hợp mình đã gặp với khách hàng như sau: Khách hàng có yêu cầu là sử dụng hình ảnh để đưa ra thông tin về một mặt hàng bao gồm hãng sản xuất, năm sản xuất, dòng sản phẩm… Thực tế đây là bài toán khá phức tạp nếu áp dụng các giải pháp deep learning. Sau đó mình có hỏi khách hàng là cơ sở dữ liệu của họ có lưu thông tin về mã vạch, barcode không? Trên sản phẩm có mã vạch, barcode không? Khách hàng trả lời là có. Vậy OK, bài toán đã được giải quyết một cách dễ dàng và tiết kiệm hơn rất nhiều. Vậy nên chúng ta không cần thiết phải dùng dao mổ trâu để giết gà, vừa mất sức vừa mất công mà kết quả cũng chưa chắc tốt bằng. Mình cho rằng nguyên nhân của vấn đề này một phần đến từ sự tin tưởng thái quá của khách hàng vào những gì AI mang lại, ngoài ra còn một phần khác đến từ sự thiếu kinh nghiệm và lạm dụng kỹ thuật AI của các developer trong đó có cả mình. Điều này mình sẽ đề cập đến nhiều hơn trong phần sau của bài viết.

Ngáo muốn gì và ngáo có gì?

Muốn gì?

“Thông thường thì yêu cầu của khách hàng lúc ban đầu dự án là muốn có chiếc xe ô tô Lamborghini hay Mercedes, nhưng khi bàn giao thì sản phẩm chỉ là chiếc xe đạp điện hay chiếc xe gắn máy là đã đủ để đáp ứng yêu của doanh nghiệp.” – Lê Thanh Sơn, kỹ sư trong nhóm tư vấn và triển khai công nghệ Watson của IBM

Một điều quan trọng nhất khi chúng ta bắt tay vào làm bất cứ việc gì là phải xác định chính xác chúng ta muốn gì. Đây là yếu tố tiên quyết ảnh hưởng đến toàn bộ quá trình thực hiện sau này. Tuy nhiên, đây lại là một sự ngáo rất thường gặp và theo mình là vô cùng trầm trọng trong khi làm việc với khách hàng về những giải pháp AI. Khách hàng luôn có rất nhiều mong muốn nhưng lại khá chung chung. Có thể bản thân họ chưa định hình được công ty, tổ chức của mình đang thực sự yêu cầu điều gì, những gì AI có thể giải quyết trong phạm vi bài toán của họ. Một khó khăn khác nữa là khách hàng không biết cách biểu đạt logic nghiệp vụ nằm trong đầu họ vào các logic để có thể xây dựng mô hình máy học. Vậy nên, phía nhà cung cấp giải phát cần phải giúp khách hàng phân tích, tư vấn, làm rõ yêu cầu trước khi bắt đầu tìm kiếm giải pháp. Đặc biệt không được tạo ra ảo tưởng cho khách hàng rằng AI có thể làm mọi thứ.

Trong thực tế, mình đã từng gặp trường hợp: ở góc độ người làm trực tiếp dự án, mình hiểu được yêu cầu của bài toán và để xuất phương án giải quyết nhưng vì khách hàng yêu cầu một hướng khác nên team mình phải làm theo (thật sự mình rất sợ gặp khách hàng kiểu này ????). Và tất nhiên, kết quả không được như họ nghĩ. Hãy hiểu thật rõ vấn đề mình sẽ cần giải quyết là gì rồi sau đó mới đi tìm giải pháp chứ đừng bắt đầu từ giải pháp rồi đi tìm vấn đề để giải quyết.

Có gì?

Mọi hệ thống AI bất kể độ phức tạp đều cần dữ liệu để có thể vận hành. Hạt nhân của các hệ thống AI là một hoặc nhiều thuật toán được xây dựng dựa trên nền tảng machine learning, deep learning hay phương pháp thống kê đều sử dụng dữ liệu để thu thông thông tin, kiến thức. Từ đó cung cấp các dự đoán, thông tin chuyên sâu phù hợp với nhu cầu. Bạn không có dữ liệu hoặc dữ liệu không phù hợp thì bạn không bao giờ có được kết quả như mong muốn. Khi bạn đã xác định được output của bài toán bước tiếp theo bạn nhất định phải xem xét đến dữ liệu.

Phần lớn các dự án mình làm trong thực tế đều gặp phải vấn đề về dữ liệu, hoặc là quá ít hoặc là vốn bản thân dữ liệu đang có không thể giải quyết được yêu cầu dự án đó. Ngoài ra, khi xây dựng demo hay nghiên cứu giải pháp chúng ta thường chỉ sử dụng các bộ dữ liệu public và khá “sạch”, tuy nhiên khi triển khai thực tế sẽ có rất nhiều yếu tố ảnh hưởng xấu đến chất lượng dữ liệu. Vậy nên sự ngáo trong trường hợp này là việc ảo tưởng về những dữ liệu đang có mà chủ quan không phân tích các yếu tố tác động đến dữ liệu trong thực tế.

Sự ngáo của những người phát triển

Ngáo mì ăn liền

Trong quá trình tìm tìm tài liệu mình đã tìm được bài viết Bài học rút ra từ sự thất bại của các dự án AI Proof of Concepts. Theo mình đây là bài viết quá tốt, đầy đủ cho những gì mình muốn nói. Mình sẽ chỉ tóm tắt lại một vài ý như sau:

  • Các demo, AI PoCs rất dễ dàng để thực hiện và thu được kết quả khá tích cực bằng cách áp dụng trực tiếp các pretrained hoặc các thuật toán có sẵn (vì demo, PoCs chỉ giải quyết các bài toán đơn giản với lượng dữ liệu nhỏ). Điều này thường dẫn đến sự ảo tưởng của các developer về khả năng thực hiện dự án trong thực tế.
  • Các demo, PoCs thường chỉ được xây dựng với mục đích nghiên cứu, chứng minh khả năng giải quyết phần nhỏ của bài toán và không tính đến các yếu tố khác liên quan đến khả năng mở rộng, thời gian phản hồi, tối ưu hệ thống. Nên khi gọi được dự án, chuyển từ giai đoạn PoC sang phát triển product rất nhiều công ty cũng như developer sẽ bối rối khi phải đối mặt với các vấn đề trên.
  • Sự khác biệt về dữ liệu, sự kỳ vọng… giữa dự án PoC và dự án thực tế là rất lớn. Điều này dẫn đến việc nhiều dự án AI PoCs đã rơi vào bế tắc sau khi hoàn thành và chuyển sang giai đoạn product, thậm chí không thể phát triển thành product do không có khả năng ứng dụng thực tiễn.

Như vậy, chúng ta hoàn toàn có thể xây dựng các demo, AI Poc với mục đích nghiên cứu, tìm hiểu công nghệ, điều này là rất tốt và rất quan trọng. Tuy nhiên, chúng ta không được chủ quan cho rằng xây dựng được demo cho kết quả tốt đó là có thể triển khai được hệ thống trong thực tế. AI hoàn toàn không phải lĩnh vực để có thể mì ăn liền!

Ngáo Model

Bản thân mình khi mới bắt đầu và mình tin rằng rất nhiều bạn khi mới bắt đầu với lĩnh vực AI đều có suy nghĩ là hầu hết thời gian trong dự án sẽ dành để xây dựng phần lõi thuật toán, các model machine learning/deep learning và những người khác sẽ thực hiện các công việc còn lại. Nhưng thực tế sẽ không phải như vậy. Thực tế thời gian bạn sử dụng để xây dựng model thường không nhiều, nhất là trong thời điểm hiện tại các AI framework đã hỗ trợ rất nhiều. Bạn sẽ phải dành phần lớn thời gian để loay hoay với một đống tạp nham dữ liệu. Và có một thực tế bạn sẽ phải đối mặt là công việc này rất nhàm chán. Thời gian cho các giai đoạn đại khái sẽ như sau:

  • Xây dựng data pipeline (50 – 70%)
  • Deloy hệ thống, tích hợp API (10 – 20%)
  • Coding mô hình học máy (5 – 10%)
  • Support, fix bug cùng các bên liên quan (5 – 10%)

Sự thật là như vậy, đời thường không như mơ, bạn thường hi vọng rằng mọi người sẽ làm sạch, chuẩn hóa dữ liệu, còn mình là người xây dựng các thuật toán, xây dựng các mô hình lõi hoành tráng, tăng độ chính xác… và ai cũng đều như vậy, không có ai muốn vật lộn với đống dữ liệu đó. Nhưng đó là công việc, là một phần vô cùng quan trọng đối với sự thành công của một dự án AI. Nếu coi model thuật toán là mái của ngôi nhà thì dữ liệu chính là những viên gạch xây nên các bức tưởng để chống đỡ cái mái đó và việc xử lý dữ liệu chính là vôi vữa để kết dính tất cả. Đừng coi thường dữ liệu và việc xử lý dữ liệu!

“At the end of the day, some machine learning projects succeed and some fail. What makes the difference? Easily the most important factor is the features used.” — Prof. Pedro Domingos

Summary

Với cá nhân mình, AI là đỉnh cao của sự phát triển của công nghệ, đặc biệt là trong lĩnh vực phát triển phần mềm. Tuy nhiên, AI không phải chìa khóa vạn năng để giải quyết tất cả. AI hay bất cứ công nghệ nào khác chỉ thật sự có ích khi được dùng đúng nơi đúng chỗ, phù hợp với hoàn cảnh. Với bài viết này mình hi vọng mọi người có thêm được một góc nhìn khác về AI cũng như những gì nó mang lại và cả những gì cần cân nhắc khi quyết định sử dụng các giải pháp AI trong thực tế. AI hiện tại đang là hot trend, là xu thế, nhưng nó cũng chỉ là một trong rất nhiều công cụ phát triển máy móc, phát triển phần mềm khác và đến cuối cùng đều là để cải thiện cuộc sống con người. Vậy nên, “Xin đừng ngáo AI” ????

0