BERTA
模型概述
BERTA模型是一個用於計算俄語和英語句子嵌入向量的預訓練模型,通過蒸餾FRIDA模型的嵌入向量到LaBSE-ru-turbo獲得,保留了俄英句子嵌入和前綴功能。
模型特點
多前綴支持
支持多種前綴任務,如語義相似度、複述識別、自然語言推理等,通過不同前綴優化任務表現。
蒸餾優化
通過蒸餾FRIDA模型的嵌入向量到LaBSE-ru-turbo,保留了高性能的同時降低了模型複雜度。
多語言支持
支持俄語和英語的句子嵌入計算,適用於跨語言任務。
模型能力
計算句子嵌入向量
語義文本相似度計算
複述識別
自然語言推理
情感分析
毒性識別
使用案例
文本分類
新聞標題分類
對新聞標題進行分類,準確率高達0.891。
準確率0.891
電影評論分類
對電影評論進行情感分類,準確率0.678。
準確率0.678
信息檢索
新聞檢索
用於新聞檢索任務,NDCG@10達到0.816。
NDCG@10 0.816
問答檢索
用於問答檢索任務,NDCG@10達到0.710。
NDCG@10 0.710
語義相似度
俄語STS基準
計算俄語句子的語義相似度,皮爾遜相關係數0.822。
皮爾遜相關係數0.822
🚀 BERTA
BERTA是一個用於計算俄語和英語句子嵌入的模型。它通過將ai-forever/FRIDA(嵌入維度為1536,層數為24)的嵌入蒸餾到sergeyzh/LaBSE-ru-turbo(嵌入維度為768,層數為12)中得到。FRIDA的主要使用模式CLS池化被替換為均值池化,模型行為未做其他更改。蒸餾儘可能全面,涵蓋了俄語和英語句子的嵌入以及前綴處理。
模型的上下文大小與FRIDA一致,為512個詞元。
模型信息
屬性 | 詳情 |
---|---|
模型類型 | 用於計算俄語和英語句子嵌入的模型 |
訓練數據 | IlyaGusev/gazeta、zloelias/lenta-ru、HuggingFaceFW/fineweb-2、HuggingFaceFW/fineweb |
許可證 | MIT |
基礎模型 | sergeyzh/LaBSE-ru-turbo |
標籤 | russian、pretraining、embeddings、feature-extraction、sentence-similarity、sentence-transformers、transformers |
任務類型 | sentence-similarity |
✨ 主要特性
- 多語言支持:能夠處理俄語和英語句子的嵌入計算。
- 蒸餾優化:通過蒸餾技術將高維嵌入壓縮到低維,同時保持性能。
- 上下文一致:上下文大小與FRIDA相同,為512個詞元。
- 前綴繼承:繼承了FRIDA的所有前綴,並在配置文件中設置了默認前綴。
📦 安裝指南
文檔未提供具體安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
使用transformers
庫調用模型:
import torch
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModel
def pool(hidden_state, mask, pooling_method="mean"):
if pooling_method == "mean":
s = torch.sum(hidden_state * mask.unsqueeze(-1).float(), dim=1)
d = mask.sum(axis=1, keepdim=True).float()
return s / d
elif pooling_method == "cls":
return hidden_state[:, 0]
inputs = [
#
"paraphrase: В Ярославской области разрешили работу бань, но без посетителей",
"categorize_entailment: Женщину доставили в больницу, за ее жизнь сейчас борются врачи.",
"search_query: Сколько программистов нужно, чтобы вкрутить лампочку?",
#
"paraphrase: Ярославским баням разрешили работать без посетителей",
"categorize_entailment: Женщину спасают врачи.",
"search_document: Чтобы вкрутить лампочку, требуется три программиста: один напишет программу извлечения лампочки, другой — вкручивания лампочки, а третий проведет тестирование."
]
tokenizer = AutoTokenizer.from_pretrained("sergeyzh/BERTA")
model = AutoModel.from_pretrained("sergeyzh/BERTA")
tokenized_inputs = tokenizer(inputs, max_length=512, padding=True, truncation=True, return_tensors="pt")
with torch.no_grad():
outputs = model(**tokenized_inputs)
embeddings = pool(
outputs.last_hidden_state,
tokenized_inputs["attention_mask"],
pooling_method="mean"
)
embeddings = F.normalize(embeddings, p=2, dim=1)
sim_scores = embeddings[:3] @ embeddings[3:].T
print(sim_scores.diag().tolist())
# [0.9530372023582458, 0.866746723651886, 0.7839133143424988]
# [0.9360030293464661, 0.8591322302818298, 0.728583037853241] - FRIDA
高級用法
使用sentence_transformers
庫調用模型(sentence-transformers>=2.4.0
):
from sentence_transformers import SentenceTransformer
# loads model with mean pooling
model = SentenceTransformer("sergeyzh/BERTA")
paraphrase = model.encode(["В Ярославской области разрешили работу бань, но без посетителей", "Ярославским баням разрешили работать без посетителей"], prompt="paraphrase: ")
print(paraphrase[0] @ paraphrase[1].T)
# 0.9530372
# 0.9360032 - FRIDA
categorize_entailment = model.encode(["Женщину доставили в больницу, за ее жизнь сейчас борются врачи.", "Женщину спасают врачи."], prompt="categorize_entailment: ")
print(categorize_entailment[0] @ categorize_entailment[1].T)
# 0.8667469
# 0.8591322 - FRIDA
query_embedding = model.encode("Сколько программистов нужно, чтобы вкрутить лампочку?", prompt="search_query: ")
document_embedding = model.encode("Чтобы вкрутить лампочку, требуется три программиста: один напишет программу извлечения лампочки, другой — вкручивания лампочки, а третий проведет тестирование.", prompt="search_document: ")
print(query_embedding @ document_embedding.T)
# 0.7839136
# 0.7285831 - FRIDA
📚 詳細文檔
前綴說明
所有前綴均繼承自FRIDA。對於大多數任務,最優(能提供平均水平結果)的前綴是 "categorize_entailment: ",該前綴已默認寫入config_sentence_transformers.json。
以下是在encodechka中使用的前綴列表及其對模型評估的影響:
前綴 | STS | PI | NLI | SA | TI |
---|---|---|---|---|---|
- | 0.842 | 0.757 | 0.463 | 0.830 | 0.985 |
search_query: | 0.853 | 0.767 | 0.479 | 0.825 | 0.987 |
search_document: | 0.831 | 0.749 | 0.463 | 0.817 | 0.986 |
paraphrase: | 0.847 | 0.778 | 0.446 | 0.825 | 0.986 |
categorize: | 0.857 | 0.765 | 0.501 | 0.829 | 0.988 |
categorize_sentiment: | 0.589 | 0.535 | 0.417 | 0.805 | 0.982 |
categorize_topic: | 0.740 | 0.521 | 0.396 | 0.770 | 0.982 |
categorize_entailment: | 0.841 | 0.762 | 0.571 | 0.827 | 0.986 |
任務說明
- 語義文本相似度(STS)
- 釋義識別(PI)
- 自然語言推理(NLI)
- 情感分析(SA)
- 毒性識別(TI)
模型評估指標
模型在ruMTEB基準測試中的評估結果如下:
模型名稱 | 指標 | FRIDA | BERTA | rubert-mini-frida | multilingual-e5-large-instruct | multilingual-e5-large |
---|---|---|---|---|---|---|
CEDRClassification | 準確率 | 0.646 | 0.622 | 0.552 | 0.500 | 0.448 |
GeoreviewClassification | 準確率 | 0.577 | 0.548 | 0.464 | 0.559 | 0.497 |
GeoreviewClusteringP2P | V-measure | 0.783 | 0.738 | 0.698 | 0.743 | 0.605 |
HeadlineClassification | 準確率 | 0.890 | 0.891 | 0.880 | 0.862 | 0.758 |
InappropriatenessClassification | 準確率 | 0.783 | 0.748 | 0.698 | 0.655 | 0.616 |
KinopoiskClassification | 準確率 | 0.705 | 0.678 | 0.595 | 0.661 | 0.566 |
RiaNewsRetrieval | NDCG@10 | 0.868 | 0.816 | 0.721 | 0.824 | 0.807 |
RuBQReranking | MAP@10 | 0.771 | 0.752 | 0.711 | 0.717 | 0.756 |
RuBQRetrieval | NDCG@10 | 0.724 | 0.710 | 0.654 | 0.692 | 0.741 |
RuReviewsClassification | 準確率 | 0.751 | 0.723 | 0.658 | 0.686 | 0.653 |
RuSTSBenchmarkSTS | 皮爾遜相關係數 | 0.814 | 0.822 | 0.803 | 0.840 | 0.831 |
RuSciBenchGRNTIClassification | 準確率 | 0.699 | 0.690 | 0.625 | 0.651 | 0.582 |
RuSciBenchGRNTIClusteringP2P | V-measure | 0.670 | 0.650 | 0.586 | 0.622 | 0.520 |
RuSciBenchOECDClassification | 準確率 | 0.546 | 0.555 | 0.493 | 0.502 | 0.445 |
RuSciBenchOECDClusteringP2P | V-measure | 0.566 | 0.556 | 0.507 | 0.528 | 0.450 |
SensitiveTopicsClassification | 準確率 | 0.398 | 0.399 | 0.373 | 0.323 | 0.257 |
TERRaClassification | 平均精度 | 0.665 | 0.657 | 0.606 | 0.639 | 0.584 |
Classification | 準確率 | 0.707 | 0.698 | 0.631 | 0.654 | 0.588 |
Clustering | V-measure | 0.673 | 0.648 | 0.597 | 0.631 | 0.525 |
MultiLabelClassification | 準確率 | 0.522 | 0.510 | 0.463 | 0.412 | 0.353 |
PairClassification | 平均精度 | 0.665 | 0.657 | 0.606 | 0.639 | 0.584 |
Reranking | MAP@10 | 0.771 | 0.752 | 0.711 | 0.717 | 0.756 |
Retrieval | NDCG@10 | 0.796 | 0.763 | 0.687 | 0.758 | 0.774 |
STS | 皮爾遜相關係數 | 0.814 | 0.822 | 0.803 | 0.840 | 0.831 |
平均 | 平均值 | 0.707 | 0.693 | 0.643 | 0.664 | 0.630 |
🔧 技術細節
模型通過蒸餾技術將ai-forever/FRIDA的嵌入信息轉移到sergeyzh/LaBSE-ru-turbo中,同時將FRIDA的CLS池化替換為均值池化,以實現對俄語和英語句子嵌入的高效計算。蒸餾過程儘可能全面,確保了模型在多語言任務中的性能。
📄 許可證
本項目採用MIT許可證。
Jina Embeddings V3
Jina Embeddings V3 是一個多語言句子嵌入模型,支持超過100種語言,專注於句子相似度和特徵提取任務。
文本嵌入
Transformers 支持多種語言

