/ Модель

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

Контекст
8 192 токена
Параметры
149 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Библиотека
transformers
Опубликована
24 янв 2025

RuModernBERT-base

Заполнение пропусковТекст → текст11 профессий

Русскоязычный энкодер ModernBERT для предсказания замаскированных токенов и построения контекстных представлений текста.

9 439скачиваний за 30 дней75лайковвеса обновлены9 июн 2025

Бенчмарки

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

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

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

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

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

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

RuModernBERT-base — русская версия двунаправленного энкодера ModernBERT, разработанная DeepVk. Это плотный Transformer с архитектурой ModernBERT и задачей masked language modeling: модель обучена предсказывать замаскированные токены и создавать контекстные представления текста. Число параметров — около 149 млн, глубина — 22 слоя, размер словаря — 50 368 токенов, длина контекста — до 8 192 токенов.

Предобучение охватывает примерно 2 трлн токенов на русском и английском языках, а также коде; использовались интернет-источники, книги, научные материалы и социальные сети. Модель подходит как основа для задач понимания текста, включая классификацию и распознавание именованных сущностей после соответствующей настройки. Для NER авторы рекомендуют ревизию patched-tokenizer: в ней шесть часто встречающихся строчных русских букв токенизируются по одному токену. На 20 задачах RuMTEB статистически значимого ухудшения качества относительно исходной версии не обнаружено.

Модель распространяется под лицензией Apache-2.0. Это энкодер для анализа и представления текста, а не генеративный чат-бот; для прикладных задач, отличных от заполнения масок, может потребоваться дополнительная настройка. Указанные авторами оценки RSG рассчитаны на dev-выборке с подбором гиперпараметров.

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

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

Ограничения

Для классификации, распознавания сущностей и других прикладных задач может потребоваться дообучение. Модель является энкодером, а не генеративным чат-ботом.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

RuModernBERT-base

The Russian version of the modernized bidirectional encoder-only Transformer model, ModernBERT. RuModernBERT was pre-trained on approximately 2 trillion tokens of Russian, English, and code data with a context length of up to 8,192 tokens, using data from the internet, books, scientific sources, and social media.

Model SizeHidden DimNum LayersVocab SizeContext LengthTask
deepvk/RuModernBERT-small35M38412503688192Masked LM
deepvk/RuModernBERT-base [this]150M76822503688192Masked LM

Notice ⚠️

The patched tokenizer is provided under the patched-tokenizer revision.

We observed that several Russian lowercase letters were split into multiple subword tokens. This can be problematic for tasks like Named Entity Recognition (NER), where it is important that the first token of a word is a semantically meaningful unit.

To address this, we release a patched revision of the tokenizer with minimal but targeted change. Six common Russian lowercase letters (а, е, и, н, о, т) are now encoded as single tokens. These tokens were assigned to [unusedX] slots in the vocabulary. Corresponding BPE merges were added to ensure proper single-token encoding during inference. To preserve compatibility with the pretrained model each new token was initialized with the embedding of its uppercase counterpart both in tok_embedding and lm_head. To prevent duplicate vectors and maintain robustness, a small amount of Gaussian noise was added during initialization with gamma 1e-3.

We evaluated the patched model on 20 tasks from the RuMTEB benchmark and did not observe any statistically significant differences in performance compared to the original version. If your task is sensitive to tokenization granularity, such as in NER, we recommend using this updated version.

Usage example:

from transformers import AutoTokenizer, AutoModelForMaskedLM

model_id = "deepvk/RuModernBERT-base"

# You can specify revision
revision = "patched-tokenizer"
tokenizer = AutoTokenizer.from_pretrained(model_id, revision=revision)
model = AutoModelForMaskedLM.from_pretrained(model_id, revision=revision, attn_implementation="flash_attention_2")

Usage

Don't forget to update transformers and install flash-attn if your GPU supports it.

from transformers import AutoTokenizer, AutoModelForMaskedLM

