LoRA Adapter for Viossa

This is a LoRA (Low-Rank Adaptation) adapter for facebook/nllb-200-distilled-600M fine‑tuned to translate between English and Viossa (ISO code: qpv_Latn).

Model Details

Property Value
Base Model facebook/nllb-200-distilled-600M
Language Pair English ↔ Viossa
LoRA Rank 16
Training Epochs 10
Training Samples 15000 (bidirectional)
Validation Samples 600
Hardware NVIDIA T4 (16GB VRAM)
Training Date 2026-07-30

Performance

Metric Score
BLEU 32.12
chrF++ 53.56

(Scores computed on a 100‑sample validation set.)

Training Data

Minecraft JSON localization files (key‑value objects) aligned between English and the target language (Java 1.13+).

Usage

To use this adapter with the base NLLB‑200‑600M model:

from transformers import AutoModelForSeq2SeqLM, NllbTokenizer
from peft import PeftModel

model_id = "facebook/nllb-200-distilled-600M"
adapter_id = "MihaiPopa-1/NLLB-200-Distilled-600M-Viossa"   # or local path

tokenizer = NllbTokenizer.from_pretrained(model_id)
# Add the custom language token (if needed)
if "qpv_Latn" not in tokenizer.additional_special_tokens:
    tokenizer.add_special_tokens({"additional_special_tokens": ["qpv_Latn"]})

model = AutoModelForSeq2SeqLM.from_pretrained(model_id, torch_dtype=torch.float16)
model.resize_token_embeddings(len(tokenizer))
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()

# Translate English → Viossa
def translate(text, src_lang="eng_Latn", tgt_lang="qpv_Latn"):
    tgt_token_id = tokenizer.convert_tokens_to_ids(tgt_lang)
    tokenizer.src_lang = src_lang
    inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
    with torch.no_grad():
        outputs = model.generate(**inputs, forced_bos_token_id=tgt_token_id, max_new_tokens=128)
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

print(translate("Hello, world!"))

Intended Use & Limitations

  • Use: Translation between English and Viossa, especially for historical, literary, or constructed language content.
  • Limitations: The model's performance depends on the training data. It may not generalise well to domains far from the training corpus. Evaluation is limited to a small validation set.

Citation

If you use this model, please cite the original NLLB paper and this adapter.

@article{{team2022nllb,
  title={{No Language Left Behind}: Scaling Human-Centered Machine Translation},
  author={{NLLB Team} and others},
  journal={{arXiv preprint arXiv:2207.04672}},
  year={{2022}}
}}

Acknowledgements

Trained using a Colab notebook inspired by Claude 4.6 Sonnet and DeepSeek 4 Flash.


Model card generated automatically on 2026-07-30.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for MihaiPopa-1/NLLB-200-Distilled-600M-Viossa

Adapter
(127)
this model

Paper for MihaiPopa-1/NLLB-200-Distilled-600M-Viossa