/ Модель

Характеристики

Контекст
1 024 токена
Параметры
324 млн
Лицензия
CC BY 4.0
Архитектура
m2m_100 · dense
Базовая модель
nllb-200-distilled-600M
Опубликована
20 июл 2026

entimt-en-tigrinya-mt

ПереводТекст → текст3 профессии

Экспериментальная модель для двунаправленного перевода между английским и тигринья, дообученная на NLLB-200 с заменённым токенизатором.

18скачиваний за 30 дней1лайквеса обновлены31 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

EnTiMT — модель машинного перевода английского и тигринья, разработанная Hailay Kidu и опубликованная в проекте EnTiMT. Она дообучена на основе facebook/nllb-200-distilled-600M: авторы заменили исходный токенизатор на MoVoC_Tok, общий токенизатор для амхарского, тигринья, тигре, геэза и английского, и переобучили модель для двунаправленного перевода. Модель построена на архитектуре M2M100, содержит 324,2 млн параметров и рассчитана на контекст до 1024 токенов.

Модель предназначена для экспериментального перевода текстов с английского на тигринья и обратно. В README описаны сбор и очистка параллельных данных, а также оценка на отдельном тестовом наборе FLORES-200. Карточка предупреждает о серьёзном дефекте: на тестовых примерах модель может многократно повторять короткие фрагменты вместо перевода, поэтому авторы не рекомендуют использовать этот чекпойнт вне экспериментов в текущем виде. Лицензия — CC BY 4.0.

Сценарии применения

  • эксперименты с переводом английского текста на тигринья
  • эксперименты с переводом тигринья на английский
  • оценка методов машинного перевода для низкоресурсных языков

Ограничения

README сообщает, что на тестовом наборе модель часто повторяет короткий фрагмент вместо полноценного перевода; авторы рекомендуют использовать чекпойнт только для экспериментов. Качество может зависеть от стратегии декодирования и недостаточного обучения после замены токенизатора.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

EnTiMT: English ↔ Tigrinya Machine Translation with a Transplanted MoVoC_Tok