# Prepare model
model_id = "deepvk/RuModernBERT-base"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForMaskedLM.from_pretrained(model_id, attn_implementation="flash_attention_2")
model = model.eval()

# Prepare input
text = "Лимончелло это настойка из [MASK]."
inputs = tokenizer(text, return_tensors="pt")
masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)

# Make prediction
outputs = model(**inputs)

# Show prediction
predicted_token_id = outputs.logits[0, masked_index].argmax(axis=-1)
predicted_token = tokenizer.decode(predicted_token_id)
print("Predicted token:", predicted_token)
# Predicted token:  лимона

Training Details

This is the base version with 150 million parameters and the same configuration as in ModernBERT-base. The crucial difference lies in the data we used to pre-train this model.

Tokenizer

We trained a new tokenizer following the original configuration. We maintained the size of the vocabulary and added the same special tokens. The tokenizer was trained on a mixture of Russian and English from FineWeb.

Dataset

Pre-training includes three main stages: massive pre-training, context extension, and cooldown. Unlike the original model, we did not use the same data for all stages. For the second and third stages, we used cleaner data sources.

Data SourceStage 1Stage 2Stage 3
FineWeb (En+Ru)✅❌❌
CulturaX-Ru-Edu (Ru)❌✅❌
Wiki (En+Ru)✅✅✅
ArXiv (En)✅✅✅
Book (En+Ru)✅✅✅
Code✅✅✅
StackExchange (En+Ru)✅✅✅
Social (Ru)✅✅✅
Total Tokens1.7T250B50B

Context length

In the first stage, the model was trained with a context length of 1,024. In the second and third stages, it was extended to 8,192.

Evaluation

To evaluate the model, we measure quality on the encodechka and Russian Super Glue (RSG) benchmarks. For RSG, we perform a grid search for optimal hyperparameters and report metrics from the dev split.

For a fair comparison, we compare the RuModernBERT model only with raw encoders that were not trained on retrieval or sentence embedding tasks.

Russian Super Glue

ModelRCBPARusMuSeRCTERRaRUSSERWSDDaNetQAScore
deepvk/deberta-v1-distill0.4330.560.6250.5900.9430.5690.7260.635
deepvk/deberta-v1-base0.4500.610.7220.7040.9480.5780.7600.682
ai-forever/ruBert-base0.4910.610.6630.7690.9620.5740.6780.678
deepvk/RuModernBERT-small0.5550.640.7460.5930.9300.5740.7430.683
deepvk/RuModernBERT-base [this]0.5560.610.8570.8180.9770.5830.7580.737

Encodechka

Model SizeSTS-BParaphraserXNLISentimentToxicityInappropriatenessIntentsIntentsXFactRuRuDReCAvg. SAvg. S+W
cointegrated/rubert-tiny11.9M0.660.530.400.710.890.680.700.580.240.340.6450.575
deepvk/deberta-v1-distill81.5M0.700.570.380.770.980.790.770.360.360.440.6650.612
deepvk/deberta-v1-base124M0.680.540.380.760.980.800.780.290.290.400.6530.591
answerdotai/ModernBERT-base150M0.500.290.360.640.790.620.590.100.220.200.4860.431
ai-forever/ruBert-base178M0.670.530.390.770.980.780.770.38🥴🥴0.659🥴
DeepPavlov/rubert-base-cased180M0.630.500.380.730.940.740.740.31🥴🥴0.621🥴
deepvk/RuModernBERT-small35M0.640.500.360.720.950.730.720.470.280.260.6360.563
deepvk/RuModernBERT-base [this]150M0.670.540.350.750.970.760.760.580.370.360.6730.611

Citation

@misc{deepvk2025rumodernbert,
    title={RuModernBERT: Modernized BERT for Russian},
    author={Spirin, Egor and Malashenko, Boris and Sokolov Andrey},
    url={https://huggingface.co/deepvk/rumodernbert-base},
    publisher={Hugging Face}
    year={2025},
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
ModernBertForMaskedLM
Ревизия весов
797f7ff

0 моделей