[Long-form] Hiểu Generative AI một cách đơn giản

Generative AI là một công cụ giúp tạo ra chương trình máy tính để tự động tạo ra các nội dung văn bản, code, âm thanh, video, hình ảnh thay công việc mà con người thường làm.

Với vai trò là Product Manager hoặc ít nhất bạn có hứng thú với AI, bạn có bao giờ suy nghĩ rằng một ngày nào đó bạn sẽ phải tìm hiểu cách áp dụng AI để tạo ra sản phẩm và tự động hóa các quy trình, nghiệp vụ thông qua việc giải quyết một trường hợp kinh doanh thực tế hay không?

Và tất nhiên khi bước vào lĩnh vực AI, các kiến thức bắt buộc như yêu cầu kỹ năng lập trình hoặc kiến thức sâu về toán học có thể là một rào cản trước mắt khiến bạn chùn bước ngay lập tức.

Bỏ qua những kiến thức chuyên ngành đó, tiềm năng to lớn của AI là không thể chối cãi, nhưng vì tôi và các bạn cùng nghề Product Management sẽ khó hoặc gần như không thể theo kịp tất cả những thay đổi do AI mang lại trong những năm tới, việc hiểu những điều cơ bản về Generative AI nói riêng cũng như làm quen với quy trình phát triển sản phẩm AI sẽ là một lợi thế cạnh tranh để phát triển nghề nghiệp.

AI - Trí tuệ nhân tạo và các thành phần chính của nó

Artificial intelligence, dịch sang tiếng Việt nghĩa là Trí thông minh nhân tạo.

Ngày nay, không có định nghĩa duy nhất về trí tuệ nhân tạo (AI). Thuật ngữ AI được sử dụng một cách bùng nổ trong 2 năm trở lại đây và bao gồm mọi thứ liên quan đến việc đưa ra quyết định tự động dựa trên dữ liệu (hệ thống đề xuất - recommendation system, tạo văn bản và hình ảnh, dự báo doanh số & nhu cầu - demand & sales forecasting, v.v.).

Các cách tiếp cận phổ biến nhất để giải quyết các vấn đề kinh doanh là supervised learning (học tập có giám sát) và generative AI (một số trang dịch là AI tạo sinh). Biểu đồ sau đây cho thấy mối quan hệ giữa các nhánh khác nhau của AI:

Generative AI là nội dung chính của bài viết này.

Các mô hình generative AI được đào tạo trên lượng lớn dữ liệu thô (raw data): văn bản, hình ảnh, âm thanh, video.

Ví dụ về các hệ thống generative AI:

  • ChatGPT: một chatbot đáp ứng các cuộc hội thoại bằng ngôn ngữ tự nhiên và có khả năng viết bài luận ở cấp độ đại học.
  • DALL·E 3: một hệ thống tạo hình ảnh dựa trên mô tả dạng văn bản.
  • Make-A-Video: một hệ thống tạo các video clip từ các mô tả bằng dạng văn bản ngắn.
  • GitHub Copilot: một hệ thống có thể tạo mã phần mềm từ các mô tả dạng văn bản.

Generative AI

Tại sao thời gian gần đây nó "nổi" đến thế?

Generative AI

Thuật ngữ Generative AI được tạo thành bởi 2 thứ: AI và Generative.

AI là một thuật ngữ thường được dùng để nói rằng chúng ta có một chương trình máy tính để thực hiện thay công việc mà con người thường làm.

Và, generative, nếu theo sát nghĩa đen của từ này, nó có nghĩa là "tạo ra nội dung, tổng hợp thông tin và cung cấp cho chúng ta nội dung mới"

Vậy nội dung mới này sẽ là gì?

Nó có thể là văn bản, code, âm thanh, video, hình ảnh

🤖
Như vậy, generative AI là một công cụ giúp tạo ra chương trình máy tính để tự động tạo ra các nội dung văn bản, code, âm thanh, video, hình ảnh thay công việc mà con người thường làm.

