MTEB 大規模テキスト埋め込みベンチマーク

MTEB Large-scale Text Embedding Benchmark.

MTEBは、さまざまな埋め込みタスクでテキスト埋め込みモデルのパフォーマンスを測定するための大規模ベンチマークです。

🥇リーダーボードは、さまざまなタスクで最高のテキスト埋め込みモデルの包括的なビューを提供します。

📝論文は、MTEBのタスクとデータセットについての背景を説明し、リーダーボードの結果を分析しています!

💻Githubリポジトリには、ベンチマークのためのコードとリーダーボードへの任意のモデルの提出が含まれています。

テキスト埋め込みの重要性

テキスト埋め込みは、意味情報をエンコードするテキストのベクトル表現です。コンピュータは計算を行うために数値の入力を必要とするため、テキスト埋め込みは多くのNLPアプリケーションの重要な要素です。たとえば、Googleはテキスト埋め込みを検索エンジンの動力源として使用しています。テキスト埋め込みは、クラスタリングによる大量のテキストのパターン検出や、最近のSetFitのようなテキスト分類モデルへの入力としても使用できます。ただし、テキスト埋め込みの品質は、使用される埋め込みモデルに大きく依存します。MTEBは、さまざまなタスクに対して最適な埋め込みモデルを見つけるのに役立つように設計されています!

MTEB

🐋 Massive:MTEBには8つのタスクにわたる56のデータセットが含まれ、現在リーダーボード上の>2000の結果を要約しています。

🌎 Multilingual:MTEBには最大112の異なる言語が含まれています!Bitext Mining、Classification、STSにおいていくつかの多言語モデルをベンチマークにかけました。

🦚 Extensible:新しいタスク、データセット、メトリクス、またはリーダーボードの追加に関しては、どんな貢献も大歓迎です。リーダーボードへの提出やオープンな課題の解決については、GitHubリポジトリをご覧ください。最高のテキスト埋め込みモデルの発見の旅にご参加いただければ幸いです。

MTEBのタスクとデータセットの概要。多言語データセットは紫の色で表示されます。

モデル

MTEBの初期ベンチマークでは、最新の結果を謳うモデルやHubで人気のあるモデルに焦点を当てました。これにより、トランスフォーマーの代表的なモデルが多く含まれています。🤖

平均英語MTEBスコア(y)対速度(x)対埋め込みサイズ(円のサイズ)でモデルをグループ化しました。

次の3つの属性にモデルを分類して、タスクに最適なモデルを簡単に見つけることをお勧めします:

🏎 最大速度 Gloveのようなモデルは高速ですが、文脈の理解が不足しており、平均MTEBスコアが低くなります。

⚖️ 速度とパフォーマンス やや遅いですが、非常に強力なall-mpnet-base-v2やall-MiniLM-L6-v2は、速度とパフォーマンスのバランスを取ります。

💪 最高のパフォーマンス ST5-XXL、GTR-XXL、またはSGPT-5.8B-msmarcoなどの数十億パラメータモデルがMTEBで優れた結果を出します。SGPT-5.8B-msmarcoのようなモデルは4096次元の埋め込みを生成し、より多くのストレージが必要です!

モデルのパフォーマンスは、タスクとデータセットによって大幅に異なるため、どのモデルを使用するかを決定する前に、リーダーボードのさまざまなタブをチェックすることをお勧めします!

モデルのベンチマーク

MTEBライブラリを使用すると、埋め込みを生成する任意のモデルをベンチマークにかけ、その結果を公開リーダーボードに追加することができます。以下にクイックな例を紹介します!

まず、ライブラリをインストールします:

pip install mteb

次に、例えばkomninosの単語埋め込みをBanking77のデータセットに対してベンチマークします。

from mteb import MTEB
from sentence_transformers import SentenceTransformer

model_name = "average_word_embeddings_komninos"
model = SentenceTransformer(model_name)

evaluation = MTEB(tasks=["Banking77Classification"])
results = evaluation.run(model, output_folder=f"results/{model_name}")

これにより、results/average_word_embeddings_komninos/Banking77Classification.jsonファイルが生成されます!

これで、結果をリーダーボードに追加するために、Hubの任意のモデルのREADME.mdのメタデータに追加できます。

メタデータを生成するために、自動スクリプトを実行してください:

python mteb_meta.py results/average_word_embeddings_komninos

スクリプトは、次のようなmteb_metadata.mdファイルを生成します:

---
tags:
- mteb
model-index:
- name: average_word_embeddings_komninos
  results:
  - task:
      type: Classification
    dataset:
      type: mteb/banking77
      name: MTEB Banking77Classification
      config: default
      split: test
      revision: 0fd18e25b25c072e09e0d92ab615fda904d66300
    metrics:
    - type: accuracy
      value: 66.76623376623377
    - type: f1
      value: 66.59096432882667
---

次に、このメタデータをHubの任意のモデルのREADME.mdの先頭に追加してください。例えば、SGPT-5.8B-msmarcoモデルのように追加すると、リーダーボードに表示されます。

次のステップ

お好きなモデルをベンチマークしてください!ご質問やフィードバックがある場合は、GitHubのリポジトリまたはリーダーボードのコミュニティタブで問題を開いてください 🤗

埋め込みの成功を祈っています!

クレジット

以下の方々に、記事やMTEBコードベースへの貢献を心から感謝いたします(アルファベット順):Steven Liu、Loïc Magne、Nils Reimers、Nouamane Tazi。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「Prolificの機械学習エンジニア兼AIコンサルタント、ノラ・ペトロヴァ – インタビューシリーズ」

『Nora Petrovaは、Prolificの機械学習エンジニア兼AIコンサルタントですProlificは2014年に設立され、既にGoogle、スタンフ...

人工知能

ピーター・マッキー、Sonarの開発者担当責任者-インタビューシリーズ

ピーター・マッキーはSonarのDeveloper Relationsの責任者です Sonarは、悪いコードの1兆ドルの課題を解決するプラットフォー...

人工知能

「Ntropyの共同創設者兼CEO、ナレ・ヴァルダニアンについて - インタビューシリーズ」

「Ntropyの共同創設者兼CEOであるナレ・ヴァルダニアンは、超人的な精度で100ミリ秒以下で金融取引を解析することを可能にす...

人工知能

「ジンディのCEO兼共同創設者、セリーナ・リー― インタビューシリーズ」

「Celina Leeは、ZindiのCEO兼共同創設者であり、アフリカのデータサイエンティスト向けの最大の専門ネットワークです Celina...

人工知能

「Kognitosの創設者兼CEO、ビニー・ギル- インタビューシリーズ」

ビニー・ギルは、複数の役職と企業を横断する多様で幅広い業務経験を持っていますビニーは現在、Kognitosの創設者兼CEOであり...

機械学習

3つの質問:大規模言語モデルについて、Jacob Andreasに聞く

CSAILの科学者は、最新の機械学習モデルを通じた自然言語処理の研究と、言語が他の種類の人工知能をどのように高めるかの調査...