File size: 2,450 Bytes
0a46c43 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ---
language:
- en
- vi
tags:
- translation
- opus-mt
- marian
- novel
- literature
license: apache-2.0
datasets:
- custom-novel-parallel-corpus
metrics:
- bleu
- chrf
model-index:
- name: opus-mt-en-vi-novel-finetuned
results:
- task:
type: translation
name: EN to VI Novel Translation
dataset:
name: Custom novel EN-VI parallel validation set (17,272 samples)
type: novel-literature
metrics:
- type: bleu
value: 29.29
name: BLEU
- type: chrf
value: 49.13
name: ChrF++
---
# opus-mt-en-vi-novel-finetuned
Fine-tuned English → Vietnamese translation model optimized for **novels, literature, and narrative text**.
Fine-tuned from `Helsinki-NLP/opus-mt-en-vi` (MarianMT) for 1 epoch on ~328K parallel EN-VI novel sentence pairs.
## Results Summary
### Full Validation Set (17,272 samples)
| Model | BLEU | ChrF++ |
|-------|------|--------|
| **Fine-tuned** | **29.29** | **49.13** |
| Baseline (Helsinki-NLP/opus-mt-en-vi) | 3.73 | 20.87 |
### Improvement over baseline
- **BLEU:** 8.2x (3.53 → 29.01 on sanity set)
- **ChrF++:** 2.4x (20.50 → 49.07 on sanity set)
## Usage
```python
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
model = AutoModelForSeq2SeqLM.from_pretrained("richardadam/opus-mt-en-vi-novel-finetuned")
tokenizer = AutoTokenizer.from_pretrained("richardadam/opus-mt-en-vi-novel-finetuned")
text = "He looked at the door but did not dare to open it."
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256, num_beams=4)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
# Hắn nhìn cánh cửa, nhưng không dám mở ra.
```
## Training
- **Base:** Helsinki-NLP/opus-mt-en-vi
- **Epochs:** 1
- **Batch size:** 16
- **GPU:** NVIDIA L4 (22.5 GB)
- **Runtime:** ~3h15m
## Limitations
- Single-epoch fine-tune — may benefit from more training
- Novel domain only — may underperform on technical/formal text
- Baseline model performs very poorly on novels (BLEU 3.53), confirming domain-specific fine-tuning is essential
## Citation
```bibtex
@misc{opus-mt-en-vi-novel-finetuned,
author = {richardadam},
title = {opus-mt-en-vi-novel-finetuned},
year = 2026,
publisher = {Hugging Face},
howpublished = {huggingface.co/richardadam/opus-mt-en-vi-novel-finetuned},
}
```
|