Thực chất, generative AI không phải là một khái niệm mới, nó đã tồn tại được một thời gian đủ dài rồi.

Các bạn chắc không xa lạ gì với công cụ Google Translate phải không? Google Translate lần đầu ra mắt vào ngày 28/4/2006, qua gần 19 năm chắc hẳn chúng ta cũng đã sử dụng công cụ này thường xuyên hơn, và đây là một ví dụ điển hình nhất về cái gọi là generative AI.

Ví dụ vui về Google Translate

Google Translate đã đồng hành cùng mọi người gần 19 năm qua, và không ai làm ầm lên rằng đây chính là ... Generative AI 🥹

Một ví dụ khác về Generative AI chính là trợ lý ảo Siri trên iPhone. Siri được ra mắt vào 2011, cũng 12 năm về trước và mọi người đón nhận nó một cách rất bình thản. Sau này chúng ta có thêm Amazon Alexa, cũng là generative AI.

Tiếp đến là ví dụ về chế độ soạn thảo thông minh trên Gmail - Smart Compose, nó cũng là generative AI.

Smart Compose trên Gmail, tương tự chế độ dự đoán từ khóa tìm kiếm trên Google Search

Tóm lại, generative AI vốn không mới, nó đã tồn tại hàng chục năm thông qua các nhà phát triển nổi tiếng. Như vậy chuyện gì đã xảy ra thời gian gần đây khiến từ khóa "Generative AI" xuất hiện khá phổ biến?

Lý do cũng rất đơn giản, vào tháng 11/2023 thì OpenAI đã công bố mẫu trí tuệ nhân tạo GPT-4 mới, mạnh mẽ hơn phiên bản trước trong sự kiện trực tiếp đầu tiên vào thứ Hai.

Tham khảo: https://www.forbes.com/sites/elijahclark/2023/11/09/openai-announces-gpt-4-turbo-ushering-in-a-new-era-of-ai/?sh=5d7ac9b22a3f

Thời điểm chatGPT ra mắt, nó chỉ mất 2 tháng để đạt đến mốc 100 triệu người dùng MAU (monthly active users)

chatGPT mất 2 tháng, Google Translate cần 78 tháng để đạt được 100 triệu MAU toàn cầu

Và tất nhiên, chatGPT là...generative AI.

Kiểm tra kiến thức

Generative AI có thể làm được gì?

Bài tập

Generative AI gần đây đã bắt đầu cho thấy những kết quả ấn tượng. Những đột phá này chủ yếu được nhìn thấy sau khi OpenAI phát hành GPT-3 vào năm 2020 và đỉnh điểm là GPT-4 vào năm 2023. Sự quan tâm rộng rãi đến generative AI đã xuất hiện vào thời điểm chatGPT ra mắt.

Câu hỏi 1: Bạn có đồng ý rằng Generative AI là một cách hiệu quả để giải quyết các vấn đề sau không?

Vấn đề 1: “Tạo một mô tả ngắn gọn về một cuốn sách dựa trên nội dung của nó.”

  • Không

Trả lời: . Bài toán tạo ra một văn bản mới (mô tả ngắn gọn) dựa trên nội dung của một cuốn sách rất phù hợp với khả năng của Generative AI.

Vấn đề 2: “Dự đoán sự rời đi của khách hàng trên trang Thương mại điện tử dựa trên dữ liệu về hành vi của họ trong 3 năm qua”

  • Không

Trả lời: Không. Đây là một vấn đề thuộc phạm vi xử lý của Supervised Learning (học tập có giám sát)

Vấn đề 3: "Tạo ra các khẩu hiệu (slogan) quảng cáo dựa trên mô tả sản phẩm của bạn"

  • Không

Trả lời: . Việc tạo ra văn bản mới dựa trên mô tả sản phẩm rất phù hợp với khả năng của Generative AI.

Vấn đề 3: "Dự báo nhu cầu bán hàng dựa trên lịch sử mua sắm của khách hàng"

  • Không

