Downloads · 30 days
16
14% of all-time downloads
kytrungchauwork/vit5-vietnews-sum
vit5-vietnews-sum is a summarization model from kytrungchauwork. Use it when you need a shorter version of a longer text. It is set up for transformers. The card lists the license as mit.
Mô hình tóm tắt tin tức tiếng Việt (abstractive), fine-tune từ VietAI/vit5-base trên tập nam194/vietnews.
Downloads · 30 days
16
14% of all-time downloads
All-time downloads
118
Public
Parameters
226M
904 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors904 MB · 100%
From the Hugging Face model README
Mô hình tóm tắt tin tức tiếng Việt (abstractive), fine-tune từ
VietAI/vit5-base trên tập
nam194/vietnews.
Đây không phải
VietAI/vit5-base-vietnews-summarization. Mô hình này được fine-tune độc lập trong khuôn khổ một đồ án tốt nghiệp, xuất phát từ checkpoint nềnVietAI/vit5-base.
Yêu cầu transformers >= 5.0 (tokenizer dùng backend TokenizersBackend của v5).
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
MODEL_ID = "<username>/vit5-base-vietnews-summarization-finetuned"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_ID)
article = "..." # bài báo tiếng Việt
inputs = tokenizer(
article,
return_tensors="pt",
truncation=True,
max_length=768,
)
outputs = model.generate(
**inputs,
num_beams=4,
max_new_tokens=128,
min_new_tokens=8,
no_repeat_ngram_size=3,
length_penalty=1.0,
early_stopping=True,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Các tham số sinh ở trên đã được ghi sẵn trong generation_config.json, nên gọi
model.generate(**inputs) không truyền gì cũng cho kết quả tương đương.
Kết quả tốt nhất khi đầu vào được xử lý giống lúc huấn luyện:
_ (word segmentation của vietnews) bằng khoảng trắng</s> — tokenizer đã tự thêmĐánh giá một lần duy nhất trên split test (22.498 mẫu, không lấy mẫu con),
rouge_score 0.1.2, F1, thang 0–100, tắt stemmer (Porter stemmer chỉ dành cho
tiếng Anh).
| Metric | Điểm | KTC 95% (bootstrap, 10.000 lần) |
|---|---|---|
| ROUGE-1 | 37.80 | [37.59, 38.01] |
| ROUGE-2 | 20.05 | [19.85, 20.26] |
| ROUGE-L | 30.32 | [30.12, 30.53] |
| Số token nguồn | n | ROUGE-1 | ROUGE-2 | ROUGE-L |
|---|---|---|---|---|
| ≤256 | 1.798 | 43.93 | 23.92 | 36.20 |
| 257–512 | 9.667 | 40.00 | 21.79 | 32.66 |
| 513–768 | 5.684 | 37.11 | 19.90 | 29.53 |
| >768 | 5.349 | 32.49 | 15.78 | 24.97 |
Chất lượng giảm rõ rệt với bài dài hơn 768 token, vì phần vượt quá bị cắt bỏ.
| Checkpoint nền | VietAI/vit5-base (rev 2209a38) |
| Dữ liệu | nam194/vietnews — train 99.134 / validation 22.184 / test 22.498 |
| Checkpoint chọn | checkpoint-9294 (epoch 3) |
| Epochs | 3 |
| Batch | 4 × 8 gradient accumulation = 32 |
| Optimizer | AdamW fused, β=(0.9, 0.999), ε=1e-8 |
| Learning rate | 3e-5, lịch tuyến tính, warmup 5% (465 bước) |
| Weight decay | 0.01 |
| Precision | bf16 |
| Grad clipping | 1.0 |
| Seed | 42 |
| Tham số | 225.950.976 |
| GPU | RTX 5060 Ti (16GB) |
Hàm mất mát là cross-entropy có trọng số theo token: tổng CE trên các token mục tiêu chia cho tổng số token mục tiêu trong toàn batch tích luỹ.
Checkpoint được chọn theo ROUGE-L trên validation. Split test chỉ được
dùng đúng một lần, cho đánh giá cuối cùng — không có quyết định nào về siêu
tham số, tiền xử lý, giải mã hay metric được đưa ra sau khi nhìn kết quả test.
python 3.12.3
torch 2.11.0+cu128
transformers 5.15.0
tokenizers 0.22.2