lucius204/lab21-2A202601276-qwen35-triage-vi
lab21-2A202601276-qwen35-triage-vi
LoRA adapter (r=16, text-linear placement, LR 1e-4) huấn luyện trên unsloth/Qwen3.5-4B cho bài toán: ticket CSKH tiếng Việt → JSON triage 4 trường (intent, urgency, product, sentiment). Bài nộp cho Lab 21 — AICB-P2T3, Chương 5 (Fine-tuning & An Toàn).
Report đầy đủ: `submission/REPORT.md` · Số liệu thô: `results/`
Kết quả (đo trên 50 mẫu target + 15 mẫu regression, tập đã đóng băng trước khi train)
Phán quyết cổng hồi quy: FAILED. Fine-tune thắng rõ ràng ở tác vụ chính (target +0.210 so với baseline (b) đã prompt tử tế), nhưng vi phạm ngưỡng hồi quy: general capability tụt 0.236 (dung sai cho phép 0.020) — dấu hiệu quên thảm hoạ (catastrophic forgetting), vì tập train 225 mẫu chỉ gồm JSON triage, không có dữ liệu tổng quát. Chi tiết phân tích nguyên nhân và 3 run đối chứng (attn_only, wrong_lr, qlora) nằm trong submission/REPORT.md.
Kết luận: adapter này không khuyến nghị deploy ở dạng hiện tại — cần trộn thêm 1–5% dữ liệu tổng quát vào tập train (deck §14.3) trước khi dùng thật.
Cách dùng
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3.5-4B")
tok = AutoTokenizer.from_pretrained("unsloth/Qwen3.5-4B")
model = PeftModel.from_pretrained(base, "lucius204/lab21-2A202601276-qwen35-triage-vi")Training
- Base:
unsloth/Qwen3.5-4B, tier T4 (Colab Free, Tesla T4) - LoRA:
r=16,alpha=32, targettext-linear(toàn bộ linear của text decoder) - LR:
1e-4(~10x thang full fine-tune), 2 epochs → 30 optimizer step - Precision: fp16 (T4 là Turing, không có bf16 gốc)
- Mask:
assistant-only,supervised_fraction=0.4149(đã chứng minh trongresults/mask_proof.json)
Framework versions
- PEFT 0.20.0
