Một bài viết khá hay mình đọc được trên blog của Huyen Chip, xin phép dịch lại để chia sẻ với mọi người, danh xưng “tôi” trong bài viết là tác giả Huyen Chip
Lưu
Series bài viết: Xây dựng ứng dụng với các mô hình ngôn ngữ lớn LLMs
Bài viết này bao gồm 3 phần:
- Phần 1 sẽ thảo luận về những thách thức trong việc triển khai một ứng dựng LLM và những phương án giải quyết tôi từng thấy
- Phần 2 sẽ thảo luận về việc làm cách nào để xây dựng đa chức năng với những luồng điều khiển khác nhau (như câu lệnh if hay vòng lặp for) và tích hợp các công cụ (như thực thi SQL, bash, trình duyệt webs, API bên thứ 3) và nhiều thứ phức tạp và mạnh mẽ hơn nữa vào ứng dụng của bạn.
- Phần 3 sẽ bao gồm một vài sản phẩm tiềm năng mà tôi đã thấy các công ty khác xây dựng dựa trên LLMs và cách để xây dựng chúng từ cũng chức năng nhỏ hơn
Trên Internet đã tràn ngập các demo ứng dụng tuyệt vời được xây dựng bằng LLMs. Dưới đây là một số ứng dụng phổ biến và hứa hẹn mà tôi đã thấy, và tôi chắc chắn rằng tôi đang bỏ sót rất nhiều.
Để có thêm ý tưởng, hãy xem các dự án từ hai cuộc thi hackathon mà tôi đã thấy:
- GPT-4 Hackathon Code Results [Mar 25, 2023]
- Langchain / Gen Mo Hackathon [Feb 25, 2023]
Trợ lý AI – AI assistant
Đây là một trong những ứng dụng phổ biến nhất cho người dùng cá nhân. Có rất nhiều các trợ lý trí tuệ nhân tạo được xây dựng cho các mục đích khác nhau dành cho các nhóm người dùng khác nhau – trợ lý trí tuệ nhân tạo giúp lên lịch, ghi chú, hỗ trợ lập trình song hành, trả lời email, giúp đỡ công việc chăm sóc trẻ em, đặt chỗ, đặt vé máy bay, mua sắm, v.v. – nhưng tất nhiên, mục tiêu cuối cùng là một trợ lý có thể hỗ trợ bạn trong mọi việc.
Điều này cũng là một câu thần chú mà tất cả các công ty lớn đều đang làm việc trong nhiều năm qua: Google với Google Assistant và Bard, Facebook với M và Blender, OpenAI (và theo mở rộng, Microsoft) với ChatGPT. Quora, một mạng xã hội có rất nhiều nguy cơ bị thay thế bằng trí tuệ nhân tạo, đã phát hành ứng dụng riêng của họ là Poe, cho phép bạn trò chuyện với nhiều LLM khác nhau. Tôi ngạc nhiên là tại sao Apple và Amazon chưa tham gia cuộc đua này.
Chatbot
Chatbot cũng giống như trợ lý trí tuệ nhân tạo, trên phương diện API. Nếu mục tiêu của trợ lý trí tuệ nhân tạo là thực hiện các nhiệm vụ được giao bởi người dùng, thì mục tiêu của chatbot là trở thành một người bạn đồng hành hơn. Ví dụ, bạn có thể có chatbot nói chuyện giống như người nổi tiếng, nhân vật trong trò chơi/phim/sách, doanh nhân, tác giả, v.v.
Michelle Huang đã sử dụng các trích dẫn từ nhật ký tuổi thơ của mình làm một phần của đề bài giao cho GPT-3 để trò chuyện với bản thân trong quá khứ.
Công ty thú vị nhất trong lĩnh vực chatbot dành cho người dùng chắc chắn là Character.ai. Đó là một nền tảng cho phép mọi người tạo và chia sẻ các chatbot. Loại chatbot phổ biến nhất trên nền tảng này, như bạn đã viết, là nhân vật anime và game, nhưng bạn cũng có thể trò chuyện với một nhà tâm lý học, một trợ lý lập trình song hành hoặc đối tác luyện ngoại ngữ. Bạn có thể trò chuyện, đóng vai, vẽ tranh, chơi các trò chơi dựa trên văn bản (như AI Dungeon) và thậm chí kích hoạt giọng nói cho các nhân vật. Tôi đã thử một số chatbot phổ biến – không có chatbot nào có vẻ có khả năng duy trì một cuộc trò chuyện, nhưng chúng ta chỉ mới ở khởi đầu, và mọi thứ có thể trở nên thú vị hơn nếu có một mô hình chia sẻ doanh thu để nhà tạo chatbot cũng được trả tiền.
Lập trình và Gaming
Đây cũng là một danh mục những ứng dụng LLM phổ biến khác, vì LLMs được biết đến là cực kỳ xuất sắc trong việc viết và gỡ lỗi mã nguồn. GitHub Copilot là một nhà tiên phong (VSCode extension của họ đã có 5 triệu lượt tải về tính đến thời điểm hiện tại). Có các demo rất thú vị về việc sử dụng LLMs để viết code:
- Tạo ứng dụng web từ ngôn ngữ tự nhiên.
- Phát hiện các mối đe dọa về bảo mật: Socket AI kiểm tra các gói npm và PyPI trong mã nguồn của bạn để phát hiện các mối đe dọa về bảo mật. Khi phát hiện vấn đề tiềm năng, họ sử dụng ChatGPT để tóm tắt các kết quả.
- Trò chơi:
- Tạo game: ví dụ như Wyatt Cheng đã có một video tuyệt vời chỉ ra cách anh ấy sử dụng ChatGPT để tạo ra một phiên bản trò chơi Flappy Bird.
- Tạo nhân vật trong game.
- Trò chuyện với các nhân vật trong trò chơi: hãy xem bản demo này từ Convai!
Học tập
1 lần ChatGPT gặp sự cố, kênh Discord của OpenAI tràn ngập những sinh viên phàn nàn về việc không thể hoàn thành bài tập về nhà. Một vài người muốn cấm hoàn toàn việc sử dụng ChatGPT trong trường học, một số người có ý tưởng tốt hơn: làm thế nào để tích hợp ChatGPT để giúp học sinh học nhanh hơn. Tất cả các công ty EdTech mà tôi biết đều đang tận tâm khám phá tiềm năng của ChatGPT.
Một số ứng dụng:
- Tóm tắt sách
- Tự động tạo câu hỏi để đảm bảo học sinh hiểu một cuốn sách hoặc một bài giảng. ChatGPT không chỉ có thể tạo ra câu hỏi, mà nó còn có thể đánh giá xem câu trả lời của học sinh có chính xác không.
- Tôi đã thử và ChatGPT có vẻ khá tốt trong việc tạo câu hỏi cho cuốn Designing Machine Learning Systems. Tôi sẽ sớm công bố các bài kiểm tra được tạo ra!
- Chấm điểm / đưa ra phản hồi cho bài luận
- Hướng dẫn giải quyết bài toán toán học
- Cùng tranh luận: ChatGPT rất giỏi trong việc tham gia các bên tranh luận khác nhau về cùng một chủ đề.
Với sự gia tăng của hình thức giảng dạy tại nhà, tôi dự đoán sẽ có rất nhiều ứng dụng của ChatGPT để giúp các bậc cha mẹ tự giáo dục con cái của họ.
“Nói chuyện” với Dữ liệu
Cái này, dựa trên quan sát của tôi, là ứng dụng doanh nghiệp phổ biến nhất (cho đến nay). Rất nhiều startup đang xây dựng các công cụ cho phép người dùng doanh nghiệp truy vấn dữ liệu và chính sách nội bộ bằng ngôn ngữ tự nhiên hoặc theo cách hỏi và trả lời. Một số tập trung vào các lĩnh vực như hợp đồng pháp lý, hồ sơ cá nhân, dữ liệu tài chính hoặc hỗ trợ khách hàng. Dựa trên tài liệu, chính sách và câu hỏi thường gặp của một công ty, bạn có thể xây dựng một chatbot có thể phản hồi yêu cầu hỗ trợ từ khách hàng.
Phương pháp chính để thực hiện ứng dụng này thường bao gồm 4 bước:
- Tổ chức dữ liệu nội bộ thành một cơ sở dữ liệu (cơ sở dữ liệu SQL, cơ sở dữ liệu đồ thị, cơ sở dữ liệu nhúng/vector hoặc chỉ đơn giản là cơ sở dữ liệu văn bản).
- Cho một đầu vào bằng ngôn ngữ tự nhiên, chuyển đổi nó thành ngôn ngữ truy vấn của cơ sở dữ liệu nội bộ. Ví dụ, nếu đó là cơ sở dữ liệu SQL hoặc Graph, bạn có thể trả về một câu truy vấn SQL. Nếu đó là cơ sở dữ liệu vector, bạn chỉ cần trả về một câu truy vấn lấy gần đúng nhất (ANN – approximate nearest neighbor). Nếu đó chỉ là văn bản thuần túy, quá trình này có thể trích xuất một câu truy vấn tìm kiếm.
- Thực thi câu truy vấn trong cơ sở dữ liệu để nhận kết quả truy vấn.
- Dịch kết quả trả về này thành ngôn ngữ tự nhiên và phản hồi cho user.
Dù điều này tạo ra nhiều sản phẩm thú vị, tôi không chắc rằng liệu nó có chỗ đứng hay không. Tôi đã thấy các startup xây dựng ứng dụng để cho phép người dùng truy vấn dữ liệu dựa trên các cơ sở dữ liệu như Google Drive hay Notion, và có vẻ như đó chỉ là một tính năng mà Google Drive hoặc Notion có thể triển khai trong vòng một tuần.
OpenAI cũng đã có một bài hướng dẫn khá tốt về “cách trò chuyện với cơ sở dữ liệu vector của bạn”.
LLMs phân tích dữ liệu giùm tui luôn được không?
Tôi đã thử nhập một số dữ liệu vào gpt-3.5-turbo và có vẻ như nó có thể phát hiện được một số đặc tính. Tuy nhiên, điều này chỉ hoạt động với dữ liệu nhỏ giới hạn trong câu hỏi đầu vào. Hầu hết những cơ sở dữ liệu đều lớn hơn rất nhiều.
Tìm kiếm và khuyến nghị
Tìm kiếm và khuyến nghị luôn là miếng bánh mì bơ đường được sử dụng trong các doanh nghiệp. Hiện nay, với sự phát triển của LLMs, lĩnh vực này đang ở trong một cuộc phục hưng. Tìm kiếm trước đây chủ yếu dựa trên từ khóa: bạn cần một cái lều, bạn tìm kiếm một cái lều. Nhưng nếu bạn chưa biết bạn cần gì? Ví dụ, nếu bạn đi cắm trại trong rừng ở Oregon vào tháng 11, bạn có thể làm như sau:
- Tìm kiếm để đọc về những kinh nghiệm của những người khác.
- Đọc những bài đăng blog đó và rút trích thủ công danh sách các thứ bạn cần.
- Tìm kiếm từng mục này, trên Google hoặc các trang web khác.
Nếu bạn tìm kiếm “things you need for camping in Oregon in November” trực tiếp trên Amazon hoặc bất kỳ trang web thương mại điện tử nào, bạn sẽ nhận được kết quả như sau:
Nhưng hãy tưởng tượng nếu bạn tìm kiếm “things you need for camping in Oregon in November” trên Amazon và nó trả về cho bạn một danh sách những vật phẩm bạn cần cho chuyến cắm trại của bạn.
Điều đó hoàn toàn có thể xảy ra với LLMs ngày nay. Ví dụ, ứng dụng có thể được chia thành các bước sau:
- Bước 1: Chuyển đổi truy vấn của người dùng thành một danh sách tên sản phẩm [LLM]
- Bước 2: Đối với mỗi tên sản phẩm trong danh sách, truy xuất các sản phẩm liên quan từ danh mục sản phẩm của bạn.
Nếu điều này thành công, tôi nghĩ có khi chúng ta có thể có LLM SEO: các kỹ thuật để làm cho sản phẩm của bạn được khuyến nghị bởi LLMs.
Thương mại
Cách sử dụng rõ ràng nhất của LLMs cho mục đích thương mại là viết email bán hàng. Nhưng không ai thực sự muốn viết thêm email bán hàng hoặc viết email bán hàng tốt hơn. Tuy nhiên, một số công ty tôi biết đang sử dụng LLMs để tổng hợp thông tin về công ty để xem họ cần gì.
SEO
SEO sắp trở nên cực kỳ kỳ quặc. Nhiều công ty hiện nay dựa vào việc tạo ra nhiều nội dung hy vọng đạt thứ hạng cao trên Google. Tuy nhiên, với việc LLMs thực sự giỏi trong việc tạo ra nội dung, và tôi đã biết một số startup cung cấp dịch vụ tạo ra nội dung tối ưu SEO cho bất kỳ từ khóa nào, các công cụ tìm kiếm sẽ đứng trước nguy cơ bị tràn lan những content như vậy. SEO có thể trở thành một trò chơi như mèo vờn chuột: các công cụ tìm kiếm tạo ra các thuật toán mới để phát hiện nội dung được tạo bởi trí tuệ nhân tạo, và các công ty ngày càng giỏi hơn trong việc vượt qua các thuật toán này. Con người cũng có thể dựa ít hơn vào việc tìm kiếm và tin nhiều hơn vào các thương hiệu (ví dụ: chỉ tin tưởng nội dung được tạo ra bởi một số người hoặc công ty cụ thể).
Và thậm chí chúng ta chưa đề cập đến SEO cho LLMs: làm thế nào để chèn nội dung của bạn vào các phản hồi của LLMs!!
Tổng kết
Chúng ta vẫn đang ở giai đoạn đầu của các ứng dụng của LLMs – nhưng dường như mọi thứ đang phát triển rất nhanh chóng. Gần đây tôi đã đọc một cuốn sách về LLMs, và suy nghĩ đầu tiên của tôi là: hầu hết những điều này sẽ lỗi thời chỉ trong một tháng. Các giao diện lập trình ứng dụng (API) đang thay đổi từng ngày. Các ứng dụng mới đang được tạo ra. Nền tảng hạ tầng đang được tối ưu một cách quyết liệt. Chi phí và độ trễ cũng phải được tối ưu mỗi tuần. Các thuật ngữ mới thì xuất hiện ngày một nhiều.
Không phải tất cả các những thay đổi này đều quan trọng. Ví dụ, nhiều bài báo về kỹ thuật tạo prompt (prompt engineering) khiến tôi nhớ đến những ngày đầu của học sâu (deep learning) khi có hàng nghìn bài báo mô tả các cách khác nhau để khởi tạo trọng số. Tôi tưởng tượng rằng các thủ thuật để điều chỉnh prompt như: “Trả lời chính xác”, “Tôi muốn bạn hành xử như …”, viết “question: ” thay vì “q:” sẽ không quan trọng trong dài hạn.
Và với việc LLMs có vẻ khá giỏi trong việc viết prompt cho chính chúng – xem Large Language Models Are Human-Level Prompt Engineers (Zhou et al., 2022) – ai biết chúng ta sẽ cần con người để prompt engineering nữa hay không?
Tuy nhiên, với nhiều điều đang diễn ra như vậy, khó để biết điều nào quan trọng và điều nào không.
Gần đây tôi đã hỏi trên LinkedIn làm thế nào mọi người cập nhật kiến thức về lĩnh vực này, tôi nhận được mọi loại ý kiến từ “mackeno” cho tới “cố gắng thử tất cả mọi thứ”
- Mặc kệ (hầu hết) những thứ “phong trào”
- Vicki Boykis (Senior ML Engineer tại Duo Security): Tôi làm điều tương tự như với bất kỳ framework mới nào: tôi đọc lướt qua tin tức, bỏ qua hầu hết những gì liên quan tới nó và chờ sáu tháng sau để xem những gì còn được nhắc tới. Những điều quan trọng vẫn sẽ tồn tại và sẽ có nhiều bài báo khảo sát triển khai đã được xác minh giúp xác định tình hình của nó như thế nào rồi.
- Chỉ xem tóm tắt
- Shashank Chaurasia (Engineer tại Microsoft): Tôi sử dụng chế độ Creative của BingChat để tóm tắt nhanh các bài viết, blog và bài báo nghiên cứu mới liên quan đến Gen AI! Thường tôi xem các bài báo nghiên cứu và kho lưu trữ github để hiểu rõ các chi tiết.
- Cố gắng cập nhật với các công cụ mới nhất
- Chris Alexiuk (Founding ML Engineer tại Ox): Tôi chỉ cố gắng xây dựng với mỗi công cụ khi chúng ra mắt – như vậy, khi bước tiếp theo xuất hiện, tôi chỉ tập trung vào sự khác biệt.
Vây, Chiến lược của bạn khi tìm hiểu về Large Language Model là gì?
Vài dòng kết:
Series bài viết khá hay và cập nhật những kiến thức quan trọng về LLM, sau khi đọc xong bài của chị Huyen Chip, mình đã có một số hiểu biết nhất định và có khả năng xây dựng cũng như có ý tưởng về một số ứng dụng LLM tự build cho bản thân. Mình dịch lại bài viết này hi vọng các bạn có thể tiếp cận và có một trải nghiệm tương tự!
Lưu
Series Bài viết:
2 Responses
[…] Next (Huyen Chip) Large Language Model : Những ứng dụng tiềm năng – Phần 3/3 […]
[…] (Huyen Chip) Large Language Model : Những ứng dụng tiềm năng – Phần 3/3 […]