🚀 俄语-英语迷你预训练模型
这是一个专门为俄语和英语设计的超小蒸馏模型,它基于 bert-base-multilingual-cased 模型进行优化,仅 45 MB 大小,拥有 1200 万个参数。此外,还有该模型的 更新版本 rubert-tiny2,其词汇量更大,在几乎所有俄语自然语言理解任务中都表现出更优的性能。
该模型适用于对俄语简单任务(如命名实体识别或情感分类)进行微调,并且更注重速度和模型大小而非绝对精度的场景。相较于基础大小的 BERT 模型,它的体积大约小 10 倍,运行速度也快 10 倍左右。其 [CLS]
嵌入可作为俄语和英语之间对齐的句子表示。
🚀 快速开始
模型简介
本模型是 bert-base-multilingual-cased 模型的超小蒸馏版本,专为俄语和英语设计。如果你希望针对相对简单的俄语任务(如命名实体识别或情感分类)对模型进行微调,并且更看重速度和模型大小而非精度,那么这个模型会是一个不错的选择。它的大小约为基础 BERT 模型的十分之一,运行速度也更快。此外,其 [CLS]
嵌入可作为俄语和英语之间对齐的句子表示。
环境准备
pip install transformers sentencepiece
代码示例
import torch
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("cointegrated/rubert-tiny")
model = AutoModel.from_pretrained("cointegrated/rubert-tiny")
def embed_bert_cls(text, model, tokenizer):
t = tokenizer(text, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**{k: v.to(model.device) for k, v in t.items()})
embeddings = model_output.last_hidden_state[:, 0, :]
embeddings = torch.nn.functional.normalize(embeddings)
return embeddings[0].cpu().numpy()
print(embed_bert_cls('привет мир', model, tokenizer).shape)
✨ 主要特性
- 轻量级:模型仅 45 MB 大小,拥有 1200 万个参数,相较于基础 BERT 模型,体积大幅减小,运行速度更快。
- 跨语言对齐:其
[CLS]
嵌入可作为俄语和英语之间对齐的句子表示,方便进行跨语言任务。
- 适用场景广:适用于对俄语简单任务(如命名实体识别或情感分类)进行微调。
🔧 技术细节
训练数据
该模型在 Yandex Translate 语料库、OPUS-100 和 Tatoeba 上进行训练。
损失函数
使用了 MLM 损失(从 bert-base-multilingual-cased 蒸馏而来)、翻译排序损失以及从 LaBSE、rubert-base-cased-sentence、Laser 和 USE 蒸馏得到的 [CLS]
嵌入。
更多详细信息
你可以查看 俄语详细描述 以获取更多技术细节。
📄 许可证
本模型采用 MIT 许可证。
📦 相关信息