Gipformer 1.5 (68M) - LifeMate fine-tune d5564d05
Nội bộ đội LifeMate. Không chia sẻ ra ngoài đội: weight được fine-tune trên audio train của BTC Zalo AI Challenge, thể lệ (S2 §4.1, §8.2) không cho phân phối cho bên thứ ba trong thời gian thi.
Nguồn gốc
- Base:
g-group-ai-lab/gipformer-68M-rnnt, revisiondd9227dc, license MIT. - Fine-tune: 4 epoch, lr 5e-5, trên audio train của kit, loại 300 ID held-out.
Checkpoint PyTorch SHA-256
494e18be..., export ONNX bằnglifemate.speech.asr.zipformer_ft export.
File
| File | SHA-256 |
|---|---|
| encoder.onnx | d5564d05b5db3745875beffb1a17f2e826bec5fba235588d2ce0ff885f7cbd92 |
| decoder.onnx | 62b3486da341d67864c1279c49faad55a7e360025d6db85e9e47b51366ff6a36 |
| joiner.onnx | cf9a8971751f1ad51fc2ac8645773c2ed5f063b4a017c10c419ce9351b02cf19 |
| tokens.txt | f536d03c2e95ebd2930cf0abec88e823bd17d3c1933da7ae6a82db3b80605e15 |
| bpe.model | 289dbb44527c13c419ae3a4d8ce6a349f01a97f8777e69934a77e3692d2f10db |
export.json chứa cùng bảng hash.
Kết quả đã đo (WER chuẩn hóa của dự án, %)
| Tập | Gốc dd9227dc |
FT d5564d05 |
|---|---|---|
| Held-out 300 ID (train kit) | 17,00 | 8,74 |
| FLEURS vi test | 8,80 | 11,47 |
| VietMed test | 12,19 | 15,39 |
Bản FT tốt hơn trong miền dữ liệu của kit nhưng kém hơn bản gốc ngoài miền. Khi đánh giá, nên so với bản gốc trên cùng một tập.
Đánh giá sau khi test FLEURS và VietMed
Cách đo: decode greedy bằng sherpa-onnx trên CPU. Cả hai model dùng chung pipeline và chung cách chuẩn hóa.
CI95 tính bằng bootstrap theo câu. Âm thanh VietMed được phục vụ ở 8 kHz nên phải nâng lên 16 kHz trước khi
decode. FLEURS revision 70bb2e84, VietMed revision f302146d.
| Tập | Câu / từ | Δ WER FT − gốc [CI95] | Số câu FT tốt hơn / tệ hơn |
|---|---|---|---|
| FLEURS vi test | 857 / 26.021 | +2,67 [2,38; 2,96] | 66 / 403 |
| VietMed test | 3.437 / 77.492 | +3,20 [2,62; 3,58] | 328 / 1.675 |
Kết luận:
- FT tăng mạnh độ chính xác trong miền: WER held-out giảm khoảng một nửa, từ 17,00 xuống 8,74. Trên held-out, E2E với agent API tăng +5,85 điểm [2,28; 9,39]. Trên public test, điểm tăng từ 47,12 lên 52,07 (cùng agent, chỉ đổi ASR).
- FT kém hơn bản gốc ngoài miền: WER tăng khoảng 3 điểm trên cả hai tập. CI95 không chứa 0, và số câu bị tệ hơn gấp khoảng 5 lần số câu được cải thiện.
- Suy giảm xảy ra ở mọi nhóm, đây là dấu hiệu quên kiến thức chung (catastrophic forgetting):
- Phần lỗi tăng thêm chủ yếu là thay từ, chiếm khoảng 78–79%.
- Câu có hay không có tiếng Anh, có hay không có chữ số đều tệ hơn ở mức gần như nhau.
- Trên VietMed, mọi vùng giọng đều tệ hơn. Nặng nhất là Nam Trung Bộ (+5,11) và Bắc (+3,43).
- Output bị kéo về từ vựng của kit: FT sinh ít từ nằm ngoài từ vựng train (1.880 âm tiết) hơn bản gốc, kể cả khi người nói dùng từ khác. Đây mới là giả thuyết, chỉ có bằng chứng gián tiếp.
- Rủi ro cho private test: public test có 11 app không xuất hiện trong train. Nếu private test cũng có app mới, lợi ích trong miền của FT có thể không giữ được.
Khuyến nghị cho đội:
Bản FT này hợp làm baseline trong miền. Không nên coi nó là ASR chính cuối cùng nếu chưa đo trên app mới.
Phương án đang được cân nhắc là
gipformer1.5-68m-wise05, trộn trọng số gốc và FT với α = 0,5. Con số:- Held-out: WER 10,09, giữ khoảng 84% mức giảm của FT.
- FLEURS 9,05, tệ hơn gốc +0,25.
- VietMed 12,55, tệ hơn gốc +0,36.
Bản này đạt gate đăng ký trước (ngoài miền không tệ hơn gốc quá 0,5 điểm), nhưng E2E chưa đo.
Khi test, nên báo kết quả theo nhóm app có trong train và nhóm app mới, so trên cùng tập với bản gốc
dd9227dc.
Giới hạn:
- FLEURS là câu đọc, VietMed là hội thoại y tế. Cả hai không phải lệnh trợ lý, nên chỉ dùng làm proxy cho khả năng tổng quát.
- Trên VietMed, bản FT lỗi decode 1 câu (
utt_id_test_000865, clip 49 giây, lỗi ONNXReshape). Câu này vẫn tính trong mẫu số. Clip dài nhất của kit là 22,3 giây nên không bị ảnh hưởng.
Cách dùng trong repo LifeMate
python -m pip install "huggingface_hub>=0.34"
python -c "from huggingface_hub import snapshot_download; snapshot_download('ZAC-G1/gipformer1.5-68m-ft', local_dir=r'checkpoints\gipformer1.5-68m-ft@d5564d05')"
Get-FileHash "checkpoints\gipformer1.5-68m-ft@d5564d05\encoder.onnx" -Algorithm SHA256
Đặt đúng thư mục trên thì backend gipformer1.5-68m-ft nhận được ngay
(src/lifemate/speech/asr/local_backends.py).
Model tree for ZAC-G1/gipformer1.5-68m-ft
Base model
g-group-ai-lab/gipformer-68M-rnnt