/ Модель

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

Контекст
512 токенов
Лицензия
CC BY-NC 4.0
Архитектура
marian · dense
Базовая модель
opus-mt-zle-zle
Библиотека
transformers
Опубликована
4 окт 2026

ru-kbd-bidirectional

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

Компактная MarianMT-модель для двунаправленного перевода между русским и кабардинским языками.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель kubataba/ru-kbd-bidirectional — компактный двунаправленный переводчик с архитектурой MarianMT и 61 млн параметров, дообученный на базе Helsinki-NLP/opus-mt-zle-zle. Она переводит между русским языком и кабардинским (восточночеркесским, kbd); направление задаётся целевым тегом в начале входного текста. Модель предназначена для перевода в обоих направлениях, в том числе для работы с малоресурсной языковой парой.

Модель принимает и выдаёт текст, использует библиотеку Transformers и распространяется в формате safetensors. Нативная длина контекста — 512 токенов. В карточке указаны синтетические и параллельные данные для русского и кабардинского языков. Лицензия CC BY-NC 4.0 разрешает использование с указанием авторства, но не коммерческое применение.

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

  • перевод текстов с русского на кабардинский
  • перевод кабардинских текстов на русский
  • черновой перевод материалов для малоресурсной языковой пары

Ограничения

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

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

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

Открыть на Hugging Face

Russian ↔ Kabardian bidirectional translator (MarianMT, 61M) — version 2

One small model translates in both directions between Russian and Kabardian (East Circassian, kbd). The direction is chosen by a target tag at the start of the source text: >>kbd<< (into Kabardian) or >>ru<< (into Russian).

Version 2 (this revision) is a new training from Helsinki-NLP/opus-mt-zle-zle on our cleaned corpus v2 and on re-translated synthetic data, with the same tokenizer and the same input/output format as version 1. On FLORES-200 it reaches chrF 59.6 for ru→kbd and 51.3 for kbd→ru (version 1: 55.9 / 49.6). Version 1 stays available at the revision v1.

architectureMarianMT, 6 + 6 layers, d_model 512, 8 heads, 61M parameters
tokenizerSentencePiece unigram, Russian + Kabardian, 32 045 pieces — unchanged from version 1
palochkaalways ӏ U+04CF (not Latin I, not Ӏ U+04C0) — normalize your input
decodingbeam 4 (greedy: −0.5 / −0.6 chrF, about 9× faster with the int8 ONNX on a CPU)
licenceCC-BY-NC-4.0

Usage

from transformers import MarianMTModel, MarianTokenizer

name = "kubataba/ru-kbd-bidirectional"                  # version 2; revision="v1" for version 1
tok = MarianTokenizer.from_pretrained(name)
model = MarianMTModel.from_pretrained(name).eval()

def translate(text, target):              # target: "kbd" or "ru"
    batch = tok([f">>{target}<< {text}"], return_tensors="pt")
    out = model.generate(**batch, num_beams=4, max_new_tokens=160)
    return tok.decode(out[0], skip_special_tokens=True)

print(translate("Сейчас он работает в Москве.", "kbd"))   # Иджыпсту ар Москва щолажьэ
print(translate("Иджы псори нэгъуэщӏущ.", "ru"))       # Теперь все по другому.

Write the Kabardian palochka as ӏ (U+04CF). Inputs with Latin I or 1 in its place should be normalized first.

Recommended use: translate sentence by sentence (whole paragraphs lose content), and stop the generation if a short piece repeats four times in a row (degenerate loops are rare but possible, mostly in the int8 version).

Results

FLORES-200 (devtest, first 200 sentences, Russian side from FLORES) — the same evaluation set as for version 1. The 200 Kabardian references were made for this evaluation with Yandex Translate: sentences 1–50 were checked and corrected by a native speaker, sentences 51–200 are the machine translation used as is. A machine-made reference favours outputs that resemble that system, so treat the 51–200 part as indicative; the 1–50 column is the human-checked one. The references are not distributed. FLORES sentences were removed from all training data; the same 200 sentences were also used to choose checkpoints.