Trả lời: Không. Đây là một vấn đề thuộc phạm vi xử lý của Supervised Learning.

Vấn đề 4: "Tạo hình minh họa dựa trên nội dung của một cuốn sách."

  • Không

Trả lời: . Tất nhiên đây là khả năng của Generative AI.

Vấn đề 5: "Xác định khả năng bị viêm phổi thông qua ảnh chụp X-quang ngực. "

  • Không

Trả lời: Không. Đây là một vấn đề thuộc phạm vi xử lý của Supervised Learning.

Câu hỏi 2: Định nghĩa nào sau đây là phù hợp nhất về Generative AI?

  • Nó là ChatGPT
  • Nó là AI dự đoán các từ tiếp theo dựa trên nguồn dữ liệu trên internet
  • Nó là AI có khả năng tạo văn bản chất lượng cao
  • Nó là AI có khả năng tạo nội dung chất lượng cao (văn bản, hình ảnh, âm thanh, video, code) cho một yêu cầu cụ thể

Trả lời: Nó là AI có khả năng tạo nội dung chất lượng cao (văn bản, hình ảnh, âm thanh, video, code) cho một yêu cầu cụ thể.

Large language models (LLMs)

Chúng ta đã thảo luận về Generative AI, hãy nói về LLM – mô hình ngôn ngữ lớn.

Mô hình ngôn ngữ lớn (LLM) là thuật toán trí tuệ nhân tạo (AI) được đào tạo trên một lượng lớn dữ liệu văn bản với hàng tỷ tham số để sinh ra ngôn ngữ tự nhiên (nôm na là tạo văn bản) . Những mô hình này ngày càng trở nên phổ biến vì chúng có thể tạo ra các văn bản có vẻ trông giống như do con người viết ra.

Trong phạm vi của bài viết, chúng ta chỉ cần quan tâm đến sự khác biệt của LLM và Generative AI và cách LLM được ứng dụng.

💡
Lớn (Large) là vì nó được đào tạo dựa trên lượng dữ liệu khổng lồ là văn bản với hàng tỷ tham số. Như GPT-3 có 175 tỷ tham số.
LLMs và Generative AI là những khái niệm có liên quan nhưng có sự khác biệt rõ rệt về ứng dụng của chúng. Ảnh tạo bởi Copilot, một Generative AI.

Hãy cùng khám phá cách LLM hoạt động và những vấn đề chúng có thể giải quyết.

LLM rất phù hợp cho các nhu cầu làm việc với văn bản:

Khả năng của LLM

Mô hình ngôn ngữ lớn hoạt động như thế nào

Dưới đây là thuật toán đơn giản hóa cho thấy cách LLM hoạt động:

  • Mô hình nhận được một văn bản làm đầu vào.
  • Mô hình cố gắng tạo ra từ tiếp theo phù hợp nhất.
  • Sau đó, từ vừa được tạo sẽ được thêm vào văn bản ban đầu và đưa trở lại mô hình. Một lần nữa, mô hình sẽ cố gắng tạo ra từ tiếp theo phù hợp nhất.
  • Và như thế lặp lại tiến trình.

Dưới đây là một ví dụ về hoạt động của một mô hình ngôn ngữ lớn, lấy đoạn text sau "Đánh giá của người dùng" làm đầu vào. Mô hình sẽ tạo từ tiếp theo dựa trên đầu vào và lặp lại quy trình.

Ví dụ về việc LLM tạo ra từ ngữ tiếp theo

Nghĩa là, đối với yêu cầu đầu vào "Đánh giá của người dùng", mô hình tạo ra từ "thì" là từ tiếp theo phù hợp nhất. Khi mô hình lấy thông tin đầu vào là "Đánh giá của người dùng thì" làm từ đầu vào, mô hình sẽ phản hồi bằng từ "rất quan trọng" làm từ tiếp theo.

