/ Модель

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

Архитектура
mammoth_modular · dense
Библиотека
transformers
Опубликована
16 окт 2026

mammoth-eng_spa-g3a3-l3-h4d768

ПереводТекст → текст

Многоязычная модель Helsinki-NLP для перевода текста между 37 языками в обученных и экспериментальных zero-shot направлениях.

109скачиваний за 30 дней0лайковвеса обновлены16 окт 2026

Бенчмарки

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

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

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

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

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

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

Многоязычная трансформерная модель машинного перевода Mammoth, опубликованная Helsinki-NLP. Архитектура включает 6 слоёв энкодера и 3 слоя декодера с размерностью 768. Модель обучена для 170 направлений перевода между 37 языками; для выбора языковой пары используются отдельные языковые токенизаторы и совместно используемые компоненты модели.

Модель предназначена для перевода предложений и текстовых файлов. Она также позволяет пробовать непарные обучению сочетания языков в режиме zero-shot, но качество таких переводов может различаться, поэтому результаты следует проверять. Для загрузки и запуска предусмотрены скрипт inference.py и интеграция с Transformers; загрузка модели использует trust_remote_code=True. Условия лицензии в предоставленных данных не указаны.

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

  • перевод предложений между европейскими языками
  • пакетный перевод строк из текстового файла
  • перевод между обученными языковыми парами
  • проверка качества zero-shot перевода для новой языковой пары

Ограничения

Качество zero-shot направлений может варьироваться, поэтому такие переводы нужно проверять. Для загрузки требуется доверять поставляемому в репозитории коду модели через trust_remote_code=True.

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

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

Открыть на Hugging Face

Mammoth Multilingual Translation Model

A multilingual transformer translation model (6 encoder + 3 decoder layers, dimension 768) covering 37 source and 37 target languages, trained on 170 translation directions (tasks).

The model is stored as separate components — one per language embedding, per encoder/decoder layer stack, and so on — each stored once even when many directions share it. When you choose a direction, only the components it uses are downloaded and assembled into a model.

Setup

No Mammoth installation is needed. Create an environment and fetch the inference script from this repo:

python -m venv .venv && source .venv/bin/activate
pip install transformers torch huggingface_hub safetensors
hf download Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768 inference.py --local-dir .

inference.py downloads the model files it needs on first use (into the Hugging Face cache).

Translate

# A trained direction
python inference.py --model-dir Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768 --task eng-bos --sentences "Helsinki is the capital of Finland."

# A direction that was never trained (zero-shot): combine a source and a target language
python inference.py --model-dir Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768 --src bos --tgt bul --input-file input.bos.txt

Options

OptionMeaning
--sentences "..." "..."Sentences to translate (instead of --input-file)
--input-file <path>Text file, one source sentence per line
--output-file <path>Write translations here, one per line (default: print to the terminal)
--device cpu|cuda|mpsWhere to run the model (default: cpu)
--num-beams NBeam size (default: 4)
--max-new-tokens NMaximum output length in tokens (default: 128)
--batch-size NSentences per batch (default: 32)

Choosing a Direction

Trained directions — --task <source>-<target>. These 170 directions were trained directly and are listed in the table below.

Zero-shot directions — --src <source> --tgt <target>. Any source language can be combined with any target language, including pairs that were never trained together (1162 more directions). The source language brings its encoder and the target language its decoder. Quality of untrained pairs varies; check the output before relying on it.

Choosing layer stacks yourself — --encoder ... --decoder ... takes one id per layer stack (see the Encoder / Decoder columns below). Only stack combinations that some trained direction used can be loaded.

Languages

LanguageAs source: trained targetsEncoderDecoder
boseng hrv slv spa srp_Cyrlzls allbos
buleng spa turzls allbul
cateng sparoa allcat
ceseng slk spazlw allces
daneng nob spagmq alldan
deueng ron spa tur ukrgmw alldeu
elleng spagrk allell
engbos bul cat ces dan deu ell est eus fin fra gle glg hrv hun isl ita kat lav lit mkd mlt nld nno nob pol por ron slk slv spa sqi srp_Cyrl swe tur ukrgmw alleng
esteng spaurj allest
euseng fra spaeuq alleus
fineng spa sweurj allfin
fraeng eus nld sparoa allfra
gleeng spacel allgle
glgeng por sparoa allglg
hrvbos eng spa srp_Cyrlzls allhrv
huneng spaurj allhun
isleng spagmq allisl
itaeng sparoa allita
kateng spaccs allkat
laveng spabat alllav
liteng spabat alllit
mkdeng spazls allmkd
mlteng spasem allmlt
nldeng fra spagmw allnld
nnoeng spagmq allnno
nobdan eng spagmq allnob
poleng spazlw allpol
poreng glg sparoa allpor
rondeu eng sparoa allron
slkces eng spazlw allslk
slvbos eng spazls allslv
spabos bul cat ces dan deu ell eng est eus fin fra gle glg hrv hun isl ita kat lav lit mkd mlt nld nno nob pol por ron slk slv sqi srp_Cyrl swe tur ukrroa allspa
sqieng spamul allsqi
srp_Cyrlbos eng hrv spagmq allsrp_Cyrl
sweeng fin spagmq allswe
turbul deu eng spatrk alltur
ukrdeu eng spazle allukr

Encoder / Decoder show the layer-stack ids used for the language (one id per stack); — means the language is not available on that side.

Using the Model from Python

inference.py is also a module (it must be in the current directory or on sys.path):

from inference import load_model, translate

src_tok, tgt_tok, model = load_model("Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768", task="eng-bos")
print(translate(src_tok, tgt_tok, model, ["Helsinki is the capital of Finland."]))

load_model also takes src= / tgt= (and encoder= / decoder=), like the command line. translate() takes num_beams and max_new_tokens. model is a standard transformers model, so model.generate() also works if you need more control.

Offline Use

To keep a copy in a folder of your choice instead of the Hugging Face cache, use the shipped model_downloader.py:

hf download Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768 model_downloader.py --local-dir .

# Everything
python model_downloader.py --repo-id Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768 --local-dir ./model

# Only the files needed for one task
python model_downloader.py --repo-id Helsinki-NLP/mammoth-eng_spa-g3a3-l3-h4d768 --local-dir ./eng-bos --task eng-bos

The downloaded folder contains inference.py; pass the folder as --model-dir:

python ./eng-bos/inference.py --model-dir ./eng-bos --task eng-bos --input-file in.txt

Notes

  • Mammoth uses a separate vocabulary per language, so each direction has a source tokenizer (for the input) and a target tokenizer (for the output). inference.py and load_model() pick the right pair for you.
  • The model code is shipped in this repo (modeling_mammoth.py, native_transformer.py, ...), which is why loading uses trust_remote_code=True.
  • Trained with MAMMOTH.

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

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

GPU в ailist

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

Нельзя запустить

Архитектура mammoth_modular неизвестна transformers в образе рантайма.

Ревизия весов
2ab25f4

0 моделей