TROISINH
Chuyên sâuFine-tuning thực chiến

Khi nào nên fine-tune

Fine-tune không phải lúc nào cũng là câu trả lời đúng. Học cách nhận biết khi nào cần fine-tune, khi nào chỉ cần prompt engineering hoặc RAG để tiết kiệm chi phí.

Định nghĩa

Fine-tune là quá trình cập nhật trọng số mô hình để thích ứng với tác vụ cụ thể, nhưng chỉ nên thực hiện khi các phương pháp đơn giản hơn như prompt engineering và RAG không đáp ứng được yêu cầu về chất lượng, độ trễ hoặc tính nhất quán của output.

Giải thích chi tiết

Thứ tự ưu tiên: Prompt → RAG → Fine-tune

Nhiều developer mắc lỗi nhảy thẳng vào fine-tune khi gặp vấn đề. Quy tắc vàng trong ML Ops: thử prompt engineering trước, sau đó đến RAG, cuối cùng mới fine-tune. Fine-tune là phẫu thuật chỉnh hình, không phải vitamin tổng hợp bổ sung cho mọi ca bệnh.

Prompt engineering giải quyết 80% use case thông thường. RAG giải quyết thêm 15% liên quan đến kiến thức đặc thù. Chỉ 5% còn lại thực sự cần can thiệp vào trọng số mô hình.

Dấu hiệu buộc phải fine-tune

Bạn cần fine-tune khi gặp một trong các tình huống sau:

Định dạng output cứng nhắc: Yêu cầu mô hình trả về cấu trúc dữ liệu chính xác tuyệt đối (ví dụ: trích xuất hóa đơn điện tử theo đúng quy định JSON schema của Tổng cục Thuế Việt Nam). Prompt engineering có thể cho kết quả đúng 90% nhưng thất bại 10% còn lại do hallucination về cấu trúc.

Kiến thức ngầm định: Cần mô hình "hiểu" sâu luật Việt Nam, y khoa Việt Nam, hoặc ngôn ngữ địa phương đặc thù (tiếng Tây Nguyên, Nam Bộ) mà không cần đưa context dài vào prompt. Fine-tune giúp mô hình internalize kiến thức này vào trọng số, giảm token usage và latency.

Latency cực thấp: Ứng dụng real-time như chatbot ngân hàng yêu cầu phản hồi dưới 100ms. Việc gửi kèm few-shot examples hoặc context dài trong prompt làm tăng thời gian xử lý. Fine-tune giúp mô hình "nhớ" cách làm thay vì "đọc" hướng dẫn mỗi lần inference.

Tone và style nhất quán tuyệt đối: Thương hiệu cần giọng văn cụ thể (ví dụ: tư vấn viên ngân hàng MB Bank trang trọng vs. content creator TikTok gen Z). Prompt engineering khó duy trì tính nhất quán qua hàng nghìn conversation.

Rủi ro và chi phí ẩn

Fine-tune không chỉ là chạy code trên GPU. Chi phí thực sự nằm ở:

Catastrophic forgetting: Mô hình quên kiến thức tổng quát để học tác vụ mới. Một bệnh viện fine-tune GPT-4 trên hồ sơ bệnh án có thể thấy mô hình đột nhiên quên cách viết email công sở cơ bản.

Data dependency: Cần tối thiểu 500-1000 examples chất lượng cao, được annotate bởi chuyên gia. Với dữ liệu y tế hoặc pháp lý tiếng Việt, chi phí chuẩn bị data thường đắt gấp 3 lần chi phí GPU training.

Maintenance debt: Mỗi lần base model update (GPT-4 → GPT-4.5, Llama 3 → Llama 4) yêu cầu fine-tune lại toàn bộ. Tạo ra technical debt dài hạn.

Overfitting: Mô hình "học vẹt" dữ liệu huấn luyện, thất bại trên case thực tế có biến thể nhẹ (ví dụ: hợp đồng lao động có điều khoản phụ lục không giống template đã train).

Lựa chọn kỹ thuật: Full fine-tune vs LoRA

Không phải lúc nào cũng cần cập nhật toàn bộ trọng số mô hình. Với hầu hết use case doanh nghiệp Việt Nam, LoRA hoặc QLoRA đủ sức thay đổi behavior mà chỉ tốn 1% tài nguyên tính toán và tránh được catastrophic forgetting nghiêm trọng.

Full fine-tune chỉ nên dùng khi cần thay đổi fundamentally kiến thức của mô hình (ví dụ: tạo foundation model tiếng Việt chuyên biệt từ Llama).

Ví dụ thực tế

FPT Software - Trích xuất hợp đồng pháp lý

