Quy trình finetune LLM tiếng Việt: từ dữ liệu, SFT đến đánh giá
01/10/2026

Phần khó nhất của một dự án finetune hiếm khi là lúc bấm nút chạy huấn luyện. Nó là hai tuần trước đó, khi cả nhóm ngồi cãi nhau xem một câu trả lời thế nào là 'đúng'. Bài này kể lại quy trình finetune LLM tiếng Việt mà chúng tôi ở AIVISION thường đi qua, theo thứ tự thật của công việc, cùng những chỗ hay vấp.
Bước 0: nói rõ bài toán bằng ví dụ
Trước khi đụng tới dữ liệu, hãy viết ra 30 đến 50 ví dụ mà bạn muốn model xử lý tốt, kèm câu trả lời bạn coi là đạt. Nghe thô sơ nhưng đây là tài sản quan trọng nhất của cả dự án. Nó buộc khách hàng nói cụ thể: 'trợ lý tóm tắt' nghĩa là tóm tắt dài bao nhiêu, giữ gì, bỏ gì, giọng thế nào. Hai bên thường phát hiện họ hiểu khác nhau ngay ở bước này, và rẻ hơn nhiều so với phát hiện khi đã huấn luyện xong.
Thu thập dữ liệu
Nguồn dữ liệu thường có ba loại. Dữ liệu sẵn có của tổ chức: lịch sử chat, email, biên bản, tài liệu quy trình. Dữ liệu công khai phù hợp lĩnh vực. Và dữ liệu do chuyên gia viết mới, thường là phần ít nhưng quý nhất. Lời khuyên của chúng tôi là bắt đầu bằng lượng nhỏ nhưng sạch. Một nhóm vài nghìn mẫu chất lượng cao, có người trong nghề đọc lại, thường cho kết quả tốt hơn là đổ hàng trăm nghìn mẫu chưa kiểm.
Có một mẹo nhỏ: hãy để chuyên gia lĩnh vực xem thử vài chục mẫu ngẫu nhiên trước khi mở rộng. Họ thường chỉ ra ngay những lỗi mà kỹ sư không thấy, như một thuật ngữ dùng lệch hay một quy trình đã đổi từ năm ngoái. Phần làm sạch, ẩn danh hoá và vấn đề bản quyền quan trọng đến mức chúng tôi viết riêng một bài về dữ liệu huấn luyện.
Định dạng và chia tập dữ liệu
Dữ liệu cho SFT (supervised fine-tuning) có dạng cặp chỉ dẫn và câu trả lời, hoặc nhiều lượt hội thoại. Cần thống nhất khuôn: có system prompt không, xưng hô thế nào, dùng định dạng gì. Nếu mẫu này viết 'Dạ anh' mẫu kia viết 'Quý khách', model sẽ học một giọng lộn xộn.
Sau đó chia ba tập: huấn luyện, kiểm định (validation) để theo dõi trong lúc chạy, và tập kiểm tra cuối cùng giữ kín cho đến khi xong. Lỗi cổ điển là rò rỉ dữ liệu, khi cùng một câu hỏi, chỉ khác vài chữ, nằm ở cả tập huấn luyện lẫn tập kiểm tra. Điểm số lúc đó đẹp một cách giả tạo. Hãy loại trùng lặp và gần-trùng-lặp trước khi chia.
SFT: những lựa chọn thật sự có ảnh hưởng
Phần huấn luyện nghe có vẻ là khoa học cao siêu nhưng quyết định thực tế khá cụ thể. Chọn model nền: cỡ nào, có sẵn khả năng tiếng Việt đến đâu, giấy phép ra sao. Chọn finetune toàn bộ hay LoRA. Chọn tốc độ học và số epoch. Với dữ liệu ít, chạy quá nhiều epoch khiến model học thuộc lòng và mất khả năng tổng quát, nên mất ngôn ngữ chung, trả lời cứng nhắc. Dấu hiệu quen thuộc: loss huấn luyện giảm mãi, loss kiểm định bắt đầu tăng.
Một hiện tượng khác là 'quên thảm hoạ' (catastrophic forgetting): model giỏi tác vụ mới nhưng tệ đi ở những việc cũ. Cách giảm là trộn thêm một phần dữ liệu đa dạng chung vào, dùng tốc độ học thấp, hoặc dùng LoRA. Đánh đổi nào cũng có giá, và không có công thức đúng cho mọi bài toán, nên cần chạy thử nhiều cấu hình nhỏ rồi so sánh.
Về hạ tầng, chúng tôi huấn luyện trên cluster 24 GPU NVIDIA H200 và 8 GPU NVIDIA B300. H200 có 141GB HBM3e với băng thông khoảng 4,8TB/s, B300 có khoảng 288GB HBM3e. Với finetune, bộ nhớ lớn giúp dùng batch lớn hơn và ngữ cảnh dài hơn mà ít phải chia nhỏ, từ đó thử nghiệm được nhanh hơn. Đừng đọc đó như một lời hứa về chất lượng: dữ liệu vẫn là thứ quyết định.
Đánh giá trước khi đưa vào dùng
Đây là bước hay bị rút ngắn nhất, và cũng là bước đáng giữ nhất. Chúng tôi thường đánh giá ở ba lớp.
- Tự động trên tập kiểm tra giữ kín: đúng định dạng, đúng thuật ngữ, đúng nội dung so với đáp án chuẩn khi có thể kiểm bằng máy.
- Chuyên gia chấm tay trên mẫu đại diện, với thang điểm rõ ràng, nhất là các câu về thuật ngữ, tình huống mơ hồ và tình huống nên từ chối.
- Thử đối kháng: câu hỏi cố tình lệch chủ đề, câu cố ép model bịa, câu không dấu, câu viết tắt, câu có lỗi chính tả.
Cũng cần so với đường cơ sở: model gốc với prompt tốt. Nếu model finetune chỉ ngang bằng, bạn đã tốn công vô ích, và nên nói thẳng điều đó. Chúng tôi giải thích vì sao điểm benchmark chưa đủ trong một bài riêng về đánh giá LLM tiếng Việt.
Triển khai và vòng lặp sau đó
Đưa model vào dùng không phải là hết. Nên bắt đầu với phạm vi hẹp hoặc chế độ 'bóng' (chạy song song, người vẫn là người quyết định), thu thập phản hồi thật, và ghi lại những trường hợp model sai. Những ca đó là nguyên liệu cho vòng finetune tiếp theo. Cần theo dõi cả chi phí, độ trễ và những thay đổi về cách người dùng hỏi theo thời gian, vì dữ liệu thật luôn lệch dần so với dữ liệu lúc huấn luyện.
Với lĩnh vực như healthcare và dược, chúng tôi đặt thêm lớp kiểm soát. Model chỉ hỗ trợ thông tin và công việc hành chính. Nó không chẩn đoán, không kê đơn, không khuyên liều dùng, và mọi đầu ra liên quan cần để người có chuyên môn y khoa xem xét và quyết định cuối cùng.
AIVISION đã phát hành LLM L1.0 và speech-to-text E1.0 cho tiếng Việt, và làm finetune cho các lĩnh vực cụ thể. Chúng tôi không đưa ra con số cam kết chất lượng chung chung, vì con số chỉ có nghĩa khi gắn với một bài toán và một bộ đánh giá cụ thể. Điều chúng tôi có thể nói là quy trình trên, cùng thói quen đo trước khi tin, là thứ giúp nhiều dự án tránh được những bất ngờ khó chịu nhất.