Unicorn-VL-R3
1. Dữ liệu huấn luyện
Synthetic 12 task từ Gemini: Bởi vì chất lượng thinking của API Gemini không tốt nên team sử dụng chiến lược sinh câu hỏi response - sau đó sinh giả lập thinking như dưới đây:
- Tạo Synthetic Syllabus (bao gồm cấp bậc (Tiểu học/THCS/THPT/) - Lớp - môn học - Chủ đề trong từng môn)
- Sử dụng Gemini 2.5 pro để sinh trước câu hỏi dựa trên 12 task của BTC dựa trên chủ đề, môn học của synthetic syllabus.
- Sau đó sinh Response dựa bằng (3-pro / 2.5-pro)
- Bước cuối team sử dụng Gemini 2.5 Pro/Flash để tạo giả lập chuỗi tư duy (synthetic CoT) bằng cách: tạo câu hỏi -> sinh đáp án -> dựng lại biểu diễn reasoning/thinking theo phong cách mô hình Qwen. Điều này giúp mô hình tối ưu khả năng giải quyết bài toán học đường đúng logic và sát thực tế với model base hơn. Final dữ liệu ~4k8 sample.
Public data: Từ 2M dữ liệu của bộ dữ liệu Dolci-SFT, team lọc theo ngôn ngữ và task thì giữ lại ~5k sample chất lượng cao cho tiếng Việt
Một số phương pháp team thử nhưng chưa thành công / chưa kịp exp:
- Crawl được hơn 10k dữ liệu multiple choices + answer từ tracnghiem.net -> sinh synthetic thinking -> Training -> kết quả thấp đi trên VMLU nên quyết định bỏ.
- Dựa trên 2M SFT, team có phân loại, filter trên random 100k để phân loại thành 12 task chính , nhưng chưa kịp mixing để training
2. Training & Evaluation
| Model | VMLU |
|---|---|
| Qwen3-4B-Thinking-2507 | 70.00 |
| Qwen3-8B | 69.00 |
| Qwen3-VL-8B-Thinking | 74.10 |
| Unicorn-4B-R3 | 70.59 |
| Unicorn-R3 | 71.74 |
| Unicorn-VL-R3 | 74.87 |
Team xây dựng 2 bộ benchmark chính để đánh giá trong quá trình training:
Tự động: VMLU - Đánh giá trắc nghiệm
LLM as Jugde: Build 120 câu benchmark cho 12 task của BTC, sau đó dùng Gemini-3-Pro chấm điểm chất lượng response sinh ra, follow theo bài báo Arena và đưa ra 2 cách chấm:
- So sánh (Thắng/Thua) 2 response của mô hình khác nhau (mục đích để chọn base model tốt nhất)
- Rating response (điểm từ 1-10) trước, sau FT với ground_truth response (Mục đích để kiểm tra chất lượng trước và sau finetuning)
Exp chọn model:
- Lựa chọn: Dựa trên các benchmark của team + report performance từ các mô hình team thử nghiệm tất cả và nhận thấy 3 model tốt nhất cho tiếng Việt, từ thấp đến cao đó là: Qwen3-4B-Thingking-2507, Qwen3-8B, Qwen-8B-VL-Thinking
- Training các thử nghiệm trên model Qwen3-4B sau đó final apply cho Qwen3-8B-VL và Qwen3-8B
Training
- LoRA/FFT: Mặc dù lượng dữ liệu nhỏ nhưng kết quả loss + eval cho thấy FFT vẫn cho hiệu suất tốt hơn
- Packing dữ liệu, Ligerkernel, Flex attention giảm mem và tăng tốc độ training để exp được nhiều
- Optimize lr: 2e-5 - 2e-6
- Total exp ~40-50exp
3. Nộp bài
Mô hình tốt nhất của team training được là Qwen3-VL-8B với 74.87 điểm trên VMLU, nhưng 2 task Instruction Following và Function calling thì chất lượng không bằng Qwen3-8B (chỉ có 71.74 trên VMLU).
=> Sau khi tính AVG điểm thì Qwen3-8B đạt 74.03 và Qwen3-8B-VL đạt 73.43 nên team quyết định chọn Qwen3-8B làm final model
Trong quá trình inference test để hiểu hơn về mô hình, team nhận thấy Qwen3 hay mắc các lỗi về thêm các token tiếng Trung vào trong response dù đã prompt kĩ lưỡng
=> Thực hiện model pruning weight để khiến mô hình không sinh các token tiếng Trung
Kết quả trước và sau training của Qwen3-8B:
- VMLU: 69.0 -> 71.74
- LLM Judge 12 task: 52 -> 72 (Gemini-2.5-Flash: 84 / Gemini-2.5-Pro: 90)
- Downloads last month
- -
Model tree for unicorn-team/Unicorn-VL-R3
Base model
Qwen/Qwen3-VL-8B-Thinking