1. Trước khi bắt đầu
Một trong những bước đột phá thú vị nhất của công nghệ học máy gần đây là Mô hình ngôn ngữ lớn (LLM). Những công cụ này có thể được dùng để tạo văn bản, dịch ngôn ngữ và trả lời câu hỏi một cách toàn diện và cung cấp nhiều thông tin. Các LLM (chẳng hạn như Google LaMDA và PaLM) được huấn luyện dựa trên lượng lớn dữ liệu văn bản. Nhờ đó, chúng có thể học các mẫu thống kê cũng như mối quan hệ giữa các từ và cụm từ. Điều này cho phép họ tạo văn bản giống với văn bản do con người viết và dịch ngôn ngữ với độ chính xác cao.
Các LLM rất lớn về dung lượng lưu trữ và thường tiêu tốn nhiều công suất điện toán để chạy. Điều này có nghĩa là các LLM này thường được triển khai trên đám mây và là vấn đề khá khó khăn với công nghệ Học máy trên thiết bị (ODML) do sức mạnh tính toán hạn chế trên thiết bị di động. Tuy nhiên, bạn có thể chạy các LLM ở quy mô nhỏ hơn (ví dụ: GPT-2) trên một thiết bị Android hiện đại mà vẫn đạt được kết quả ấn tượng.
Dưới đây là bản minh hoạ cách chạy phiên bản mô hình Google PaLM với 1,5 tỷ thông số trên Google Pixel 7 Pro mà không cần tăng tốc độ phát.
Trong lớp học lập trình này, bạn sẽ tìm hiểu các kỹ thuật và công cụ để xây dựng một ứng dụng hỗ trợ LLM (sử dụng GPT-2 làm mô hình mẫu) với:
- KerasNLP để tải một mô hình ngôn ngữ lớn (LLM) được huấn luyện trước
- KerasNLP để tinh chỉnh một mô hình ngôn ngữ lớn (LLM)
- TensorFlow Lite nhằm chuyển đổi, tối ưu hoá và triển khai LLM trên Android
Điều kiện tiên quyết
- Kiến thức trung cấp về Keras và TensorFlow Lite
- Kiến thức cơ bản về phát triển Android
Kiến thức bạn sẽ học được
- Cách sử dụng KerasNLP để tải một mô hình ngôn ngữ lớn (LLM) được huấn luyện trước và tinh chỉnh mô hình này
- Cách định lượng và chuyển đổi mô hình ngôn ngữ lớn (LLM) sang TensorFlow Lite
- Cách chạy suy luận trên mô hình TensorFlow Lite đã chuyển đổi
Bạn cần có
- Quyền truy cập vào Colab
- Phiên bản mới nhất của Android Studio
- Một thiết bị Android hiện đại có RAM hơn 4 GB
2. Bắt đầu thiết lập
Cách tải mã nguồn cho lớp học lập trình này:
- Chuyển đến kho lưu trữ GitHub cho lớp học lập trình này.
- Nhấp vào Mã > Tải tệp zip xuống để tải tất cả mã nguồn cho lớp học lập trình này.
- Giải nén tệp zip đã tải xuống để giải nén thư mục gốc
examples
chứa tất cả tài nguyên bạn cần.
3. Chạy ứng dụng khởi đầu
- Nhập thư mục
examples/lite/examples/generative_ai/android
vào Android Studio. - Khởi động Trình mô phỏng Android, sau đó nhấp vào Run (Chạy) trong trình đơn điều hướng.
Chạy và khám phá ứng dụng
Ứng dụng sẽ chạy trên thiết bị Android của bạn. Ứng dụng này được gọi là "Tự động hoàn tất". Giao diện người dùng khá đơn giản: bạn có thể nhập một số từ gốc vào hộp văn bản rồi nhấn vào Tạo; Sau đó, ứng dụng sẽ chạy dự đoán trên một LLM (mô hình ngôn ngữ lớn) và tạo ra văn bản bổ sung dựa trên dữ liệu đầu vào của bạn.
Hiện tại, nếu bạn nhấn vào Tạo sau khi nhập một số từ thì sẽ không có gì xảy ra. Lý do là mô hình này chưa chạy một mô hình ngôn ngữ lớn (LLM).
4. Chuẩn bị LLM để triển khai trên thiết bị
- Mở Colab và chạy sổ tay (được lưu trữ trong kho lưu trữ GitHub của Lớp học lập trình TensorFlow).
5. Hoàn thiện ứng dụng Android
Giờ thì bạn đã chuyển đổi mô hình GPT-2 thành TensorFlow Lite, cuối cùng bạn có thể triển khai nó trong ứng dụng.
Chạy ứng dụng
- Kéo tệp mô hình
autocomplete.tflite
đã tải xuống ở bước cuối cùng vào thư mụcapp/src/main/assets/
trong Android Studio.
- Nhấp vào Run (Chạy) trong trình đơn điều hướng rồi chờ ứng dụng tải.
- Nhập một số từ gốc vào trường văn bản, sau đó nhấn vào Tạo.
6. Lưu ý về AI có trách nhiệm
Như đã nêu trong thông báo về OpenAI GPT-2, có một số điểm hạn chế và lưu ý đáng chú ý đối với mô hình GPT-2. Trên thực tế, các LLM hiện nay thường gặp phải một số thách thức phổ biến như ảo tưởng, kết quả phản cảm, công bằng và thiên kiến; bởi vì các mô hình này được huấn luyện dựa trên dữ liệu thực tế, do đó, chúng phản ánh các vấn đề trong thế giới thực.
Lớp học lập trình này chỉ được tạo để minh hoạ cách tạo ứng dụng sử dụng các mô hình ngôn ngữ lớn (LLM) bằng công cụ TensorFlow. Mô hình được tạo trong lớp học lập trình này chỉ dành cho mục đích giáo dục chứ không dành cho mục đích phát hành chính thức.
Để sử dụng quy trình sản xuất LLM, bạn phải lựa chọn kỹ lưỡng các tập dữ liệu huấn luyện và các giải pháp giảm thiểu an toàn toàn diện. Để tìm hiểu thêm về AI có trách nhiệm trong bối cảnh các mô hình ngôn ngữ lớn (LLM), đừng quên xem buổi chia sẻ kỹ thuật về chủ đề Phát triển an toàn và có trách nhiệm bằng mô hình ngôn ngữ tạo sinh tại Google I/O 2023 và tham khảo Bộ công cụ về AI có trách nhiệm.
7. Kết luận
Xin chúc mừng! Bạn đã xây dựng một ứng dụng để tạo văn bản mạch lạc dựa trên hoạt động đầu vào của người dùng bằng cách chạy một Mô hình ngôn ngữ lớn được huấn luyện trước hoàn toàn trên thiết bị!