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
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for MihaiPopa-1/M2M100-418M-Klingon

Finetuned
(166)
this model

Dataset used to train MihaiPopa-1/M2M100-418M-Klingon

Space using MihaiPopa-1/M2M100-418M-Klingon 1