库名称:transformers
许可证:apache-2.0
数据集:
- deepvk/cultura_ru_edu
- HuggingFaceFW/fineweb-2
- HuggingFaceFW/fineweb
语言:
- ru
- en
管道标签:fill-mask
RuModernBERT-small
俄罗斯版现代化单向双向编码器Transformer模型ModernBERT。
RuModernBERT预训练使用了约2万亿个俄语、英语和代码数据的标记,上下文长度高达8,192个标记,数据来源包括互联网、书籍、科学资料和社交媒体。
|
模型大小 |
隐藏维度 |
层数 |
词汇量 |
上下文长度 |
任务 |
deepvk/RuModernBERT-small [当前] |
35M |
384 |
12 |
50368 |
8192 |
掩码语言模型 |
deepvk/RuModernBERT-base |
150M |
768 |
22 |
50368 |
8192 |
掩码语言模型 |
使用方法
别忘了更新transformers
并安装flash-attn
(如果你的GPU支持的话)。
from transformers import AutoTokenizer, AutoModelForMaskedLM
model_id = "deepvk/RuModernBERT-small"
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)
训练详情
这是小型版本,拥有3500万个参数。
分词器
我们按照原始配置训练了一个新的分词器。
我们保持了词汇量的大小,并添加了相同的特殊标记。
分词器在FineWeb的俄语和英语混合数据上进行了训练。
数据集
预训练包括三个主要阶段:大规模预训练、上下文扩展和冷却阶段。
与原始模型不同,我们没有对所有阶段使用相同的数据。
在第二和第三阶段,我们使用了更干净的数据源。
数据来源 |
阶段1 |
阶段2 |
阶段3 |
FineWeb (英+俄) |
✅ |
❌ |
❌ |
CulturaX-Ru-Edu (俄) |
❌ |
✅ |
❌ |
Wiki (英+俄) |
✅ |
✅ |
✅ |
ArXiv (英) |
✅ |
✅ |
✅ |
Book (英+俄) |
✅ |
✅ |
✅ |
Code |
✅ |
✅ |
✅ |
StackExchange (英+俄) |
✅ |
✅ |
✅ |
Social (俄) |
✅ |
✅ |
✅ |
总标记数 |
1.3T |
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},
}