Việc sử dụng các mô hình ngôn ngữ lớn để xây dựng ứng dụng AI tạo sinh đi kèm với những thách thức mới. Một vấn đề quan trọng là đảm bảo chất lượng phản hồi (độ chính xác và sự liên quan) trong nội dung được tạo bởi mô hình cho một yêu cầu cụ thể của người dùng. Trong các bài học trước, chúng ta đã thảo luận về các kỹ thuật như thiết kế gợi ý và tạo sinh tăng cường truy xuất nhằm giải quyết vấn đề bằng cách thay đổi đầu vào gợi ý cho mô hình hiện có.
Trong bài học hôm nay, chúng ta sẽ thảo luận về một kỹ thuật thứ ba, tinh chỉnh, nhằm giải quyết thách thức bằng cách huấn luyện lại chính mô hình với dữ liệu bổ sung. Hãy cùng tìm hiểu chi tiết.
Bài học này giới thiệu khái niệm tinh chỉnh cho các mô hình ngôn ngữ đã được huấn luyện trước, khám phá lợi ích và thách thức của phương pháp này, và cung cấp hướng dẫn về thời điểm và cách sử dụng tinh chỉnh để cải thiện hiệu suất của các mô hình AI tạo sinh của bạn.
Sau khi hoàn thành bài học này, bạn sẽ có thể trả lời các câu hỏi sau:
- Tinh chỉnh mô hình ngôn ngữ là gì?
- Khi nào và tại sao tinh chỉnh lại hữu ích?
- Làm thế nào để tinh chỉnh một mô hình đã được huấn luyện trước?
- Những hạn chế của việc tinh chỉnh là gì?
Sẵn sàng chưa? Hãy bắt đầu.
Muốn có cái nhìn tổng quan về những gì chúng ta sẽ đề cập trước khi đi sâu vào chi tiết? Hãy xem hướng dẫn minh họa mô tả hành trình học tập cho bài học này - từ việc học các khái niệm cốt lõi và động lực cho việc tinh chỉnh, đến việc hiểu quy trình và các thực hành tốt nhất để thực hiện nhiệm vụ tinh chỉnh. Đây là một chủ đề thú vị để khám phá, vì vậy đừng quên kiểm tra trang Tài nguyên để có thêm các liên kết hỗ trợ hành trình học tập tự định hướng của bạn!
Theo định nghĩa, các mô hình ngôn ngữ lớn được huấn luyện trước trên một lượng lớn văn bản được lấy từ nhiều nguồn khác nhau, bao gồm cả internet. Như chúng ta đã học trong các bài học trước, chúng ta cần các kỹ thuật như thiết kế gợi ý và tạo sinh tăng cường truy xuất để cải thiện chất lượng phản hồi của mô hình đối với các câu hỏi của người dùng ("gợi ý").
Một kỹ thuật thiết kế gợi ý phổ biến liên quan đến việc cung cấp cho mô hình nhiều hướng dẫn hơn về những gì được mong đợi trong phản hồi, hoặc bằng cách cung cấp hướng dẫn (hướng dẫn rõ ràng) hoặc đưa ra một vài ví dụ (hướng dẫn ngầm). Điều này được gọi là học ít mẫu nhưng nó có hai hạn chế:
- Giới hạn token của mô hình có thể hạn chế số lượng ví dụ bạn có thể cung cấp và giảm hiệu quả.
- Chi phí token của mô hình có thể làm tăng chi phí khi thêm ví dụ vào mỗi gợi ý, và giảm tính linh hoạt.
Tinh chỉnh là một thực hành phổ biến trong các hệ thống học máy, nơi chúng ta lấy một mô hình đã được huấn luyện trước và huấn luyện lại nó với dữ liệu mới để cải thiện hiệu suất của nó trên một nhiệm vụ cụ thể. Trong bối cảnh mô hình ngôn ngữ, chúng ta có thể tinh chỉnh mô hình đã được huấn luyện trước với một tập hợp ví dụ được chọn lọc cho một nhiệm vụ hoặc lĩnh vực ứng dụng cụ thể để tạo ra một mô hình tùy chỉnh có thể chính xác và phù hợp hơn cho nhiệm vụ hoặc lĩnh vực cụ thể đó. Một lợi ích phụ của việc tinh chỉnh là nó cũng có thể giảm số lượng ví dụ cần thiết cho học ít mẫu - giảm sử dụng token và chi phí liên quan.
Trong bối cảnh này, khi chúng ta nói về tinh chỉnh, chúng ta đang đề cập đến tinh chỉnh có giám sát, nơi việc huấn luyện lại được thực hiện bằng cách thêm dữ liệu mới không nằm trong tập dữ liệu huấn luyện ban đầu. Điều này khác với cách tiếp cận tinh chỉnh không giám sát, nơi mô hình được huấn luyện lại trên dữ liệu ban đầu, nhưng với các siêu tham số khác nhau.
Điều quan trọng cần nhớ là tinh chỉnh là một kỹ thuật nâng cao đòi hỏi một mức độ chuyên môn nhất định để đạt được kết quả mong muốn. Nếu thực hiện không đúng cách, nó có thể không mang lại những cải tiến như mong đợi, và thậm chí có thể làm giảm hiệu suất của mô hình đối với lĩnh vực mục tiêu của bạn.
Vì vậy, trước khi bạn học "cách" tinh chỉnh mô hình ngôn ngữ, bạn cần biết "tại sao" bạn nên chọn con đường này, và "khi nào" bắt đầu quá trình tinh chỉnh. Hãy bắt đầu bằng cách tự hỏi mình những câu hỏi sau:
- Trường hợp sử dụng: Trường hợp sử dụng của bạn cho việc tinh chỉnh là gì? Bạn muốn cải thiện khía cạnh nào của mô hình đã được huấn luyện trước hiện tại?
- Các lựa chọn thay thế: Bạn đã thử các kỹ thuật khác để đạt được kết quả mong muốn chưa? Sử dụng chúng để tạo một cơ sở so sánh.
- Thiết kế gợi ý: Thử các kỹ thuật như gợi ý ít mẫu với các ví dụ về phản hồi gợi ý liên quan. Đánh giá chất lượng phản hồi.
- Tạo sinh tăng cường truy xuất: Thử tăng cường gợi ý với kết quả truy vấn được tìm kiếm từ dữ liệu của bạn. Đánh giá chất lượng phản hồi.
- Chi phí: Bạn đã xác định chi phí cho việc tinh chỉnh chưa?
- Khả năng tinh chỉnh - mô hình đã được huấn luyện trước có sẵn để tinh chỉnh không?
- Nỗ lực - chuẩn bị dữ liệu huấn luyện, đánh giá & tinh chỉnh mô hình.
- Tính toán - chạy các công việc tinh chỉnh, và triển khai mô hình đã tinh chỉnh.
- Dữ liệu - có đủ ví dụ chất lượng để tạo tác động tinh chỉnh không?
- Lợi ích: Bạn đã xác nhận lợi ích của việc tinh chỉnh chưa?
- Chất lượng - mô hình đã tinh chỉnh có vượt qua cơ sở không?
- Chi phí - nó có giảm sử dụng token bằng cách đơn giản hóa gợi ý không?
- Khả năng mở rộng - bạn có thể tái sử dụng mô hình cơ bản cho các lĩnh vực mới không?
Bằng cách trả lời những câu hỏi này, bạn sẽ có thể quyết định liệu tinh chỉnh có phải là cách tiếp cận phù hợp cho trường hợp sử dụng của bạn hay không. Lý tưởng nhất, cách tiếp cận này chỉ hợp lệ nếu lợi ích vượt trội hơn chi phí. Khi bạn quyết định tiến hành, đã đến lúc nghĩ về cách bạn có thể tinh chỉnh mô hình đã được huấn luyện trước.
Muốn có thêm thông tin chi tiết về quá trình ra quyết định? Xem Có nên tinh chỉnh hay không
Để tinh chỉnh một mô hình đã được huấn luyện trước, bạn cần có:
- một mô hình đã được huấn luyện trước để tinh chỉnh
- một tập dữ liệu để sử dụng cho việc tinh chỉnh
- một môi trường huấn luyện để chạy công việc tinh chỉnh
- một môi trường lưu trữ để triển khai mô hình đã tinh chỉnh
Các tài nguyên sau đây cung cấp các hướng dẫn từng bước để hướng dẫn bạn qua một ví dụ thực tế sử dụng một mô hình được chọn với một tập dữ liệu được chọn lọc. Để làm việc qua các hướng dẫn này, bạn cần một tài khoản trên nhà cung cấp cụ thể, cùng với quyền truy cập vào mô hình và tập dữ liệu liên quan.
| Nhà cung cấp | Hướng dẫn | Mô tả |
|---|---|---|
| OpenAI | Cách tinh chỉnh mô hình chat | Học cách tinh chỉnh gpt-35-turbo cho một lĩnh vực cụ thể ("trợ lý công thức nấu ăn") bằng cách chuẩn bị dữ liệu huấn luyện, chạy công việc tinh chỉnh, và sử dụng mô hình đã tinh chỉnh để suy luận. |
| Azure OpenAI | Hướng dẫn tinh chỉnh GPT 3.5 Turbo | Học cách tinh chỉnh mô hình gpt-35-turbo-0613 trên Azure bằng cách thực hiện các bước tạo & tải lên dữ liệu huấn luyện, chạy công việc tinh chỉnh. Triển khai & sử dụng mô hình mới. |
| Hugging Face | Tinh chỉnh LLM với Hugging Face | Bài viết này hướng dẫn bạn tinh chỉnh một LLM mở (ví dụ: CodeLlama 7B) sử dụng thư viện transformers & Transformer Reinforcement Learning (TRL) với các tập dữ liệu mở trên Hugging Face. |
| 🤗 AutoTrain | Tinh chỉnh LLM với AutoTrain | AutoTrain (hoặc AutoTrain Advanced) là một thư viện python được phát triển bởi Hugging Face cho phép tinh chỉnh cho nhiều nhiệm vụ khác nhau bao gồm tinh chỉnh LLM. AutoTrain là một giải pháp không cần mã và việc tinh chỉnh có thể được thực hiện trên đám mây của bạn, trên Hugging Face Spaces hoặc cục bộ. Nó hỗ trợ cả giao diện GUI dựa trên web, CLI và huấn luyện thông qua các tệp cấu hình yaml. |
Chọn một trong các hướng dẫn trên và thực hiện theo. Chúng tôi có thể tái tạo một phiên bản của các hướng dẫn này trong Jupyter Notebooks trong repo này chỉ để tham khảo. Vui lòng sử dụng các nguồn gốc để có phiên bản mới nhất.
Sau khi hoàn thành bài học này, hãy kiểm tra Bộ sưu tập học tập AI tạo sinh của chúng tôi để tiếp tục nâng cao kiến thức về AI tạo sinh!
Chúc mừng bạn!! Bạn đã hoàn thành bài học cuối cùng từ loạt bài v2 của khóa học này! Đừng ngừng học tập và xây dựng. **Kiểm tra trang TÀI NGUYÊN để có danh sách các gợi ý bổ sung chỉ cho chủ đề này.
Loạt bài v1 của chúng tôi cũng đã được cập nhật với nhiều bài tập và khái niệm hơn. Vì vậy, hãy dành một chút thời gian để làm mới kiến thức của bạn - và vui lòng chia sẻ câu hỏi và phản hồi của bạn để giúp chúng tôi cải thiện các bài học này cho cộng đồng.
Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.