FPT cần trích xuất 30 trường thông tin từ hợp đồng lao động tiếng Việt với độ chính xác trên 98%. Prompt engineering với GPT-4 chỉ đạt 75% do cách diễn đạt điều khoản đa dạng (có thể ghi "lương tháng 13" hoặc "thưởng cuối năm theo kết quả kinh doanh"). Họ dùng LoRA fine-tune trên 2000 hợp đồng đã annotate chuyên gia, đạt 96% accuracy và giảm token usage 40% so với few-shot prompting.

VinAI - Phân loại bệnh án tiếng Việt

VinAI xây dựng hệ thống gợi ý chẩn đoán từ triệu chứng tiếng Việt (phân biệt "đau bụng vùng thượng vị" vs. "đau bụng dưới rốn"). Base model không đủ kiến thức y khoa Việt Nam và cách diễn đạt bệnh nhân địa phương. Họ fine-tune bằng instruction tuning trên 50k cặp triệu chứng-chẩn đoán từ bệnh viện Bạch Mai, tạo ra model hiểu ngữ cảnh y tế địa phương mà không cần tra cứu liên tục.

Tiki - Tạo mô tả sản phẩm

Tiki cần tạo description cho 10 triệu SKU với tone "thân thiện, tin cậy, đầy đủ thông số kỹ thuật". Dùng prompt engineering với GPT-4 quá đắt ($0.03/description). Họ fine-tune Llama 3 8B bằng QLoRA trên 5000 mô tả chất lượng cao đã có, chạy local với chi phí bằng 1/20 và nhanh hơn 3 lần, đồng thời đảm bảo format thống nhất cho toàn bộ catalog.

Ứng dụng

Developer/Engineer

Xây dựng decision tree trước khi viết code training: Kiểm tra latency requirement (có cần dưới 200ms?) → Kiểm tra data availability (có đủ 500+ labeled samples chất lượng cao?) → Kiểm tra độ phức tạp của output format (có cần schema JSON cứng?). Nếu 2/3 trả lời "có", tiến hành fine-tune với LoRA trước, đo lường trên validation set trước khi deploy.

Researcher

Fine-tune để kiểm chứng giả thuyết về emergent capabilities hoặc để tạo domain-specific model cho cộng đồng (ví dụ: Vietnamese Legal LLM). Cần chú ý đến evaluation benchmark riêng cho tiếng Việt, không dùng benchmark tiếng Anh để đánh giá model tiếng Việt đã fine-tune.

Doanh nghiệp lớn (Tech lead/CTO)

Tính toán TCO (Total Cost of Ownership): Chi phí fine-tune một lần + maintenance 1 năm (cập nhật model, retrain khi data drift) so với API call liên tục. Thường break-even tại 1 triệu request/tháng với task phức tạp. Nếu dưới ngưỡng này, dùng RAG hoặc prompt caching hiệu quả hơn.

So sánh

Tiêu chíPrompt EngineeringRAGFine-tune
Thời gian triển khai1 giờ1-3 ngày1-2 tuần
Chi phí vận hànhCao (token dài)Trung bình (vector DB + API)Thấp (inference nhanh, ngắn gọn)
Độ chính xác kiến thứcPhụ thuộc base modelCao (có thể verify source)Cao (đã học thuộc lòng)
Tính nhất quán formatThấp (biến động)ThấpCao (ổn định 99%+)
Yêu cầu dữ liệuKhông cầnCần documents chưa structureCần labeled data chất lượng cao
Rủi ro chínhHallucinationRetrieval error (tìm sai tài liệu)Catastrophic forgetting, overfitting

Kết luận: Fine-tune thắng ở tính nhất quán format và latency, thua ở chi phí upfront và độ linh hoạt. Dùng fine-tune khi bạn cần "mô hình biết cách làm" thay vì "mô hình tra cứu để làm".

Bài viết liên quan

Cùng cụm

  • Fine-tuning là gì? — Hiểu cơ chế cập nhật trọng số và flow cơ bản trước khi quyết định triển khai.
  • LoRA là gì? — Phương pháp fine-tune tiết kiệm VRAM nhất cho phần lớn use case thực tế tại Việt Nam.
  • Instruction tuning là gì? — Kỹ thuật format data để dạy mô hình tuân thủ hướng dẫn một cách có hệ thống.
  • RLHF là gì? — Khi cần fine-tune dựa trên preference của người dùng thay vì câu trả lời cứng nhắc.

Đọc tiếp

  • Embedding và không gian vector — Hiểu sâu cách mô hình biểu diễn kiến thức trước khi quyết định can thiệp vào trọng số.
  • Cơ chế Attention — Nắm vững kiến trúc nền tảng để hiểu tại sao fine-tune ảnh hưởng đến behavior của mô hình ở mức độ nào.

On this page