--- 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}, } ```