All of this Readme is generated by Gemini 3 Flash
M2M100-418M Klingon Bidirectional Translator (En โ TlH)
This model is a fine-tuned version of facebook/m2m100_418M, trained for bidirectional translation between English and Klingon (tlhIngan Hol).
๐ Improvements over v1.0
- Bidirectional Support: Unlike the previous version which only supported En -> TlH, this model handles both directions seamlessly.
- Fixed Stuttering: The " 'oH, 'oH! " repetition issue has been resolved by doubling the training data and shuffling direction tags.
- Zero-Shot Potential: Due to the multilingual nature of M2M100, it can perform zero-shot translation from Romanian (ro) to Klingon with decent accuracy.
๐ Training Details
- Dataset: 66,176 rows (33k En->TlH + 33k TlH->En mirrored).
- Epochs: 3
- Batch Size: 16 (4 per device + 4 gradient accumulation steps).
- Final Training Loss: ~0.72
๐ ๏ธ Usage
from transformers import M2M100ForConditionalGeneration, M2M100Tokenizer
model = M2M100ForConditionalGeneration.from_pretrained("MihaiPopa-1/M2M100-418M-Klingon")
tokenizer = M2M100Tokenizer.from_pretrained("MihaiPopa-1/M2M100-418M-Klingon")
def translate(text, src="en", tgt="kn"):
tokenizer.src_lang = src
encoded = tokenizer(text, return_tensors="pt")
generated_tokens = model.generate(**encoded, forced_bos_token_id=tokenizer.get_lang_id(tgt))
return tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)[0]
# Examples:
print(translate("Victory is ours!", src="en", tgt="kn")) # English to Klingon
print(translate("qapla'!", src="kn", tgt="en")) # Klingon to English
print(translate("Rฤzboiul a รฎnceput.", src="ro", tgt="kn")) # Romanian to Klingon (Zero-shot)
- Downloads last month
- 15
Model tree for MihaiPopa-1/M2M100-418M-Klingon
Base model
facebook/m2m100_418M