odia-en-literary-translator (v4)

A QLoRA adapter on facebook/nllb-200-distilled-600M for English → Odia (ଓଡ଼ିଆ).

Honest status: v4 measurably improves general-domain English→Odia translation over the NLLB baseline (+1.46 chrF++), but does not improve literary/poetic Odia (−0.08). Released with transparent metrics — not a literary SOTA claim.

Training

  • Base: NLLB-200-distilled-600M. Adapter: LoRA r=16 (4.7M params, 0.76%), 4-bit QLoRA on a free Colab T4.
  • Data: 30,000 general English–Odia pairs (AI4Bharat Samanantar) + 678 literary pairs (real public-domain literary Odia from Odia Wikisource paired with back-translated English), literary oversampled 5× → 33,390 pairs. 1000 training steps.

Results (chrF++, sacrebleu word_order=2, 100 held-out pairs each)

Test set Baseline (NLLB) v4 Δ
General (Samanantar) 35.81 37.28 +1.46
Literary (held-out) 23.21 23.13 −0.08

Interpretation: more in-domain data + longer training yields a genuine general-domain gain. Literary stays flat because its training/test English is synthetic (back-translated) — limited literary signal. Improving literary translation requires human-curated literary parallel data.

Usage

from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from peft import PeftModel
tok = AutoTokenizer.from_pretrained("facebook/nllb-200-distilled-600M", src_lang="eng_Latn")
base = AutoModelForSeq2SeqLM.from_pretrained("facebook/nllb-200-distilled-600M")
model = PeftModel.from_pretrained(base, "nitikeshd/odia-en-literary-translator")
enc = tok("The train leaves at six in the morning.", return_tensors="pt")
out = model.generate(**enc, forced_bos_token_id=tok.convert_tokens_to_ids("ory_Orya"), num_beams=4)
print(tok.batch_decode(out, skip_special_tokens=True)[0])

Audio (text + speech)

Live demo (text + Odia speech): https://huggingface.co/spaces/nitikeshd/odia-translator-demo (audio via facebook/mms-tts-ory).

Limitations & ethics

  • Low-resource; literary fidelity remains poor. May hallucinate/drop content — verify before use.
  • Trained only on openly-licensed / public-domain Odia (Wikisource) + Samanantar.
  • Literary data uses back-translation (synthetic English) — a known weak signal.

Changelog

  • v4: 30k general + 3390 literary (×5), 1000 steps. General +1.46 chrF++; literary flat.
  • v3 (prev): 4k general + 2034 literary, 400 steps. General +0.06; literary −0.08.
Downloads last month
41
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nitikeshd/odia-en-literary-translator

Adapter
(118)
this model

Space using nitikeshd/odia-en-literary-translator 1