mbert-vifn / README.md
BaoNhan's picture
Fine-tune mBERT on ViFN: seeds [42, 22, 202]
7e5aacd verified
|
Raw
History Blame Contribute Delete
3.87 kB
---
language:
- vi
library_name: transformers
pipeline_tag: text-classification
base_model: "bert-base-multilingual-cased"
tags:
- vietnamese
- fake-news-detection
- text-classification
- vifn
metrics:
- f1
- accuracy
---
# mbert-vifn
This model is `bert-base-multilingual-cased` fine-tuned for binary Vietnamese fake-news classification on the text-only ViFN benchmark.
## Evaluation protocol
- Dataset size: 1,406 examples.
- Fixed splits: 1,124 train / 141 development / 141 test.
- Split seed: 42, stratified by label with exact duplicate groups kept in one split.
- Fine-tuning seeds: [42, 22, 202].
- Training: 3 epoch(s), AdamW, learning rate 2e-05, weight decay 0.01, warmup ratio 0.1.
- Effective train batch size: 8.
- Maximum sequence length: 256.
- Raw Vietnamese text was tokenized directly with the released tokenizer; no external word segmentation.
- No class weighting, resampling, external metadata, images, engagement features, or test-time model selection.
- Checkpoints are selected by development Macro-F1. The representative published checkpoint is seed **42**, selected only by development Macro-F1.
## Results
Test metrics are reported as mean ± sample standard deviation over seeds [42, 22, 202].
| Metric | Mean ± std |
|---|---:|
| Test Macro-F1 | 0.8246 ± 0.0080 |
| Test accuracy | 0.8251 ± 0.0082 |
| Test macro precision | 0.8298 ± 0.0110 |
| Test macro recall | 0.8255 ± 0.0083 |
| Development Macro-F1 | 0.8481 ± 0.0150 |
### Per-seed results
| seed | dev_macro_f1 | test_macro_f1 | test_accuracy | micro_batch_size | gradient_accumulation_steps |
|-----------:|---------------:|----------------:|----------------:|-------------------:|------------------------------:|
| 22.000000 | 0.836353 | 0.815371 | 0.815603 | 8.000000 | 1.000000 |
| 42.000000 | 0.865004 | 0.829573 | 0.829787 | 8.000000 | 1.000000 |
| 202.000000 | 0.843016 | 0.828745 | 0.829787 | 8.000000 | 1.000000 |
## Label mapping
```json
{
"0": "0",
"1": "1"
}
```
## Usage
```python
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_id = "BaoNhan/mbert-vifn"
tokenizer = AutoTokenizer.from_pretrained(model_id, use_fast=False)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
text = "Đây là nội dung tin tức tiếng Việt cần phân loại."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=256)
with torch.no_grad():
probabilities = model(**inputs).logits.softmax(dim=-1)[0]
predicted_id = int(probabilities.argmax())
print(model.config.id2label[predicted_id], probabilities.tolist())
```
## Files
- `aggregate_metrics.json`: complete aggregate metrics and training manifest.
- `artifacts/per_seed_results.csv`: one row per fine-tuning seed.
- `artifacts/seed_*_confusion_matrix.csv`: confusion matrix for each seed.
- `artifacts/seed_*_classification_report.json`: per-class metrics.
- `artifacts/seed_*_test_predictions.csv`: IDs, gold/predicted labels and probabilities; raw text is excluded.
## Limitations
ViFN is small and domain-specific. Performance may not transfer to newly emerging misinformation, other Vietnamese writing styles, or texts requiring image/source/engagement evidence. The model predicts from linguistic content only and should not be treated as a factual verification system.
## Dataset citation
```bibtex
@article{huynh2025vifn,
title={Utilizing Transformer Models To Detect Vietnamese Fake News on Social Media Platforms},
author={Huynh, Anh-Tuan and Tran, Phuoc},
journal={KSII Transactions on Internet and Information Systems},
volume={19},
number={2},
pages={472--487},
year={2025},
doi={10.3837/TIIS.2025.02.006}
}
```