llm-language-intent / README.md
doannv's picture
Upload language intent classifier checkpoint and model card
1fa991d verified
|
Raw
History Blame Contribute Delete
2.88 kB
---
language:
- en
- vi
library_name: pytorch
tags:
- token-classification
- language-identification
- vietnamese
- english
- qwen3
license: apache-2.0
base_model: Qwen/Qwen3-14B
---
# LLM Language Intent
Checkpoint PyTorch để nhận diện ngôn ngữ **English (`en`)****Vietnamese
(`vi`)** cho từng token trong văn bản sinh bởi `Qwen/Qwen3-14B`.
Đây không phải là causal language model độc lập. Checkpoint gồm ba linear
classifier hoạt động trên hidden states của Qwen3-14B tại các layer `-1`, `-2`
`-3`; nhãn cuối cùng được chọn bằng hard majority vote.
## Kết quả
| Split | Hard-vote accuracy |
| --- | ---: |
| Validation | 94.44% |
| Test | 97.64% |
Các metric trên được tính trên tập token test nội bộ. Chúng không thay thế cho
đánh giá trên dữ liệu thực tế hoặc các miền văn bản khác.
## Nội dung repository
- `best_model.pt`: checkpoint classifier tốt nhất.
- `train_summary.json`: kết quả validation và test đã lưu.
## Cách dùng
Checkpoint yêu cầu code inference của dự án cùng base model `Qwen/Qwen3-14B`
hoặc bản Qwen3-14B 4-bit tương thích. Cài dependencies của dự án, sau đó tải
checkpoint về thư mục `checkpoints/`:
```bash
hf download luvox-ai/llm-language-intent best_model.pt \
--local-dir checkpoints
hf download luvox-ai/llm-language-intent train_summary.json \
--local-dir checkpoints
```
Từ repository mã nguồn, chạy inference:
```bash
python inference.py \
--model-path /path/to/Qwen3-14B \
--checkpoint-path checkpoints/best_model.pt \
--prompt "Xin chào, how are you?"
```
Lệnh in ra nội dung được sinh cùng nhãn `en`/`vi`, confidence theo tỷ lệ phiếu,
và kết quả riêng của từng layer. Môi trường cần CUDA, PyTorch CUDA và
BitsAndBytes để chạy Qwen3-14B 4-bit.
## Định dạng checkpoint
`best_model.pt` được lưu bằng `torch.save` với các trường:
- `model_state_dict`: trọng số của ba linear classifier.
- `config`: `input_dim=5120`, `layer_indices=[-1, -2, -3]`, hai lớp,
`aggregation=hard_vote`.
- `labels`: `english=0`, `vietnamese=1`.
- `metrics`: validation metrics tại thời điểm chọn checkpoint.
Chỉ tải checkpoint từ nguồn tin cậy vì `torch.load` có thể thực thi mã tùy ý
khi mở các file pickle không đáng tin cậy.
## Hạn chế
- Nhãn dự đoán ở mức token, nên tokenization có thể làm ranh giới từ không
trùng hoàn toàn với văn bản hiển thị.
- Checkpoint được huấn luyện cho hidden-size 5120 và các hidden layer nêu trên;
không dùng trực tiếp được với model có kiến trúc khác.
- Độ chính xác có thể giảm với ngôn ngữ khác, tên riêng, ký hiệu, hoặc dạng
viết không chuẩn.