Glucose Base Ja V2
G
Glucose Base Ja V2
由pkshatech開發
通用日語文本嵌入模型,專為檢索任務優化,在CPU上運行表現優異
下載量 25.25k
發布時間 : 8/22/2024
模型概述
一款專注於日語文本處理的通用嵌入模型,特別擅長檢索任務和句子相似度計算,可作為基於查詢的段落檢索系統使用
模型特點
檢索任務優化
在MIRACL等檢索任務中展現同尺寸模型中的最高性能
日語專用優化
專門針對日語文本處理進行優化訓練
輕量高效
支持CPU運行,適合資源有限的環境
多階段訓練
通過集成蒸餾和多階段對比學習進行微調
模型能力
句子相似度計算
語義檢索
特徵提取
段落檢索
使用案例
信息檢索
企業知識庫檢索
用於企業內部知識庫的語義檢索系統
在MIRACL-ja數據集上達到85.5的Recall@5
問答系統
構建基於檢索的問答系統
在JQaRA數據集上達到60.6的nDCG@10
文本分析
文本聚類
對日語文本進行語義聚類分析
語義相似度計算
計算句子間的語義相似度
🚀 GLuCoSE v2
GLuCoSE v2是一款通用的日語文本嵌入模型,在檢索任務中表現出色。它可以在CPU上運行,主要用於測量句子之間的語義相似度,也可作為檢索系統,根據查詢內容搜索相關段落。
🚀 快速開始
本模型基於GLuCoSE,通過蒸餾幾個大規模嵌入模型並結合多階段對比學習進行微調。以下是使用該模型的詳細信息:
- 最大序列長度:512個詞元
- 輸出維度:768個詞元
- 相似度函數:餘弦相似度
推理時,輸入文本需以 "query: " 或 "passage: " 開頭,具體使用方法請查看後續使用示例部分。
✨ 主要特性
- 專注檢索任務:在MIRACL等任務中,與同規模模型相比,表現卓越。
- 優化日語處理:針對日語文本處理進行了優化。
- 支持CPU運行:可在CPU上運行。
📦 安裝指南
文檔未提及安裝步驟,故跳過該章節。
💻 使用示例
基礎用法
你可以使用SentenceTransformer進行推理,代碼如下:
from sentence_transformers import SentenceTransformer
import torch.nn.functional as F
# Download from the 🤗 Hub
model = SentenceTransformer("pkshatech/GLuCoSE-base-ja-v2")
# Each input text should start with "query: " or "passage: ".
# For tasks other than retrieval, you can simply use the "query: " prefix.
sentences = [
'query: PKSHAはどんな會社ですか?',
'passage: 研究開発したアルゴリズムを、多くの企業のソフトウエア・オペレーションに導入しています。',
'query: 日本で一番高い山は?',
'passage: 富士山(ふじさん)は、標高3776.12 m、日本最高峰(剣ヶ峰)の獨立峰で、その優美な風貌は日本國外でも日本の象徴として広く知られている。',
]
embeddings = model.encode(sentences,convert_to_tensor=True)
print(embeddings.shape)
# [4, 768]
# Get the similarity scores for the embeddings
similarities = F.cosine_similarity(embeddings.unsqueeze(0), embeddings.unsqueeze(1), dim=2)
print(similarities)
# [[1.0000, 0.6050, 0.4341, 0.5537],
# [0.6050, 1.0000, 0.5018, 0.6815],
# [0.4341, 0.5018, 1.0000, 0.7534],
# [0.5537, 0.6815, 0.7534, 1.0000]]
高級用法
你也可以使用Transformers進行推理,代碼如下:
import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel
def mean_pooling(last_hidden_states: Tensor,attention_mask: Tensor) -> Tensor:
emb = last_hidden_states * attention_mask.unsqueeze(-1)
emb = emb.sum(dim=1) / attention_mask.sum(dim=1).unsqueeze(-1)
return emb
# Download from the 🤗 Hub
tokenizer = AutoTokenizer.from_pretrained("pkshatech/GLuCoSE-base-ja-v2")
model = AutoModel.from_pretrained("pkshatech/GLuCoSE-base-ja-v2")
# Each input text should start with "query: " or "passage: ".
# For tasks other than retrieval, you can simply use the "query: " prefix.
sentences = [
'query: PKSHAはどんな會社ですか?',
'passage: 研究開発したアルゴリズムを、多くの企業のソフトウエア・オペレーションに導入しています。',
'query: 日本で一番高い山は?',
'passage: 富士山(ふじさん)は、標高3776.12 m、日本最高峰(剣ヶ峰)の獨立峰で、その優美な風貌は日本國外でも日本の象徴として広く知られている。',
]
# Tokenize the input texts
batch_dict = tokenizer(sentences, max_length=512, padding=True, truncation=True, return_tensors='pt')
outputs = model(**batch_dict)
embeddings = mean_pooling(outputs.last_hidden_state, batch_dict['attention_mask'])
print(embeddings.shape)
# [4, 768]
# Get the similarity scores for the embeddings
similarities = F.cosine_similarity(embeddings.unsqueeze(0), embeddings.unsqueeze(1), dim=2)
print(similarities)
# [[1.0000, 0.6050, 0.4341, 0.5537],
# [0.6050, 1.0000, 0.5018, 0.6815],
# [0.4341, 0.5018, 1.0000, 0.7534],
# [0.5537, 0.6815, 0.7534, 1.0000]]
📚 詳細文檔
訓練詳情
GLuCoSE v2的微調通過以下步驟完成:
- 集成蒸餾:使用E5-mistral、gte-Qwen2和mE5-large作為教師模型,對嵌入表示進行蒸餾。
- 對比學習:從JSNLI、MNLI、PAWS-X、JSeM和Mr.TyDi創建三元組進行訓練,以提升句子嵌入模型的整體性能。
- 特定搜索對比學習:為使模型在檢索任務中更穩健,進行了額外的兩階段訓練,分別使用QA和檢索任務數據。第一階段使用合成數據集auto-wiki-qa,第二階段使用JQaRA、MQA、Japanese Wikipedia Human Retrieval, Mr.TyDi,MIRACL, Quiz Works and Quiz No Mor等。
基準測試
檢索任務
使用MIRACL-ja、JQARA、JaCWIR和MLDR-ja進行評估,結果如下:
模型 | 規模 | MIRACL Recall@5 |
JQaRA nDCG@10 |
JaCWIR MAP@10 |
MLDR nDCG@10 |
---|---|---|---|---|---|
intfloat/multilingual-e5-large | 0.6B | 89.2 | 55.4 | 87.6 | 29.8 |
cl-nagoya/ruri-large | 0.3B | 78.7 | 62.4 | 85.0 | 37.5 |
intfloat/multilingual-e5-base | 0.3B | 84.2 | 47.2 | 85.3 | 25.4 |
cl-nagoya/ruri-base | 0.1B | 74.3 | 58.1 | 84.6 | 35.3 |
pkshatech/GLuCoSE-base-ja | 0.1B | 53.3 | 30.8 | 68.6 | 25.2 |
GLuCoSE v2 | 0.1B | 85.5 | 60.6 | 85.3 | 33.8 |
注:JQARA和JaCWIR中OpenAI小型嵌入的結果引自JQARA和JaCWIR。
JMTEB測試
使用JMTEB進行評估,平均得分採用宏平均。結果如下:
模型 | 規模 | 平均得分 | 檢索 | STS | 分類 | 重排序 | 聚類 | 配對分類 |
---|---|---|---|---|---|---|---|---|
OpenAI/text-embedding-3-small | - | 69.18 | 66.39 | 79.46 | 73.06 | 92.92 | 51.06 | 62.27 |
OpenAI/text-embedding-3-large | - | 74.05 | 74.48 | 82.52 | 77.58 | 93.58 | 53.32 | 62.35 |
intfloat/multilingual-e5-large | 0.6B | 70.90 | 70.98 | 79.70 | 72.89 | 92.96 | 51.24 | 62.15 |
cl-nagoya/ruri-large | 0.3B | 73.31 | 73.02 | 83.13 | 77.43 | 92.99 | 51.82 | 62.29 |
intfloat/multilingual-e5-base | 0.3B | 68.61 | 68.21 | 79.84 | 69.30 | 92.85 | 48.26 | 62.26 |
cl-nagoya/ruri-base | 0.1B | 71.91 | 69.82 | 82.87 | 75.58 | 92.91 | 54.16 | 62.38 |
pkshatech/GLuCoSE-base-ja | 0.1B | 67.29 | 59.02 | 78.71 | 76.82 | 91.90 | 49.78 | 66.39 |
GLuCoSE v2 | 0.1B | 72.23 | 73.36 | 82.96 | 74.21 | 93.01 | 48.65 | 62.37 |
注:OpenAI嵌入和multilingual-e5模型的結果引自JMTEB排行榜,ruri的結果引自cl-nagoya/ruri-base模型卡片。
🔧 技術細節
文檔未提供足夠的技術細節描述,故跳過該章節。
📄 許可證
本模型根據Apache許可證2.0版發佈。
作者
Chihiro Yano, Mocho Go, Hideyuki Tachibana, Hiroto Takegawa, Yotaro Watanabe
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