UNIEMプロジェクトの目標は、中国語で最高のユニバーサルテキスト埋め込みモデルを作成することです。
このプロジェクトには、主にモデルトレーニング、微調整、評価コードが含まれます。モデルとデータセットは、Huggingfaceコミュニティで開かれたものです。
FineTuner 、 sentence_transformers 、 text2vec 、その他のモデルの微調整もサポートしています。また、GPTシリーズモデルのSGPTトレーニングとプレフィックスチューニングもサポートしています。 Finetunerによって初期化されたAPIはわずかな変更を受けており、0.2.0と互換性がありませんFineTuner実装しました!openai text-embedding-ada-002よりも優れています。詳細については、M3EモデルREADMEを参照してください。 M3Eシリーズモデルは、文化変換者と完全に互換性があります。 Chroma、Guidance、Semantic-Kernelなどのモデル名を置き換えることにより、文の変換者をサポートするすべてのプロジェクトでM3Eモデルをシームレスに使用できます。
インストール
pip install sentence-transformers使用
from sentence_transformers import SentenceTransformer
model = SentenceTransformer ( "moka-ai/m3e-base" )
embeddings = model . encode ([ 'Hello World!' , '你好,世界!' ])uniem 、数行のコード、即時適応を備えた非常に使いやすいFinetuneインターフェイスを提供します!
from datasets import load_dataset
from uniem . finetuner import FineTuner
dataset = load_dataset ( 'shibing624/nli_zh' , 'STS-B' )
# 指定训练的模型为 m3e-small
finetuner = FineTuner . from_pretrained ( 'moka-ai/m3e-small' , dataset = dataset )
finetuner . run ( epochs = 3 )微調整モデルの詳細については、Uniem微調整チュートリアルを参照するか、
地元で実行したい場合は、環境を準備するために次のコマンドを実行する必要があります
conda create -n uniem python=3.10
pip install uniem中国の埋め込みモデルには統一された評価基準がないため、MTEBを参照し、中国の評価標準MTEB-ZHを構築しました。現在、6つのモデルがさまざまなデータセットで水平に評価されています。詳細な評価方法とコードについては、MTEB-ZHを参照してください。
| text2vec | M3e-Small | M3Eベース | M3E-Large-0619 | Openai | dmetasoul | uer | エルランシェン | |
|---|---|---|---|---|---|---|---|---|
| tnews | 0.43 | 0.4443 | 0.4827 | 0.4866 | 0.4594 | 0.3084 | 0.3539 | 0.4361 |
| jdiphone | 0.8214 | 0.8293 | 0.8533 | 0.8692 | 0.746 | 0.7972 | 0.8283 | 0.8356 |
| Gubaeastmony | 0.7472 | 0.712 | 0.7621 | 0.7663 | 0.7574 | 0.735 | 0.7534 | 0.7787 |
| Tyqsentiment | 0.6099 | 0.6596 | 0.7188 | 0.7247 | 0.68 | 0.6437 | 0.6662 | 0.6444 |
| 在庫同意 | 0.4307 | 0.4291 | 0.4363 | 0.4475 | 0.4819 | 0.4309 | 0.4555 | 0.4482 |
| iflytek | 0.414 | 0.4263 | 0.4409 | 0.4445 | 0.4486 | 0.3969 | 0.3762 | 0.4241 |
| 平均 | 0.5755 | 0.5834 | 0.6157 | 0.6231 | 0.5956 | 0.552016667 | 0.57225 | 0.594516667 |
| text2vec | Openai-Ada-002 | M3e-Small | M3Eベース | M3E-Large-0619 | dmetasoul | uer | エルランシェン | |
|---|---|---|---|---|---|---|---|---|
| マップ@1 | 0.4684 | 0.6133 | 0.5574 | 0.626 | 0.6256 | 0.25203 | 0.08647 | 0.25394 |
| マップ@10 | 0.5877 | 0.7423 | 0.6878 | 0.7656 | 0.7627 | 0.33312 | 0.13008 | 0.34714 |
| MRR@1 | 0.5345 | 0.6931 | 0.6324 | 0.7047 | 0.7063 | 0.29258 | 0.10067 | 0.29447 |
| MRR@10 | 0.6217 | 0.7668 | 0.712 | 0.7841 | 0.7827 | 0.36287 | 0.14516 | 0.3751 |
| NDCG@1 | 0.5207 | 0.6764 | 0.6159 | 0.6881 | 0.6884 | 0.28358 | 0.09748 | 0.28578 |
| NDCG@10 | 0.6346 | 0.7786 | 0.7262 | 0.8004 | 0.7974 | 0.37468 | 0.15783 | 0.39329 |
評価データセットまたはモデルをMTEB-ZHに追加する場合は、お気軽に発行またはPRをご覧ください。私はできるだけ早くあなたをサポートし、あなたの貢献を楽しみにしています!
UNIEMは、Apache-2.0ライセンスに基づいてライセンスされています。詳細については、ライセンスファイルを参照してください。
次の形式を使用して、このモデルを引用してください。
@SoftWare {Moka Massive Mixed Embedding、著者= {Wang Yuxin、Sun Qingxuan、He Sicheng}、title = {m3e:moka massive mixed Embedding Model}、year = {2023}}}