modelru→kbd (200)kbd→ru (200)ru→kbd (1–50, human-checked)kbd→ru (1–50)
version 1, beam 455.949.656.450.1
version 2, beam 459.651.360.252.8
version 2, int8 ONNX, beam 459.651.3——
version 2, int8 ONNX, greedy59.150.7——

anzorq test set (1 081 pairs, mostly dictionary entries — very short): ru→kbd 46.6, kbd→ru 42.5 (version 1: 45.8 / 40.5).

Hyphenated words keep their hyphen in 99.8% (kbd→ru) and 100% (ru→kbd) of a 500-sentence probe; Latin words in the source are carried through to the output in 98% (ru→kbd) and 96% (kbd→ru) of cases (46 Latin words in FLORES).

Training

Base model and tokenizer. The transformer body comes from Helsinki-NLP/opus-mt-zle-zle, a multilingual East Slavic model; it replaced the Russian–Ukrainian body of version 1. The joint Russian–Kabardian tokenizer of version 1 was kept, so the model files have the same format. Each piece's embedding started as the mean of the base model's embeddings of the pieces the base tokenizer split it into; the direction tags started from the base model's own tags (>>ru<< from >>rus<<, >>kbd<< from >>bel<<).

Parallel data. 322 582 Russian–Kabardian pairs: our cleaned compilation from adiga-ai/circassian-parallel-corpus and adiga-ai/circassian-russian_texts_synthetic. Compared with version 1, lines whose Russian is the machine translation of the synthetic texts were removed, lines flagged by our defect detectors (copies, calques, unsupported press names, repeats) were removed, sentences of the parallel corpus dropped by an earlier length filter were returned through the same checks, and hyphenated words split by the source were restored. Each pair is used in both directions, twice per epoch.

Synthetic data — the target side is always real text. Machine-made text is only ever on the input side, so the model learns to produce real Kabardian and real Russian.

For the final stages both synthetic sides were re-translated by earlier versions of this translator. The Kabardian side of the forward-translated set was re-translated by three earlier versions, and for each sentence one candidate was kept, primarily the one with the fewest Russian words left over from the source: Russian lemmas left in that side fell from 44.5 to 18.7 per 100 sentences. The Russian side of the back-translated set was re-translated by an earlier version as well. Programme listings and the numbering of crossword clues were removed, and pairs with lost numbers or truncated output were dropped. The re-translated versions are not published.

84 000 steps in total (batch 128, RTX 4090, about 2.5 hours):

stepswhat was traineddata
1 000the new vocabulary embeddings onlycorpus v2
31 000the whole modelcorpus v2: parallel pairs twice, synthetic pairs, Latin carry-through
30 000the whole modelthe cleaned corpus v2
1 000the whole modelparallel pairs and Latin carry-through only
21 000the whole modelparallel pairs twice, re-translated synthetic sides

Hyperparameters: AdamW, weight decay 0.01, label smoothing 0.1, inverse square-root schedule, batch 128, max length 128 tokens; lr 3e-4 for the first 32 000 steps, then 1e-4, and 3e-5 for the parallel-only stage; bf16 on the GPU. The final checkpoint was chosen by beam-4 chrF on FLORES-200 and the anzorq test set and by listening to a translated book chapter.

Limitations

  • Quoted text. In the Kabardian press, names in quotes stay in Russian, and the model learned to copy quoted text. For direct speech in quotes, translate the inside of the quotes separately and put the quotes back (in our app: quoted spans of 4+ words are translated apart; shorter ones lose the quotes and are translated in context).
  • Rare words (technical, archaic) may be left in Russian; a dictionary substitution is not a fix — Kabardian needs the inflected form.
  • kbd→ru improved less than ru→kbd; short isolated words remain the hardest case in both directions.
  • Long sentences (> 40 words) are rare in training; split at clause boundaries.

Licence and attribution

The model is released under CC-BY-NC-4.0 (non-commercial). The copyright holder uses it in the SayFable app.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MarianMTModel
Ревизия весов
58179bf

0 моделей