库名称:transformers
许可证:apache-2.0
数据集:
- deepvk/cultura_ru_edu
- HuggingFaceFW/fineweb-2
- HuggingFaceFW/fineweb
语言:
- 俄语
- 英语
任务标签:填充掩码
RuModernBERT-base
现代双向仅编码器Transformer模型的俄语版本——ModernBERT。
RuModernBERT基于约2万亿俄语、英语和代码标记进行预训练,上下文长度达8,192个标记,数据来源包括互联网、书籍、科学资料和社交媒体。
|
模型规模 |
隐藏维度 |
层数 |
词汇量 |
上下文长度 |
任务 |
deepvk/RuModernBERT-small |
35M |
384 |
12 |
50368 |
8192 |
掩码语言模型 |
deepvk/RuModernBERT-base [当前] |
150M |
768 |
22 |
50368 |
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)
训练详情
这是基础版本,拥有1.5亿参数,配置与ModernBERT-base
相同。
关键差异在于预训练使用的数据。
分词器
我们按照原始配置训练了新分词器。
保持词汇量大小不变,并添加相同的特殊标记。
分词器基于FineWeb的俄英混合数据训练。
数据集
预训练包含三个阶段:大规模预训练、上下文扩展和冷却。
与原模型不同,我们未对所有阶段使用相同数据。
第二和第三阶段使用了更干净的数据源。
数据源 |
阶段1 |
阶段2 |
阶段3 |
FineWeb (英+俄) |
✅ |
❌ |
❌ |
CulturaX-Ru-Edu (俄) |
❌ |
✅ |
❌ |
维基 (英+俄) |
✅ |
✅ |
✅ |
ArXiv (英) |
✅ |
✅ |
✅ |
书籍 (英+俄) |
✅ |
✅ |
✅ |
代码 |
✅ |
✅ |
✅ |
StackExchange (英+俄) |
✅ |
✅ |
✅ |
社交 (俄) |
✅ |
✅ |
✅ |
总标记数 |
1.7T |
250B |
50B |
上下文长度
第一阶段模型以1,024
标记的上下文长度训练。
第二和第三阶段扩展至8,192
。
评估
我们通过encodechka
和Russian Super Glue (RSG)
基准测试模型质量。
对于RSG,我们通过网格搜索优化超参数,并报告开发集的指标。
为公平比较,我们仅将RuModernBERT与未经过检索或句子嵌入任务训练的原始编码器对比。
Russian Super Glue
Encodechka
引用
@misc{deepvk2025rumodernbert,
title={RuModernBERT: 俄语现代化BERT},
author={斯皮林, 叶戈尔 and 马拉申科, 鲍里斯 and 索科洛夫, 安德烈},
url={https://huggingface.co/deepvk/rumodernbert-base},
publisher={Hugging Face}
year={2025},
}