🚀 用於CPU上語義文本相似度(STS)的基礎Bert模型
這是一個基礎的BERT模型,用於計算俄語句子的緊湊嵌入向量。該模型基於 cointegrated/rubert-tiny2 構建,具有相似的上下文長度(2048)和嵌入維度(312),但層數從3增加到了7。
模型信息
屬性 |
詳情 |
模型類型 |
用於語義文本相似度的基礎Bert模型 |
訓練數據集 |
IlyaGusev/gazeta、zloelias/lenta-ru |
許可證 |
MIT |
基礎模型 |
cointegrated/rubert-tiny2 |
🚀 快速開始
✨ 主要特性
- 專為俄語句子的語義文本相似度計算設計。
- 基於
cointegrated/rubert-tiny2
模型,增加了層數以提升性能。
- 可在CPU上高效運行。
📦 安裝指南
在使用模型前,需要安裝必要的庫:
pip install transformers sentencepiece
💻 使用示例
基礎用法
使用 transformers
庫調用模型:
import torch
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("sergeyzh/rubert-mini-sts")
model = AutoModel.from_pretrained("sergeyzh/rubert-mini-sts")
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)
高級用法
使用 sentence_transformers
庫調用模型:
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('sergeyzh/rubert-mini-sts')
sentences = ["привет мир", "hello world", "здравствуй вселенная"]
embeddings = model.encode(sentences)
print(util.dot_score(embeddings, embeddings))
🔧 技術細節
模型評估指標
模型在 encodechka 基準測試中的評估結果如下:
任務說明:
- 語義文本相似度(STS)
- 釋義識別(PI)
- 自然語言推理(NLI)
- 情感分析(SA)
- 毒性識別(TI)
性能和大小
模型在 encodechka 基準測試中的性能和大小指標如下:
📄 許可證
本項目採用 MIT 許可證。