Tùy biến Foundation Model: từ prompt tới fine-tuning
Customizing a Foundation Model: From Prompting to Fine-tuning
Có nhiều cách tùy biến (customize) một FM cho bài toán của bạn. Câu hỏi cốt lõi của kỳ thi: chọn cách rẻ và nhanh nhất đáp ứng yêu cầu, chỉ leo thang khi thật cần. Bài này sắp xếp các cách theo bậc thang chi phí/công sức tăng dần.
Bậc thang tùy biến (rẻ/nhanh → đắt/chậm)
| Bậc | Cách | Chi phí/công sức | Thay đổi trọng số mô hình? |
|---|---|---|---|
| 1 | Prompt engineering | Thấp nhất | Không |
| 2 | RAG | Thấp–trung bình | Không |
| 3 | Fine-tuning | Cao | Có |
| 4 | Continued pretraining | Rất cao | Có |
| — | Pretraining từ đầu | Cực cao, hiếm khi cần | Tạo mô hình mới |
Trọng tâm thi
Quy tắc vàng: luôn bắt đầu từ prompt engineering, rồi RAG, rồi mới fine-tuning. Khi đề bài nhấn mạnh "chi phí thấp", "triển khai nhanh", "không cần huấn luyện" → đáp án thường là prompt engineering hoặc RAG, không phải fine-tuning.
Bậc 1 — Prompt engineering
Rẻ và nhanh nhất; định hướng đầu ra bằng cách viết prompt tốt (few-shot, chain-of-thought, system prompt, template). Không đụng tới trọng số mô hình. Xem chi tiết ở bài d3-02.
Bậc 2 — RAG
Thêm kiến thức cập nhật/riêng tư bằng truy xuất ngữ cảnh từ vector store. Không huấn luyện lại. Lý tưởng khi dữ liệu thay đổi thường xuyên hoặc cần trích nguồn. Xem chi tiết ở bài d3-03.
Bậc 3 — Fine-tuning
Tinh chỉnh Fine-tuning cập nhật trọng số của FM bằng tập dữ liệu của bạn, để thay đổi hành vi, phong cách, định dạng hoặc kỹ năng. Hai dạng chính:
- Tinh chỉnh theo chỉ dẫn Instruction tuning: huấn luyện trên các cặp chỉ dẫn → phản hồi mong muốn (dữ liệu có nhãn) để mô hình bám đúng định dạng/giọng văn/cách trả lời bạn muốn.
- Thích ứng miền Domain adaptation: làm mô hình giỏi hơn ở một lĩnh vực chuyên ngành (y tế, pháp lý, tài chính) bằng dữ liệu của lĩnh vực đó.
Bậc 4 — Continued pretraining
Tiền huấn luyện tiếp tục Continued pretraining tiếp tục huấn luyện FM trên khối lượng lớn dữ liệu chưa gán nhãn của một lĩnh vực, để mô hình "ngấm" vốn từ và kiến thức nền của miền đó. Tốn kém hơn fine-tuning có giám sát và cần rất nhiều dữ liệu.
Pretraining từ đầu — hiếm khi cần
Lưu ý
Pretraining từ đầu (huấn luyện một FM mới từ con số 0) cực kỳ tốn kém về dữ liệu, thời gian và GPU. Với gần như mọi doanh nghiệp, đây không phải lựa chọn hợp lý — hãy tùy biến một FM có sẵn thay vì tự xây.
Chuẩn bị dữ liệu cho fine-tuning
Chất lượng dữ liệu quyết định kết quả fine-tuning. Một số nguyên tắc:
- Dữ liệu gán nhãn chất lượng cao: với instruction tuning, cần các cặp chỉ dẫn–phản hồi đại diện cho tác vụ thực tế.
- Đủ lượng và đa dạng: tránh thiên lệch (bias); bao phủ các trường hợp quan trọng.
- Làm sạch & định dạng đúng theo yêu cầu của dịch vụ (vd định dạng JSONL trên Bedrock/SageMaker).
- Tách tập huấn luyện và tập đánh giá (validation) để đo hiệu quả và tránh overfitting.
- Bảo mật & tuân thủ: loại bỏ/che PII không cần thiết trước khi huấn luyện.
Trên AWS, bạn có thể fine-tune một số FM qua Amazon Bedrock (dịch vụ quản lý, dữ liệu của bạn không dùng để huấn luyện mô hình gốc) hoặc qua Amazon SageMaker.
Chọn cách nào? Một khung quyết định nhanh
| Yêu cầu bài toán | Cách nên chọn |
|---|---|
| Chỉ cần định dạng/giọng văn nhất quán | Prompt engineering (few-shot) |
| Cần dữ liệu mới/riêng tư, hay cập nhật | RAG |
| Cần mô hình luôn trả lời theo phong cách/định dạng riêng | Fine-tuning (instruction tuning) |
| Cần thành thạo thuật ngữ một lĩnh vực chuyên sâu | Domain adaptation / continued pretraining |
| Muốn rẻ nhất, nhanh nhất | Thử prompt engineering trước |
Mẹo
Nhầm lẫn kinh điển bị hỏi: dữ liệu cập nhật/riêng tư → RAG (không phải fine-tuning); cần đổi cách hành xử → fine-tuning (không phải RAG). Đừng dùng fine-tuning chỉ để "nạp kiến thức mới".
Tóm tắt
- Bậc thang tùy biến: prompt engineering → RAG → fine-tuning → continued pretraining; pretraining từ đầu hiếm khi cần.
- Luôn bắt đầu từ cách rẻ/nhanh nhất; chỉ leo thang khi cần.
- Fine-tuning đổi trọng số để thay đổi hành vi/phong cách/kỹ năng; gồm instruction tuning (dữ liệu có nhãn) và domain adaptation.
- Continued pretraining dùng nhiều dữ liệu chưa gán nhãn để thích ứng một miền chuyên sâu.
- Chuẩn bị dữ liệu chất lượng cao, đa dạng, sạch, tách train/validation là yếu tố then chốt.