Chưng cất mô hình (knowledge distillation) là kỹ thuật huấn luyện một mô hình nhỏ, gọi là mô hình học trò, bắt chước đầu ra của một mô hình lớn hơn, gọi là mô hình thầy. Kết quả là mô hình nhỏ chạy nhanh, rẻ, có thể chạy trên máy cục bộ nhưng giữ được phần lớn năng lực của mô hình lớn ở nhiệm vụ được chưng cất. Nhiều mô hình nhỏ phổ biến hiện nay được tạo ra một phần nhờ distillation. Với doanh nghiệp, kỹ thuật này hữu ích khi có một nhiệm vụ hẹp, lặp lại số lượng lớn như phân loại ticket hay trích xuất hóa đơn.
Chưng cất mô hình là gì và hoạt động ra sao
Chưng cất mô hình là quá trình chuyển ‘kiến thức’ từ mô hình lớn sang mô hình nhỏ. Tên gọi lấy hình ảnh chưng cất: giữ lại tinh chất, bỏ phần cồng kềnh. Kỹ thuật này được giới nghiên cứu học máy đề xuất và phát triển từ khoảng giữa thập niên 2010, nay là một phương pháp phổ biến để tạo mô hình gọn.
Nguyên lý cơ bản
- Chọn mô hình thầy: một mô hình lớn, chất lượng cao.
- Chuẩn bị dữ liệu đầu vào: các câu hỏi, văn bản, ví dụ đại diện cho nhiệm vụ.
- Thu đầu ra của thầy: câu trả lời, nhãn phân loại, hoặc phân bố xác suất trên các lựa chọn.
- Huấn luyện học trò: mô hình nhỏ được tối ưu để đầu ra giống thầy nhất có thể.
Điểm tinh tế là học trò không chỉ học đáp án đúng mà còn học ‘mức độ chắc chắn’ của thầy. Ví dụ thầy cho rằng một email 70% là khiếu nại, 25% là hỏi giá, 5% là spam. Thông tin này giàu hơn nhãn đơn thuần ‘khiếu nại’ và giúp học trò học nhanh hơn.
Với mô hình ngôn ngữ thương mại, người dùng thường chỉ lấy được văn bản đầu ra chứ không lấy được xác suất, nên distillation trong thực tế doanh nghiệp thường là tinh chỉnh mô hình nhỏ trên câu trả lời do mô hình lớn viết.
Distillation khác quantization và fine-tuning thế nào
Ba kỹ thuật này đều liên quan đến việc làm mô hình phù hợp hơn với nhu cầu, nhưng mục tiêu và cách làm khác nhau.
| Tiêu chí | Distillation | Quantization | Fine-tuning |
|---|---|---|---|
| Mục tiêu chính | Mô hình nhỏ hơn bắt chước mô hình lớn | Giảm bộ nhớ của cùng một mô hình | Dạy mô hình hành vi hoặc kiến thức mới |
| Kích thước mô hình | Giảm số tham số | Giữ số tham số, giảm độ chính xác số học | Thường giữ nguyên |
| Cần huấn luyện | Có | Không hoặc rất ít | Có |
| Cần dữ liệu | Nhiều đầu vào đại diện | Không hoặc một ít để hiệu chỉnh | Dữ liệu mẫu có nhãn |
| Mức khó với SME | Cao | Thấp, tải bản có sẵn | Trung bình |
Vì sao các mô hình nhỏ ngày càng giỏi
Người dùng chạy AI cục bộ thường ngạc nhiên vì mô hình vài tỷ tham số ngày nay làm được những việc mà trước đây cần mô hình lớn hơn nhiều. Distillation là một trong các lý do.
- Học từ đầu ra chất lượng cao: thay vì chỉ học từ văn bản trên internet, mô hình nhỏ được học thêm từ câu trả lời đã được mô hình lớn chọn lọc và trình bày tốt.
- Chưng cất khả năng suy luận: một số nhà phát triển công bố các phiên bản nhỏ được chưng cất từ mô hình suy luận lớn, giúp mô hình nhỏ học cách giải thích từng bước.
- Kết hợp với dữ liệu tổng hợp: mô hình lớn sinh ra lượng lớn ví dụ cho các nhiệm vụ cụ thể, mô hình nhỏ học trên đó.
Tuy vậy, mô hình chưng cất thường giỏi ở những gì được chưng cất và yếu hơn ở phần còn lại. Một mô hình nhỏ có thể làm toán tốt nhưng hiểu tiếng Việt kém, hoặc ngược lại. Khi chọn mô hình nhỏ chạy cục bộ, hãy đọc mô tả mô hình để biết nó được chưng cất từ đâu và tối ưu cho việc gì, rồi tự thử với nhiệm vụ của bạn.
Doanh nghiệp dùng distillation vào tình huống nào
Distillation có ý nghĩa khi bạn có một nhiệm vụ hẹp, lặp lại rất nhiều lần, và mô hình lớn đã làm tốt nhiệm vụ đó.
- Phân loại ticket hỗ trợ: một công ty dịch vụ IT nhận hàng nghìn yêu cầu mỗi tháng qua email, Zalo. Mô hình lớn phân loại tốt nhưng chi phí API tích lũy. Mô hình nhỏ chưng cất có thể chạy trên máy chủ nội bộ.
- Trích xuất thông tin hóa đơn: lấy mã số thuế, ngày, tổng tiền từ hóa đơn có định dạng tương đối ổn định.
- Phân tích cảm xúc đánh giá khách hàng: gắn nhãn tích cực, tiêu cực, chủ đề cho đánh giá Google Maps, Shopee.
- Xử lý dữ liệu không được gửi ra ngoài: sau khi chưng cất bằng dữ liệu đã che thông tin, mô hình nhỏ xử lý dữ liệu thật hoàn toàn trong mạng nội bộ.
Không phù hợp với
Trợ lý đa năng trả lời mọi câu hỏi, viết nội dung sáng tạo đa dạng, hoặc nhiệm vụ thay đổi liên tục. Với những việc này, dùng trực tiếp mô hình lớn hoặc mô hình mở có sẵn sẽ hiệu quả hơn tự chưng cất.
Quy trình chưng cất cho một nhiệm vụ cụ thể
Chuẩn bị
- Nhiệm vụ được định nghĩa rõ, đầu vào và đầu ra có định dạng cố định.
- Vài nghìn đầu vào đại diện, đã che thông tin nhạy cảm nếu gửi qua API bên ngoài.
- Người có kinh nghiệm huấn luyện mô hình, hoặc nền tảng hỗ trợ tinh chỉnh.
- Kiểm tra điều khoản sử dụng của nhà cung cấp mô hình thầy về việc dùng đầu ra để huấn luyện.
Các bước
- Tạo nhãn từ mô hình thầy: chạy toàn bộ đầu vào qua mô hình lớn, lưu đầu ra.
- Lọc chất lượng: người kiểm tra mẫu, loại đầu ra sai hoặc không chắc chắn.
- Chọn mô hình học trò: mô hình mở cỡ nhỏ có giấy phép cho phép dùng thương mại.
- Huấn luyện: thường dùng kỹ thuật tinh chỉnh tiết kiệm như LoRA.
- Đánh giá: so sánh học trò với thầy trên tập kiểm tra riêng, chưa dùng khi huấn luyện.
- Triển khai và theo dõi: lấy mẫu định kỳ, so với mô hình thầy để phát hiện suy giảm.
Kiểm tra kết quả
Tiêu chí thường dùng: độ chính xác của học trò đạt mức chấp nhận được so với thầy, trong khi tốc độ, chi phí hoặc khả năng chạy nội bộ cải thiện rõ.
Rủi ro và lưu ý khi chưng cất mô hình
- Kế thừa lỗi của thầy: học trò học cả cái sai và thiên lệch của mô hình thầy. Lọc dữ liệu là bước không thể bỏ.
- Điều khoản và giấy phép: nhiều nhà cung cấp có quy định về việc dùng đầu ra để phát triển mô hình. Mô hình học trò cũng có giấy phép riêng. Đọc kỹ cả hai trước khi làm.
- Hiệu năng ngoài phạm vi kém: mô hình chưng cất cho phân loại ticket sẽ không trả lời tốt câu hỏi chung. Cần cơ chế chuyển những trường hợp lạ sang mô hình lớn hoặc con người.
- Chi phí ẩn: thời gian chuẩn bị dữ liệu, huấn luyện, đánh giá và bảo trì. Với khối lượng nhỏ, dùng API mô hình lớn hoặc batch API có thể rẻ hơn tổng thể.
- Mô hình thầy thay đổi: khi mô hình lớn ra phiên bản mới tốt hơn, học trò cũ có thể tụt hậu và cần chưng cất lại.
Câu hỏi nên đặt trước tiên: liệu một mô hình mở nhỏ có sẵn, kèm prompt tốt hoặc RAG, đã đủ cho nhiệm vụ chưa. Rất nhiều trường hợp câu trả lời là có, và bạn không cần tự chưng cất.
Trước khi tính chuyện chưng cất, hãy thử vài mô hình mở nhỏ có sẵn với prompt tốt trên 100 mẫu thật. Chỉ khi chênh lệch với mô hình lớn còn quá xa và khối lượng xử lý đủ lớn, distillation mới đáng đầu tư.
Muốn đưa AI vào công việc của doanh nghiệp? PCTech tư vấn, đánh giá mức sẵn sàng AI và triển khai chatbot, AI agent, tự động hóa cho doanh nghiệp.
10 câu hỏi, 2 phút, nhận mức độ và việc nên làm tiếp theo. Dùng thử ngay
Câu hỏi thường gặp
Distillation có làm mô hình nhỏ giỏi bằng mô hình lớn không?
Thường không hoàn toàn. Mô hình học trò có thể đạt gần mô hình thầy ở nhiệm vụ được chưng cất, nhưng kém hơn ở các nhiệm vụ khác và khi gặp tình huống lạ.
Doanh nghiệp nhỏ có tự chưng cất mô hình được không?
Có thể nếu có người biết huấn luyện mô hình và nhiệm vụ đủ rõ. Với phần lớn SME, dùng mô hình nhỏ đã được chưng cất sẵn từ cộng đồng mã nguồn mở là lựa chọn thực tế hơn.
Có được dùng câu trả lời của ChatGPT để huấn luyện mô hình riêng không?
Phụ thuộc điều khoản sử dụng hiện hành của từng nhà cung cấp, một số có giới hạn với việc phát triển mô hình cạnh tranh. Hãy đọc điều khoản chính thức trước khi làm.
Mô hình chưng cất có chạy được trên máy tính văn phòng không?
Mô hình học trò cỡ nhỏ, nhất là khi lượng tử hóa, có thể chạy trên máy có GPU phổ thông hoặc thậm chí CPU cho nhiệm vụ đơn giản. Tốc độ thực tế phụ thuộc kích thước mô hình và phần cứng.
Distillation và LoRA có liên quan gì?
LoRA là kỹ thuật tinh chỉnh tiết kiệm tài nguyên, thường được dùng làm phương pháp huấn luyện trong bước học trò học từ đầu ra của thầy. Distillation là mục tiêu, LoRA là một cách thực hiện.
Mô hình có tên 'distill' nghĩa là gì?
Thường là mô hình nhỏ được huấn luyện từ đầu ra của một mô hình lớn hơn. Đọc mô tả trên trang phát hành để biết mô hình thầy, nhiệm vụ tối ưu và giấy phép sử dụng.
Bài viết liên quan
- Small Language Model (SLM) là gì? Mô hình AI nhỏ chạy được trên máy
- Quantization (lượng tử hóa) mô hình AI là gì? Giảm bộ nhớ mà vẫn giữ chất lượng
- Fine-tuning là gì? Khi nào doanh nghiệp cần tinh chỉnh mô hình AI
- LoRA là gì? Tinh chỉnh mô hình AI tiết kiệm tài nguyên
- Dữ liệu tổng hợp (synthetic data) là gì? Ứng dụng và giới hạn
- Open weights là gì? Khác mã nguồn mở thế nào
- Chạy AI trên máy tính cá nhân (local AI): cần gì và có đáng không
- Edge AI là gì? AI chạy ngay trên thiết bị