This project builds a bidirectional English–Tigrinya translation model by taking a pretrained multilingual NLLB-200 checkpoint and transplanting its tokenizer for the MoVoC_Tok (a 120,000-vocabulary SentencePiece Unigram tokenizer shared across Amharic/Tigrinya/Tigre/Ge'ez/English, built earlier in this line of work) — then fully fine-tuning on a cleaned, deduplicated, multi-source parallel corpus. It extends the methodology of our own prior paper, Low-Resource English-Tigrinya MT: Leveraging Multilingual Models, Custom Tokenizers, and Clean Evaluation Benchmarks (Teklehaymanot, Gidey, Nejdl — LREC 2026), applying it to this newer, larger, 5-language-shared tokenizer instead of a narrower one.

Code: github.com/hailaykidu/EnTiMT

Pipeline

01_collection/       -> raw parallel data from every verified public source
02_cleaning/          -> normalize, filter, dedup (exact + MinHash near-dup), merge
03_tokenizer_integration/ -> transplant MoVoC_Tok into NLLB-200-distilled-600M
04_training/          -> bidirectional Seq2SeqTrainer fine-tune (SLURM)
05_evaluation/        -> BLEU / chrF / COMET on a held-out gold benchmark

1. Data collection

Every source below was verified by actually downloading it (OPUS API, GitHub clone, or reuse of an already-local repo from this session) -- see 01_collection/SOURCES.md in the code repo for the full table with license and exact pair counts. In short:

SourcePairsQuality
OPUS NLLB (mined)1,398,173noisy, web-mined
Travis Foundation Tigrinya-Parallel-Corpus126,930human-collected
OPUS CCAligned7,658noisy, web-mined
OPUS tico-196,142professionally translated (COVID-19 domain)
HornMT2,030human-translated news, multi-way parallel
OPUS Tatoeba74human, tiny

FLORES-200 devtest (tir_Ethi/eng_Latn) is fetched separately and used only as the final held-out evaluation benchmark -- it is never mixed into the training pool.

2. Cleaning

clean_corpus.py normalizes (NFC, control-char/whitespace cleanup), strips mined-bitext artifacts found in the raw NLLB data (Bible verse numbers, [alt1//alt2] inline alternate-phrasing brackets), filters by length and length-ratio, keeps only Tigrinya-script-consistent pairs, then deduplicates (exact + MinHash near-duplicate over word 3-shingles, reusing the same approach as the MoVoC_Tok project's corpus cleaning).

One real bug caught and fixed during this step: Python's str.splitlines() splits on more than \n (including U+2028 LINE SEPARATOR, present 84 times in the raw NLLB English file and only 4 times in its Tigrinya counterpart) -- using it to read the two sides of a parallel file independently silently desynced their line-for-line alignment partway through the corpus. Switched to plain \n-splitting, which matches how the files are actually newline-delimited, and re-verified alignment by spot-checking matched line indices before proceeding.

3. Tokenizer transplant

transplant_tokenizer.py replaces facebook/nllb-200-distilled-600M's own ~256k-token tokenizer with MoVoC_Tok, and re-initializes the embedding matrix with a FOCUS-style informed initialization rather than random init:

  1. Tokenize the cleaned training corpus with MoVoC_Tok itself, so the auxiliary embedding model sees the exact subword pieces this vocabulary produces.
  2. Train a FastText skip-gram model directly on that tokenized text, at dim == 1024 (NLLB-200-distilled-600M's d_model) -- no projection needed since dimensions already match.
  3. Use those vectors as the new embedding matrix, written in place via .data indexing after resize_token_embeddings(), which preserves tied encoder/decoder-input/LM-head weights.
  4. The pretrained transformer body (attention/FFN weights) is kept as-is -- that is the actual transfer-learning payload; only the embedding layer changes.

Bidirectionality is handled with direction tags (>>tir<< / >>eng<<) prepended to the encoder input.

4. Training

train_mt.py builds a bidirectional training set (every pair trains both en->ti and ti->en, so 1,140,309 cleaned pairs become 2,280,618 training examples) and fully fine-tunes with Seq2SeqTrainer (no frozen layers -- see the tokenizer-transplant section above for why).

Training configuration:

SettingValue
Base checkpointfacebook/nllb-200-distilled-600M (tokenizer/embeddings replaced, body kept)
Train / dev examples2,280,618 / 4,000 (bidirectional; dev held out from cleaning, distinct from FLORES-200)
Epochs3
Per-device train / eval batch size16 / 16
Gradient accumulation4 (effective batch size 64)
Learning rate3e-5
Max sequence length128 tokens
Precisionbf16
Eval / save intervalevery 2,000 steps
Model selectionload_best_model_at_end=True, metric_for_best_model="eval_loss"
Seed42
Direction tags>>tir<< (target=Tigrinya), >>eng<< (target=English), prepended to encoder input
Steps / wall time106,905 steps / 13h21m
Final train loss (mean of all logged steps)4.696

5. Evaluation

evaluate.py reports BLEU and chrF (via sacrebleu) and COMET (via unbabel-comet, Unbabel/wmt22-comet-da) on the held-out FLORES-200 devtest set (1,013 sentences, zero overlap with training data), in both directions, alongside qualitative before/after examples.

Results (real, FLORES-200 devtest, 1,013 sentences)

DirectionBLEUchrFCOMET
en → ti0.1334.990.416
ti → en0.89915.910.374

These scores are poor, and this is reported honestly rather than omitted. Qualitative inspection of the FLORES-200 output shows severe repetition/degeneration under greedy decoding, especially on longer source sentences — e.g. a real en→ti output for a ~20-word input:

"ኣብ'ዚ እዋን'ዚ ኣብ'ዚ እዋን'ዚ ኣብ'ዚ እዋን'ዚ ኣብ'ዚ እዋን'ዚ ኣብ'ዚ እዋን'ዚ'ዚ'ዚ'ዚ ..."

and another where "ዶክተር" ("doctor") repeats over 100 times in place of an actual translation. This pattern — the model locking into a short repeated n-gram instead of producing a full translation — appears throughout the devtest set, not just on cherry-picked examples (see 05_evaluation/eval_report.json in the GitHub repo for unedited qualitative samples). Likely contributing factors, not yet isolated: greedy decoding with no repetition penalty, and/or insufficient training given the size of the newly-transplanted embedding matrix relative to available compute.

Do not use this checkpoint for anything beyond experimentation as-is. Candidate fixes not yet tried: beam search / repetition penalty at generation time, additional training epochs, or a smaller learning rate specifically for the embedding layer.

Usage

from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

model = AutoModelForSeq2SeqLM.from_pretrained("Hailay/entimt-en-tigrinya-mt")
tokenizer = AutoTokenizer.from_pretrained("Hailay/entimt-en-tigrinya-mt")

text = ">>tir<< The weather is nice today."
inputs = tokenizer(text, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=64)
print(tokenizer.decode(out[0], skip_special_tokens=True))

Given the repetition issue above, num_beams>1 and a repetition_penalty (e.g. no_repeat_ngram_size=3, repetition_penalty=1.3) are recommended over plain greedy decoding, though this hasn't been systematically re-evaluated.

Links

Limitations

  • The bulk of training volume comes from web-mined NLLB bitext, which is noisier than human-translated data even after cleaning -- quality is upper-bounded by that source's alignment accuracy.
  • The FastText-based embedding initialization is a simplified, self-contained approximation of the FOCUS technique (trained on this project's own corpus rather than a large general-purpose auxiliary embedding space); it gives every subword piece a distributionally grounded starting point, not a semantically "solved" one.
  • Tigrinya has real dialectal variation (Eritrean vs. Ethiopian) not explicitly modeled or balanced for in the training data.

Installation

pip install transformers torch sentencepiece

Citation

This artifact uses the MoVoC-Tok tokenizer introduced in Teklehaymanot et al. (2025). Please cite:

@inproceedings{teklehaymanot2025movoc,
  title     = {MoVoC: Morphology-Aware Subword Construction for Ge'ez Script Languages},
  author    = {Teklehaymanot, Hailay Kidu and Fazlija, Dren and Nejdl, Wolfgang},
  booktitle = {Findings of the Association for Computational Linguistics: EMNLP 2025},
  year      = {2025},
  url       = {https://arxiv.org/abs/2509.08812}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
M2M100ForConditionalGeneration
Ревизия весов
f5ffa34

0 моделей