Lợi ích và giới hạn của mô hình ngôn ngữ lớn

Ngày phát hành: 13 tháng 1 năm 2024

Đây là phần đầu tiên trong loạt bài gồm 3 phần về LLM và chatbot. Phần 2 về việc tạo chatbot bằng WebLLM và phần 3 về việc sử dụng Prompt API đã ra mắt.

Mô hình ngôn ngữ lớn (LLM) đang trở thành một thành phần quan trọng trong quá trình phát triển phần mềm: LLM phù hợp để tạo và xử lý văn bản ngôn ngữ tự nhiên, mở ra các trường hợp sử dụng như trích xuất dữ liệu, tóm tắt hoặc hỗ trợ các cuộc trò chuyện bằng dữ liệu người dùng.

Trong loạt bài này, tôi sẽ thảo luận về các lợi ích và hạn chế của LLM trên thiết bị, đồng thời hướng dẫn bạn thêm các tính năng chatbot vào một ứng dụng hiện có bằng cách sử dụng hai phương pháp cục bộ và có thể dùng khi không có mạng, đó là WebLLM thời gian chạy LLM dựa trên web và Prompt API thử nghiệm của Chrome.

Gợi ý một số cách sử dụng

Ứng dụng trước khi thêm chatbot.
Ứng dụng danh sách việc cần làm của chúng tôi.

Chúng ta sẽ xây dựng một chatbot dựa trên ứng dụng danh sách việc cần làm cổ điển. Bạn có thể xem mã nguồn cho từng bước trên GitHub. Người dùng có thể thêm việc cần làm mới, đánh dấu là đã hoàn thành và xoá các việc cần làm đó.

Bạn có thể muốn thêm một tính năng để người dùng tìm hiểu thêm về dữ liệu danh sách việc cần làm hoặc thực hiện các chức năng bổ sung. Tính năng chatbot có thể cho phép người dùng:

  • Hỏi về số lượng công việc đang mở.
  • Xác định các việc cần làm trùng lặp hoặc rất giống nhau.
  • Phân loại việc cần làm thành các nhóm.
  • Nhận đề xuất cho các việc cần làm mới dựa trên những việc cần làm đã hoàn thành.
  • Dịch việc cần làm sang nhiều ngôn ngữ.
  • Xuất danh sách việc cần làm ở định dạng XML.

Đây chỉ là một vài ví dụ về những tác vụ mà LLM có thể xử lý.

Mô hình ngôn ngữ lớn là gì?

LLM là các mạng nơron nhân tạo xử lý và tạo văn bản bằng ngôn ngữ tự nhiên. Hầu hết các LLM hiện tại đều dựa trên cấu trúc Transformer do Google phát triển. Ví dụ: mô hình Gemini và Gemma của Google, loạt mô hình GPT của OpenAI và các mô hình nguồn mở, chẳng hạn như LLaMa của Meta AI và Mistral của Mistral AI.

Nhờ được huấn luyện trên một lượng lớn dữ liệu, LLM có một loạt tính năng ấn tượng. Các bot này hiểu nhiều ngôn ngữ, có kiến thức về thông tin thú vị, có thể dịch giữa các ngôn ngữ hoặc tạo mã lập trình. Mức độ của các chức năng này có thể thay đổi đáng kể dựa trên kích thước của mô hình, như đã thảo luận trong phần Tìm hiểu về kích thước LLM.

LLM dẫn đến sự thay đổi về mô hình trong cấu trúc phần mềm, vì ngôn ngữ tự nhiên hiện đã trở thành một tính năng cốt lõi trong kỹ thuật phần mềm. Thay vì gọi API bằng các giao diện được xác định rõ ràng, bạn chỉ cần thể hiện ý định bằng ngôn ngữ tự nhiên trong một lời nhắc được gọi là lời nhắc.

Hạn chế của LLM

LLM cũng có một số hạn chế nhất định:

  • Hành vi không xác định: LLM có thể tạo ra nhiều phản hồi khác nhau và đôi khi còn trái ngược với cùng một câu lệnh, vì đầu ra của chúng phụ thuộc vào các mô hình xác suất thay vì các quy tắc cố định.
  • Ảo tưởng: Đôi khi, các mô hình này có thể tạo ra thông tin không chính xác hoặc vô nghĩa, dựa vào các mẫu đã học được thay vì độ chính xác về mặt thực tế.
  • Chèn lời nhắc: LLM có thể dễ bị tấn công chèn lời nhắc, trong đó người dùng tạo lời nhắc đầu vào để thao túng mô hình nhằm làm sai lệch chức năng dự kiến hoặc tạo ra kết quả không mong muốn.

Do đó, người dùng phải xác minh kết quả do LLM tạo ra trước khi thực hiện bất kỳ hành động nào.

Khi xử lý LLM trên thiết bị, bạn phải cân nhắc kích thước của các LLM đó. Các tệp này có kích thước vài GB và phải được tải xuống thiết bị của người dùng trước khi sử dụng lần đầu. Các mô hình nhỏ hơn thường đạt được phản hồi chất lượng thấp hơn, đặc biệt là khi so sánh với các mô hình được hỗ trợ trên đám mây.

Chọn giải pháp cục bộ

Ý định đầu tiên của bạn khi tích hợp LLM vào ứng dụng web có thể là sử dụng nhà cung cấp dịch vụ đám mây. Có nhiều nhà cung cấp cung cấp LLM chất lượng cao, một số trong đó chỉ dành riêng cho một số nhà cung cấp. LLM dựa trên đám mây cung cấp tốc độ suy luận nhanh với chi phí hợp lý, thường được tính theo mỗi mã thông báo được xử lý.

Ngược lại, các giải pháp cục bộ lại có những lợi thế hấp dẫn. Bằng cách hoạt động trực tiếp trên thiết bị của người dùng, LLM được lưu trữ cục bộ sẽ cung cấp thời gian phản hồi đáng tin cậy hơn, vẫn có thể truy cập được ngay cả khi người dùng không có mạng và không yêu cầu nhà phát triển trả phí thuê bao hoặc các chi phí liên tục khác. Đáng chú ý là các tính năng này có thể nâng cao đáng kể sự an toàn của người dùng. Bằng cách lưu giữ tất cả hoạt động trên thiết bị, bạn có thể tránh truyền thông tin nhận dạng cá nhân (PII) đến các nhà cung cấp hoặc khu vực bên ngoài.

Bản thu thử

Bạn có thể xem các bản minh hoạ đã hoàn thiện có chức năng chatbot trước khi tìm hiểu cách tự tạo chatbot.

Tiếp theo, bạn sẽ sử dụng WebLLM để thêm chatbot vào ứng dụng danh sách việc cần làm.