J
jinaai
3.7M
911
Ms Marco MiniLM L6 V2
Apache-2.0
基於MS Marco段落排序任務訓練的交叉編碼器模型,用於信息檢索中的查詢-段落相關性評分
文本嵌入 英語
M
cross-encoder
2.5M
86
Opensearch Neural Sparse Encoding Doc V2 Distill
Apache-2.0
基於蒸餾技術的稀疏檢索模型,專為OpenSearch優化,支持免推理文檔編碼,在搜索相關性和效率上優於V1版本
文本嵌入
Transformers 英語

O
opensearch-project
1.8M
7
Sapbert From PubMedBERT Fulltext
Apache-2.0
基於PubMedBERT的生物醫學實體表徵模型,通過自對齊預訓練優化語義關係捕捉
文本嵌入 英語
S
cambridgeltl
1.7M
49
Gte Large
MIT
GTE-Large 是一個強大的句子轉換器模型,專注於句子相似度和文本嵌入任務,在多個基準測試中表現出色。
文本嵌入 英語
G
thenlper
1.5M
278
Gte Base En V1.5
Apache-2.0
GTE-base-en-v1.5 是一個英文句子轉換器模型,專注於句子相似度任務,在多個文本嵌入基準測試中表現優異。
文本嵌入
Transformers 支持多種語言

G
Alibaba-NLP
1.5M
63
Gte Multilingual Base
Apache-2.0
GTE Multilingual Base 是一個多語言的句子嵌入模型,支持超過50種語言,適用於句子相似度計算等任務。
文本嵌入
Transformers 支持多種語言

G
Alibaba-NLP
1.2M
246
Polybert
polyBERT是一個化學語言模型,旨在實現完全由機器驅動的超快聚合物信息學。它將PSMILES字符串映射為600維密集指紋,以數值形式表示聚合物化學結構。
文本嵌入
Transformers

P
kuelumbus
1.0M
5
Bert Base Turkish Cased Mean Nli Stsb Tr
Apache-2.0
基於土耳其語BERT的句子嵌入模型,專為語義相似度任務優化
文本嵌入
Transformers 其他

B
emrecan
1.0M
40
GIST Small Embedding V0
MIT
基於BAAI/bge-small-en-v1.5模型微調的文本嵌入模型,通過MEDI數據集與MTEB分類任務數據集訓練,優化了檢索任務的查詢編碼能力。
文本嵌入
Safetensors 英語
G
avsolatorio
945.68k
29
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98