kha-en-nllb-v0.4
**MWire Labs | Internal Use Only **
Results (goldtest_new.xlsx — 500 pairs)
| Model | kha→en | en→kha |
|---|---|---|
| stage0.1 | 17.25 | 21.78 |
| stage1 | 17.94 | 21.80 |
| v0.3 | 32.31 | 35.83 |
| v0.4 (this) | 32.97 | 36.80 |
Training
- Base: Badnyal/kha-en-nllb-v0.3
- Epochs: 3 | LR: 5e-6 cosine | bf16 | batch 32
- Val loss: 0.3270 (vs 0.5231 in v0.3)
Language Token
kha_Latn (ID: 256204) — manually added, not in base NLLB vocab.
Inference
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("Badnyal/kha-en-nllb-v0.4")
model = AutoModelForSeq2SeqLM.from_pretrained("Badnyal/kha-en-nllb-v0.4")
model.eval()
def translate(text, src_lang, tgt_lang):
tokenizer.src_lang = src_lang
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
forced_bos_id = tokenizer.convert_tokens_to_ids(tgt_lang)
outputs = model.generate(**inputs, forced_bos_token_id=forced_bos_id, max_new_tokens=128, num_beams=5)
decoded = tokenizer.decode(outputs[0], skip_special_tokens=True)
for tag in ["eng_Latn", "kha_Latn"]:
if decoded.startswith(tag):
decoded = decoded[len(tag):].strip()
return decoded
# kha -> en
print(translate("Ka jingthmu jong ka sorkar jylla", "kha_Latn", "eng_Latn"))
# en -> kha
print(translate("The government is working to develop the state.", "eng_Latn", "kha_Latn"))
- Downloads last month
- 60