LLM sử dụng quy trình này để tạo ra “sự tiếp nối có ý nghĩa” của đầu vào ban đầu. Đối với người dùng như chúng ta, câu trả lời "có vẻ" mạch lạc. Nhưng trên thực tế, LLM không thực sự “hiểu” văn bản - nó chỉ dự đoán từ tiếp theo.

Khi nào thì vấn đề có thể được giải quyết bằng LLM?

Để xác định xem LLM có phù hợp với một vấn đề nhất định hay không, hãy đặt câu hỏi sau:

Một thực tập sinh vừa mới tốt nghiệp đại học có thể giải quyết vấn đề của công ty bằng cách sử dụng hướng dẫn chi tiết từ cấp trên không?”

Nếu có, hãy thử nghiệm với LLM.

Kiểm tra kiến thức

Tôi nên hiểu LLM ở mức độ nào?

Sử dụng framework trên để trả lời các câu hỏi sau.

Câu hỏi 1: "LLM có phù hợp để tóm tắt lịch sử khám bệnh của bệnh nhân tại phòng khám không?"

  • Không

Trả lời: Có thể. Một sinh viên tốt nghiệp đại học được cung cấp các hướng dẫn chi tiết về các bước tạo bản tóm tắt về tiền sử bệnh sẽ có thể giải quyết được vấn đềtrên. Do đó, việc thử nghiệm các mô hình ngôn ngữ lớn trong trường hợp này hoàn toàn hợp lý.

Câu hỏi 2: "LLM có phù hợp để tìm các tuyến đường tối ưu cho dịch vụ giao hàng, bao gồm vài chục phương tiện và phục vụ hơn 10 kho và địa điểm trung chuyển không?

  • Không

Trả lời: Không. Bài toán này đòi hỏi kiến thức chuyên môn và các thuật toán chuyên dụng. Kiến thức của một thực tập sinh sẽ không đủ, vì vậy áp dụng LLM là phương án không khả thi.

Câu hỏi 3: "Điều nào sau đây là mô tả đúng nhất về công việc của LLM?"

  • Mô hình chọn tuần tự từ tiếp theo cho các nội dung đầu vào một cách ngẫu nhiên.
  • Mô hình tuần tự tạo ra từ thích hợp tiếp theo cho nội dung đầu vào.
  • Mô hình dự đoán từ tiếp theo cho nội dung đầu vào chỉ một lần.

Trả lời: Mô hình tuần tự tạo ra từ thích hợp tiếp theo cho nội dung đầu vào. Thực tế tất cả các đáp án đều đúng theo một nghĩa nào đó, nhưng việc tạo ra từ ngữ tuần tự phần nào nói lên công việc mà LLM đảm nhiệm.

Prompt engineering

Phương pháp giao tiếp với LLM

Prompt - công cụ chính để kiểm soát LLM

Prompt được hiểu đơn giản là các gợi ý dưới dạng văn bản theo ngôn ngữ tự nhiên. Các đoạn văn bản được đưa vào LLM được gọi là prompt.

Prompt dịch sang tiếng Việt nghĩa là "lời nhắc". Từ đồng nghĩa của prompt là coach, có nghĩa là "huấn luyện"

Nói cách khác, prompt nó là một câu lệnh. Câu lệnh ở đây chẳng qua là cách chúng ta viết, nói theo ngôn ngữ tự nhiên hàng ngày.

LLM tạo ra phản hồi dựa trên các lời nhắc, các câu lệnh của bạn. Do đó, bằng cách thay đổi và tối ưu hóa cách bạn viết, bạn có thể cải thiện phản hồi của mô hình.

Một điểm cũng quan trọng không kém, đó là vì chúng ta đưa ra gợi ý nhưng có thể phản hồi của mô hình kém quá, dẫn đến chúng ta phải "sửa", "nhắc" mô hình chỉnh đốn lại cách phản hồi. Vì vậy mà từ prompt ra đời.

Prompt Engineering là gì?

Prompt Engineering là quá trình giao tiếp để mô hình generative AI có thể hiểu và diễn giải, nhằm tạo ra kết quả mong muốn.

