🚀 RuModernBERT-base
RuModernBERT-base 是现代化双向仅编码器 Transformer 模型 ModernBERT 的俄语版本。该模型在约 2 万亿个俄语、英语和代码数据的标记上进行了预训练,上下文长度可达 8192 个标记,使用的数据来源于互联网、书籍、科学资源和社交媒体。
✨ 主要特性
- 基于现代化的双向仅编码器 Transformer 架构,适用于俄语和英语。
- 预训练数据丰富,涵盖互联网、书籍、科学资源和社交媒体等多来源。
- 上下文长度可达 8192 个标记,能处理长文本。
📦 安装指南
使用该模型前,请确保更新 transformers
库。如果你的 GPU 支持,还需安装 flash-attn
。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForMaskedLM
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()
text = "Лимончелло это настойка из [MASK]."
inputs = tokenizer(text, return_tensors="pt")
masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
outputs = model(**inputs)
predicted_token_id = outputs.logits[0, masked_index].argmax(axis=-1)
predicted_token = tokenizer.decode(predicted_token_id)
print("Predicted token:", predicted_token)
📚 详细文档
模型参数对比
模型链接 |
模型大小 |
隐藏维度 |
层数 |
词表大小 |
上下文长度 |
任务 |
deepvk/RuModernBERT-small |
35M |
384 |
12 |
50368 |
8192 |
掩码语言模型 |
deepvk/RuModernBERT-base [本模型] |
150M |
768 |
22 |
50368 |
8192 |
掩码语言模型 |
训练详情
分词器
我们按照原始配置训练了一个新的分词器,保持了词表大小并添加了相同的特殊标记。该分词器在 FineWeb 的俄语和英语混合数据上进行训练。
数据集
预训练包括三个主要阶段:大规模预训练、上下文扩展和冷却阶段。与原始模型不同,我们在不同阶段使用了不同的数据源。
数据源 |
阶段 1 |
阶段 2 |
阶段 3 |
FineWeb (英语 + 俄语) |
✅ |
❌ |
❌ |
CulturaX-Ru-Edu (俄语) |
❌ |
✅ |
❌ |
Wiki (英语 + 俄语) |
✅ |
✅ |
✅ |
ArXiv (英语) |
✅ |
✅ |
✅ |
书籍 (英语 + 俄语) |
✅ |
✅ |
✅ |
代码 |
✅ |
✅ |
✅ |
StackExchange (英语 + 俄语) |
✅ |
✅ |
✅ |
社交媒体 (俄语) |
✅ |
✅ |
✅ |
总标记数 |
1.7T |
250B |
50B |
上下文长度
在第一阶段,模型的上下文长度为 1024。在第二和第三阶段,上下文长度扩展到 8192。
评估
为了评估模型,我们在 encodechka
和 Russian Super Glue (RSG)
基准测试上进行了质量评估。对于 RSG,我们进行了超参数网格搜索,并报告了 开发集 的指标。为了进行公平比较,我们仅将 RuModernBERT 模型与未在检索或句子嵌入任务上训练的原始编码器进行比较。
Russian Super Glue

Encodechka
模型链接 |
模型大小 |
STS - B |
释义器 |
XNLI |
情感分析 |
毒性检测 |
不当性检测 |
意图识别 |
意图识别X |
FactRu |
RuDReC |
平均得分 |
平均得分(含权重) |
[cointegrated/rubert - tiny](https://huggingface.co/cointegrated/rubert - tiny) |
11.9M |
0.66 |
0.53 |
0.40 |
0.71 |
0.89 |
0.68 |
0.70 |
0.58 |
0.24 |
0.34 |
0.645 |
0.575 |
[deepvk/deberta - v1 - distill](https://huggingface.co/deepvk/deberta - v1 - distill) |
81.5M |
0.70 |
0.57 |
0.38 |
0.77 |
0.98 |
0.79 |
0.77 |
0.36 |
0.36 |
0.44 |
0.665 |
0.612 |
[deepvk/deberta - v1 - base](https://huggingface.co/deepvk/deberta - v1 - base) |
124M |
0.68 |
0.54 |
0.38 |
0.76 |
0.98 |
0.80 |
0.78 |
0.29 |
0.29 |
0.40 |
0.653 |
0.591 |
[answerdotai/ModernBERT - base](https://huggingface.co/answerdotai/ModernBERT - base) |
150M |
0.50 |
0.29 |
0.36 |
0.64 |
0.79 |
0.62 |
0.59 |
0.10 |
0.22 |
0.20 |
0.486 |
0.431 |
[ai - forever/ruBert - base](https://huggingface.co/ai - forever/ruBert - base) |
178M |
0.67 |
0.53 |
0.39 |
0.77 |
0.98 |
0.78 |
0.77 |
0.38 |
🥴 |
🥴 |
0.659 |
🥴 |
[DeepPavlov/rubert - base - cased](https://huggingface.co/DeepPavlov/rubert - base - cased) |
180M |
0.63 |
0.50 |
0.38 |
0.73 |
0.94 |
0.74 |
0.74 |
0.31 |
🥴 |
🥴 |
0.621 |
🥴 |
[deepvk/RuModernBERT - small](https://huggingface.co/deepvk/RuModernBERT - small) |
35M |
0.64 |
0.50 |
0.36 |
0.72 |
0.95 |
0.73 |
0.72 |
0.47 |
0.28 |
0.26 |
0.636 |
0.563 |
deepvk/RuModernBERT - base [本模型] |
150M |
0.67 |
0.54 |
0.35 |
0.75 |
0.97 |
0.76 |
0.76 |
0.58 |
0.37 |
0.36 |
0.673 |
0.611 |
🔧 技术细节
- 基于 ModernBERT 架构进行俄语适配。
- 使用大规模多源数据进行预训练,提升模型的泛化能力。
- 在不同阶段调整上下文长度和数据源,优化模型性能。
📄 许可证
本项目采用 Apache - 2.0 许可证。
📚 引用
@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},
}