Image-Text-to-Text
Transformers
Safetensors
qwen3_vl
conversational
rin2401 commited on
Commit
ad2c8f8
·
verified ·
1 Parent(s): 0953e12

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +61 -0
README.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ base_model:
4
+ - Qwen/Qwen3-VL-8B-Thinking
5
+ datasets:
6
+ - allenai/Dolci-Think-SFT-7B
7
+ ---
8
+
9
+ # Unicorn-VL-R3
10
+
11
+ ## 1. Dữ liệu huấn luyện
12
+
13
+ - 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:
14
+
15
+ 1. 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)
16
+ 2. 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.
17
+ 3. Sau đó sinh Response dựa bằng (3-pro / 2.5-pro)
18
+ 4. 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.
19
+
20
+ - 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
21
+
22
+ - Một số phương pháp team thử nhưng chưa thành công / chưa kịp exp:
23
+ + 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ỏ.
24
+ + 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
25
+
26
+ ## 2. Training & Evaluation
27
+
28
+ - Team xây dựng 2 bộ benchmark chính để đánh giá trong quá trình training:
29
+
30
+ + Tự động: VMLU - Đánh giá trắc nghiệm
31
+ + 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:
32
+
33
+ + 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)
34
+ + 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)
35
+
36
+ - Exp chọn model:
37
+
38
+ + 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
39
+ + Training các thử nghiệm trên model Qwen3-4B sau đó final apply cho Qwen3-8B-VL và Qwen3-8B
40
+
41
+ - Training
42
+
43
+ + 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
44
+ + Packing dữ liệu, Ligerkernel, Flex attention giảm mem và tăng tốc độ training để exp được nhiều
45
+ + Optimize lr: 2e-5 - 2e-6
46
+ + Total exp ~40-50exp
47
+
48
+ ## 3. Nộp bài
49
+
50
+ - 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).
51
+
52
+ => 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
53
+
54
+ - 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
55
+
56
+ => Thực hiện model pruning weight để khiến mô hình không sinh các token tiếng Trung
57
+
58
+ - Kết quả trước và sau training của Qwen3-8B:
59
+
60
+ * VMLU: 69.0 -> 71.74
61
+ * LLM Judge 12 task: 52 -> 72 (Gemini-2.5-Flash: 84 / Gemini-2.5-Pro: 90)