Giao tiếp bằng cách nào? Con người chúng ta giao tiếp bằng cách suy nghĩ và nói ra bằng miệng, hoặc bằng ngôn ngữ cơ thể như chân, tay, mắt. Với LLM hay mô hình Generative AI, chúng ta sẽ sử dụng Prompt.

Còn nói đơn giản hơn, đây là quá trình đưa ra gợi ý để LLM trả lời chúng ta một cách "hợp tình, hợp lý" và "đầy đủ ý nghĩa"

Dưới đây là thuật toán cơ bản của Prompt Engineering:

  • Bước 1: Xây dựng gợi ý ban đầu.
  • Bước 2: Chạy gợi ý với một tập hợp các ví dụ mẫu.
  • Bước 3: Phân tích lỗi.
  • Bước 4: Cải thiện gợi ý dựa trên phân tích lỗi và lặp lại từ bước 2.

Bạn nên lặp lại chu trình và tinh chỉnh câu lệnh (gợi ý) cho đến khi phản hồi đạt được chất lượng cần thiết, mang tính "hợp tình, hợp lý"

Ví dụ trên các prompt

Sau đây tôi sẽ ví dụ 3 câu lệnh prompt với 3 cấu trúc khác nhau, sử dụng Copilot Generative AI

Prompt 1:

Bạn cần soạn một thông báo đầy tính cảm hứng về tính năng mới của ứng dụng tạo lịch đọc sách cá nhân.

Kết quả phản hồi:

Phản hồi của Prompt 1

Prompt 2:

Bạn có trách nhiệm viết thông báo cho một hiệu sách trực tuyến.
Viết một thông báo hấp dẫn về tính năng mới của ứng dụng: cho phép người đọc tạo kế hoạch đọc sách cá nhân. Thông báo phải ngắn gọn, không dài quá ba đoạn , mỗi đoạn không quá hai câu.
Bắt đầu thông báo bằng cách nêu bật những lợi ích của việc đọc sách thường xuyên, sau đó giới thiệu tính năng mới và kết thúc bằng lời kêu gọi hành động khuyến khích mua tính năng này.
Vui lòng làm theo các hướng dẫn này từng bước một.

Kết quả phản hồi:

Prompt 3:

Bạn có trách nhiệm viết thông báo cho một hiệu sách trực tuyến.

Viết một thông báo hấp dẫn về tính năng mới của ứng dụng: tạo kế hoạch đọc sách cá nhân.

Giải quyết yêu cầu này từng bước một.

Kết quả phản hồi: Giống phản hồi của prompt 3.

Những kết luận nào có thể được rút ra từ các thí nghiệm với 3 gợi ý này?

Đáp án: Prompt với hướng dẫn chi tiết hơn sẽ tạo ra kết quả tốt hơn.

Cho mô hình "thời gian để suy nghĩ"

Cần kiểm tra tính hữu ích của các gợi ý đối với từng vấn đề cụ thể; có lẽ không có quy tắc chung nào cho việc đưa ra các gợi ý, nhưng chúng ta có thể viết câu lệnh càng chi tiết thì mô hình sẽ phản hồi "thực hơn"

Bằng cách này, mô hình sẽ có thêm thời gian để suy nghĩ và đưa ra câu trả lời thuyết phục hơn.

Một câu trả lời ngô nghê của ChatGPT 😂

Tham khảo

What Is ChatGPT Doing … and Why Does It Work?
Stephen Wolfram explores the broader picture of what’s going on inside ChatGPT and why it produces meaningful text. Discusses models, training neural nets, embeddings, tokens, transformers, language syntax.
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
A new tool that blends your everyday work apps into one. It’s the all-in-one workspace for you and your team
ChatGPT Prompt Engineering for Developers
What you’ll learn in this course In ChatGPT Prompt Engineering for Developers, you will learn how to use a large language model (LLM) to quickly build new and powerful applications. Using the OpenAI API, you’ll…
Prompt Engineering Guide – Nextra
A Comprehensive Overview of Prompt Engineering