Text2vec Base Chinese
CoSENT(コサイン文)モデルに基づく中国語テキスト埋め込みモデルで、文を768次元の密なベクトル空間にマッピングでき、文埋め込み、テキストマッチング、意味検索などのタスクに適しています。
ダウンロード数 605.98k
リリース時間 : 3/2/2022
モデル概要
このモデルはCoSENTメソッドでトレーニングされ、hfl/chinese-macbert-baseを基に中国語STS-Bデータでトレーニングされ、中国語STS-Bテストセットで優れたパフォーマンスを示しています。
モデル特徴
効率的な中国語意味マッチング
中国語テキストマッチングタスクで優れたパフォーマンスを示し、一般的な意味マッチングシナリオに適しています。
CoSENTメソッドに基づく
コサイン文(CoSENT)メソッドでトレーニングされ、文埋め込みの類似度計算を最適化します。
768次元密ベクトル
文を768次元の密なベクトル空間にマッピングし、下流タスクの処理に適しています。
モデル能力
文埋め込み
テキストマッチング
意味検索
使用事例
テキスト類似度計算
質問応答システム
質問と候補回答の意味的類似度を計算するために使用
質問応答マッチングの精度向上
情報検索
検索エンジンの意味理解能力を強化
検索結果の関連性向上
自然言語処理
テキストクラスタリング
類似テキストの自動クラスタリングに使用
テキスト分類
テキスト分類タスクの入力特徴として使用
🚀 shibing624/text2vec-base-chinese
このモデルはCoSENT(Cosine Sentence)モデルのshibing624/text2vec-base-chineseです。 文章を768次元の密ベクトル空間にマッピングし、文章埋め込み、テキストマッチング、または意味検索などのタスクに使用できます。
🚀 クイックスタート
このモデルの自動評価については、Evaluation Benchmarkを参照してください:text2vec
✨ 主な機能
評価
- 中国語のテキストマッチングタスク:
アーキテクチャ | ベースモデル | モデル | ATEC | BQ | LCQMC | PAWSX | STS-B | SOHU-dd | SOHU-dc | 平均 | QPS |
---|---|---|---|---|---|---|---|---|---|---|---|
Word2Vec | word2vec | w2v-light-tencent-chinese | 20.00 | 31.49 | 59.46 | 2.57 | 55.78 | 55.04 | 20.70 | 35.03 | 23769 |
SBERT | xlm-roberta-base | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | 18.42 | 38.52 | 63.96 | 10.14 | 78.90 | 63.01 | 52.28 | 46.46 | 3138 |
Instructor | hfl/chinese-roberta-wwm-ext | moka-ai/m3e-base | 41.27 | 63.81 | 74.87 | 12.20 | 76.96 | 75.83 | 60.55 | 57.93 | 2980 |
CoSENT | hfl/chinese-macbert-base | shibing624/text2vec-base-chinese | 31.93 | 42.67 | 70.16 | 17.21 | 79.30 | 70.27 | 50.42 | 51.61 | 3008 |
CoSENT | hfl/chinese-lert-large | GanymedeNil/text2vec-large-chinese | 32.61 | 44.59 | 69.30 | 14.51 | 79.44 | 73.01 | 59.04 | 53.12 | 2092 |
CoSENT | nghuyong/ernie-3.0-base-zh | shibing624/text2vec-base-chinese-sentence | 43.37 | 61.43 | 73.48 | 38.90 | 78.25 | 70.60 | 53.08 | 59.87 | 3089 |
CoSENT | nghuyong/ernie-3.0-base-zh | shibing624/text2vec-base-chinese-paraphrase | 44.89 | 63.58 | 74.24 | 40.90 | 78.93 | 76.70 | 63.30 | 63.08 | 3066 |
CoSENT | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | shibing624/text2vec-base-multilingual | 32.39 | 50.33 | 65.64 | 32.56 | 74.45 | 68.88 | 51.17 | 53.67 | 4004 |
説明:
- 結果評価指標:spearman係数
shibing624/text2vec-base-chinese
モデルは、CoSENT方法で訓練され、hfl/chinese-macbert-base
をベースに中国語のSTS - Bデータで訓練され、中国語のSTS - Bテストセットで良好な結果を得ています。examples/training_sup_text_matching_model.pyのコードを実行することでモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語の一般的な意味マッチングタスクに推奨されます。shibing624/text2vec-base-chinese-sentence
モデルは、CoSENT方法で訓練され、nghuyong/ernie-3.0-base-zh
をベースに、人工的に選択された中国語のSTSデータセットshibing624/nli-zh-all/text2vec-base-chinese-sentence-datasetで訓練され、中国語の各NLIテストセットで良好な結果を得ています。examples/training_sup_text_matching_model_jsonl_data.pyのコードを実行することでモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語のs2s(文章vs文章)意味マッチングタスクに推奨されます。shibing624/text2vec-base-chinese-paraphrase
モデルは、CoSENT方法で訓練され、nghuyong/ernie-3.0-base-zh
をベースに、人工的に選択された中国語のSTSデータセットshibing624/nli-zh-all/text2vec-base-chinese-paraphrase-datasetで訓練されます。このデータセットはshibing624/nli-zh-all/text2vec-base-chinese-sentence-datasetに比べてs2p(文章vs段落)データが追加され、長文の表現能力が強化されており、中国語の各NLIテストセットでSOTAの結果を得ています。examples/training_sup_text_matching_model_jsonl_data.pyのコードを実行することでモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語のs2p(文章vs段落)意味マッチングタスクに推奨されます。sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
モデルはSBERTで訓練され、paraphrase-MiniLM-L12-v2
モデルの多言語バージョンで、中国語、英語などをサポートしています。w2v-light-tencent-chinese
は騰訊の単語ベクトルのWord2Vecモデルで、CPUでロードして使用でき、中国語の文字通りのマッチングタスクやデータが不足しているコールドスタートの場合に適しています。
📦 インストール
text2vecを使用する場合
text2vecをインストールすると、このモデルの使用が簡単になります。
pip install -U text2vec
HuggingFace Transformersを使用する場合
text2vecがなくても、次のようにモデルを使用できます。まず、入力をTransformerモデルに通し、その後、文脈化された単語埋め込みの上に適切なプーリング操作を適用する必要があります。
pip install transformers
sentence-transformersを使用する場合
pip install -U sentence-transformers
💻 使用例
text2vecを使用する場合
from text2vec import SentenceModel
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
model = SentenceModel('shibing624/text2vec-base-chinese')
embeddings = model.encode(sentences)
print(embeddings)
HuggingFace Transformersを使用する場合
from transformers import BertTokenizer, BertModel
import torch
# Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0] # First element of model_output contains all token embeddings
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
# Load model from HuggingFace Hub
tokenizer = BertTokenizer.from_pretrained('shibing624/text2vec-base-chinese')
model = BertModel.from_pretrained('shibing624/text2vec-base-chinese')
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
# Compute token embeddings
with torch.no_grad():
model_output = model(**encoded_input)
# Perform pooling. In this case, mean pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)
sentence-transformersを使用する場合
from sentence_transformers import SentenceTransformer
m = SentenceTransformer("shibing624/text2vec-base-chinese")
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
sentence_embeddings = m.encode(sentences)
print("Sentence embeddings:")
print(sentence_embeddings)
モデルの高速化
モデル | ATEC | BQ | LCQMC | PAWSX | STSB |
---|---|---|---|---|---|
shibing624/text2vec-base-chinese (fp32, baseline) | 0.31928 | 0.42672 | 0.70157 | 0.17214 | 0.79296 |
shibing624/text2vec-base-chinese (onnx - O4, #29) | 0.31928 | 0.42672 | 0.70157 | 0.17214 | 0.79296 |
shibing624/text2vec-base-chinese (ov, #27) | 0.31928 | 0.42672 | 0.70157 | 0.17214 | 0.79296 |
shibing624/text2vec-base-chinese (ov - qint8, #30) | 0.30778 (-3.60%) | 0.43474 (+1.88%) | 0.69620 (-0.77%) | 0.16662 (-3.20%) | 0.79396 (+0.13%) |
簡単に言うと:
- ✅ shibing624/text2vec-base-chinese (onnx - O4)、ONNXをO4に最適化すると、性能が低下することはなく、GPUで~2倍の高速化が得られます。
- ✅ shibing624/text2vec-base-chinese (ov)、OpenVINOを使用すると、性能が低下することはなく、CPUで1.12倍の高速化が得られます。
- 🟡 shibing624/text2vec-base-chinese (ov - qint8)、OVを使用したint8量子化では、Chinese STSBで量子化すると、一部のタスクでわずかな性能低下が見られ、他のタスクではわずかな性能向上が見られます。また、CPUで4.78倍の高速化が得られます。
onnx - O4(GPU用)
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"shibing624/text2vec-base-chinese",
backend="onnx",
model_kwargs={"file_name": "model_O4.onnx"},
)
embeddings = model.encode(["如何更换花呗绑定银行卡", "花呗更改绑定银行卡", "你是谁"])
print(embeddings.shape)
similarities = model.similarity(embeddings, embeddings)
print(similarities)
ov(CPU用)
# pip install 'optimum[openvino]'
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"shibing624/text2vec-base-chinese",
backend="openvino",
)
embeddings = model.encode(["如何更换花呗绑定银行卡", "花呗更改绑定银行卡", "你是谁"])
print(embeddings.shape)
similarities = model.similarity(embeddings, embeddings)
print(similarities)
ov - qint8(CPU用)
# pip install optimum
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"shibing624/text2vec-base-chinese",
backend="onnx",
model_kwargs={"file_name": "model_qint8_avx512_vnni.onnx"},
)
embeddings = model.encode(["如何更换花呗绑定银行卡", "花呗更改绑定银行卡", "你是谁"])
print(embeddings.shape)
similarities = model.similarity(embeddings, embeddings)
print(similarities)
📚 ドキュメント
モデルの全体構造
CoSENT(
(0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_mean_tokens': True})
)
想定される用途
このモデルは、文章および短い段落のエンコーダとして使用することを想定しています。入力テキストが与えられると、意味情報を捉えたベクトルを出力します。文章ベクトルは、情報検索、クラスタリング、または文章類似度タスクに使用できます。
デフォルトでは、256語片より長い入力テキストは切り捨てられます。
訓練手順
事前訓練
事前訓練済みのhfl/chinese-macbert-base
モデルを使用しています。事前訓練手順の詳細については、モデルカードを参照してください。
微調整
対照的な目的関数を使用してモデルを微調整しています。正式には、バッチ内のすべての可能な文章ペアからコサイン類似度を計算します。その後、真のペアと偽のペアを比較することでランク損失を適用します。
ハイパーパラメータ
- 訓練データセット:https://huggingface.co/datasets/shibing624/nli_zh
- max_seq_length: 128
- 最適エポック数: 5
- 文章埋め込み次元: 768
🔧 技術詳細
このモデルはtext2vecによって訓練されました。
もしこのモデルが役に立った場合、以下のように引用してください。
@software{text2vec,
author = {Xu Ming},
title = {text2vec: A Tool for Text to Vector},
year = {2022},
url = {https://github.com/shibing624/text2vec},
}
📄 ライセンス
このモデルはApache - 2.0ライセンスの下で提供されています。
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アーキテクチャに基づく中国語抽出型QAモデルで、与えられたテキストから回答を抽出するタスクに適しています。
質問応答システム 中国語
R
uer
2,694
98