Text Generation
Transformers
Safetensors
qwen3
conversational
text-generation-inference
rin2401 commited on
Commit
dbd5b67
·
verified ·
1 Parent(s): fd81cb8

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +43 -33
README.md CHANGED
@@ -1,8 +1,10 @@
1
- ---
2
- library_name: transformers
3
- base_model:
4
- - Qwen/Qwen3-8B
5
- ---
 
 
6
 
7
  <!-- This model card has been generated automatically according to the information the Trainer had access to. You
8
  should probably proofread and complete it, then remove this comment. -->
@@ -147,44 +149,52 @@ special_tokens:
147
 
148
  # Unicorn-R3
149
 
150
- ## Model description
151
 
152
- More information needed
153
 
154
- ## Intended uses & limitations
 
 
 
155
 
156
- More information needed
157
 
158
- ## Training and evaluation data
 
 
159
 
160
- More information needed
161
 
162
- ## Training procedure
163
 
164
- ### Training hyperparameters
 
165
 
166
- The following hyperparameters were used during training:
167
- - learning_rate: 2e-05
168
- - train_batch_size: 1
169
- - eval_batch_size: 1
170
- - seed: 42
171
- - distributed_type: multi-GPU
172
- - num_devices: 2
173
- - gradient_accumulation_steps: 4
174
- - total_train_batch_size: 8
175
- - total_eval_batch_size: 2
176
- - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
177
- - lr_scheduler_type: cosine
178
- - lr_scheduler_warmup_steps: 18
179
- - training_steps: 186
180
 
181
- ### Training results
 
 
 
182
 
 
183
 
 
 
 
 
184
 
185
- ### Framework versions
186
 
187
- - Transformers 4.57.3
188
- - Pytorch 2.8.0+cu128
189
- - Datasets 4.4.1
190
- - Tokenizers 0.22.1
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ base_model:
4
+ - Qwen/Qwen3-8B
5
+ datasets:
6
+ - allenai/Dolci-Think-SFT-7B
7
+ ---
8
 
9
  <!-- This model card has been generated automatically according to the information the Trainer had access to. You
10
  should probably proofread and complete it, then remove this comment. -->
 
149
 
150
  # Unicorn-R3
151
 
152
+ ## 1. Dữ liệu huấn luyện
153
 
154
+ - 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:
155
 
156
+ 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)
157
+ 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.
158
+ 3. Sau đó sinh Response dựa bằng (3-pro / 2.5-pro)
159
+ 3. 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.
160
 
161
+ - 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
162
 
163
+ - Một số phương pháp team thử nhưng chưa thành công / chưa kịp exp:
164
+ + 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ỏ.
165
+ + Dựa trên 2M SFT, team có phân loại, filter trên radnom 100k để phân loại thành 12 task chính , nhưng chưa kịp mixing để training
166
 
167
+ ## 2. Training & Evaluation
168
 
169
+ - Team xây dựng 2 bộ benchmark chính để đánh giá trong quá trình training:
170
 
171
+ + Tự động: VMLU - Đánh giá trắc nghiệm
172
+ + 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:
173
 
174
+ 1. 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)
175
+ 2. 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)
 
 
 
 
 
 
 
 
 
 
 
 
176
 
177
+ - Exp chọn model:
178
+
179
+ + 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
180
+ + Training Exp trên model 4B sau đó final apply cho 8B-VL và 8B
181
 
182
+ - Training:
183
 
184
+ + LoRA/FT: Mặc dù lượng dữ liệu nhỏ nhưng kết quả loss + eval cho thấy FT vẫn cho hiệu suất tốt hơn
185
+ + Packing dữ liệu, Ligerkernel, Flex attention giảm mem và tăng tốc độ training để exp được nhiều
186
+ + Optimize lr: 2e-5 - 2e-6
187
+ + Total exp ~40-50exp
188
 
189
+ ## 3. Nộp bài
190
 
191
+ + 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).
192
+ => 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
193
+
194
+ + 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
195
+ => Thực hiện model pruning weight để khiến mô hình không sinh các token tiếng Trung
196
+
197
+ + Finaly kết quả trước và sau training của Qwen3-8B:
198
+
199
+ * VMLU: 69.0 -> 71.74
200
+ * LLM Judge 12 task: 52 > 72 (Gemini-2.5-Flash: 84 / Gemini-2.5-Pro: 90)