1from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
2
3# Load model
4model = AutoModelForSeq2SeqLM.from_pretrained("Anonym-050326/nirukti-translate-1.3b")
5tokenizer = AutoTokenizer.from_pretrained("Anonym-050326/nirukti-translate-1.3b")
6
7# Translate English to Hindi
8tokenizer.src_lang = "eng_Latn"
9inputs = tokenizer("Hello, how are you?", return_tensors="pt")
10translated = model.generate(
11 **inputs,
12 forced_bos_token_id=tokenizer.convert_tokens_to_ids("hin_Deva"),
13 max_new_tokens=128,
14)
15print(tokenizer.decode(translated[0], skip_special_tokens=True))
1import ctranslate2
2from transformers import AutoTokenizer
3
4translator = ctranslate2.Translator("ct2-int8", device="cuda", compute_type="int8_float16")
5tokenizer = AutoTokenizer.from_pretrained("Anonym-050326/nirukti-translate-1.3b")
6tokenizer.src_lang = "eng_Latn"
7
8text = "Hello, how are you?"
9encoded = tokenizer(text, return_tensors=None, max_length=256, truncation=True)
10tokens = tokenizer.convert_ids_to_tokens(encoded["input_ids"])
11
12result = translator.translate_batch([tokens], target_prefix=[["hin_Deva"]], beam_size=5)
13output_tokens = result[0].hypotheses[0][1:] # skip language token
14output_ids = tokenizer.convert_tokens_to_ids(output_tokens)
15print(tokenizer.decode(output_ids, skip_special_tokens=True))
1# Tamil to English
2tokenizer.src_lang = "tam_Taml"
3# forced_bos_token_id=tokenizer.convert_tokens_to_ids("eng_Latn")
4
5# English to Marwari
6tokenizer.src_lang = "eng_Latn"
7# forced_bos_token_id=tokenizer.convert_tokens_to_ids("mwr_Deva")
1# 1. Convert to CTranslate2 int8 for fast inference
2ct2-opennmt-py-converter --model_path Anonym-050326/nirukti-translate-1.3b --output_dir ct2-int8 --quantization int8
3
4# 2. Download benchmark datasets
5python testing_scripts/download_datasets.py --output-dir eval_data
6
7# 3. Run multi-GPU evaluation
8python testing_scripts/run_evaluation.py \
9 --model ct2-int8 \
10 --tokenizer Anonym-050326/nirukti-translate-1.3b \
11 --manifest eval_data/manifest.json \
12 --output-dir results \
13 --num-gpus 4 --batch-size 64 --beam-size 5
Trained on a curated combination of parallel corpora covering all 55 languages, with hash-based deduplication and quality filtering. Low-resource language pairs are upsampled using temperature-based balancing to ensure adequate representation.