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

Hugging Face は、テキスト埋め込みモデルの性能を幅広いタスクで測定することを目的とした包括的なフレームワーク、Massive Text Embedding Benchmark(MTEB)をリリースしました。このベンチマークは、テキストのベクトル表現が意味情報をどれだけ正確にエンコードできているかを評価する標準化された方法を提供し、検索エンジン、クラスタリング、テキスト分類などの下流 NLP アプリケーションにとって重要です。

MTEB フレームワークの機能

MTEB は、テキスト埋め込みの包括的で多言語対応かつ拡張可能な評価ツールとして設計されています。その主な特徴は次のとおりです。

  • スケール: ベンチマークは 8 つの異なるタスクにまたがる 56 のデータセットを含んでいます。リリース時点で、MTEB リーダーボードはすでに 2,000 件以上の結果をまとめています。
  • 多言語サポート: MTEB は最大 112 の異なる言語のデータを含み、分類、Semantic Textual Similarity(STS)、ビテキストマイニングにおける多言語モデルのベンチマークを提供します。
  • 拡張性: フレームワークはオープンソースであり、コミュニティが GitHub リポジトリを通じて新しいタスク、データセット、指標、リーダーボードエントリを貢献できるようになっています。

モデル性能のトレードオフ

初期のベンチマークでは、計算速度、埋め込みサイズ、全体的な性能の間に明確なトレードオフがあることが示されました。Hugging Face は、ユーザーが選択しやすいようにモデルを 3 つの主要なプロファイルに分類しています。

最大速度

Glove のようなモデルは推論速度が高速ですが、文脈認識が欠如しているため、平均 MTEB スコアが低くなります。

速度と性能のバランス

all-mpnet-base-v2all-MiniLM-L6-v2 のようなモデルは、中間的な立ち位置を提供し、基本的な単語埋め込みよりもはるかに高い性能を示しつつ、適度な速度を維持します。

最大性能

ST5-XXL、GTR-XXL、SGPT-5.8B-msmarco など、数十億パラメータ規模の大規模モデルが MTEB リーダーボードを支配しています。これらのモデルは通常、より大きな埋め込みベクトルを生成します。たとえば、SGPT-5.8B-msmarco は 4096 次元の埋め込みを生成し、ストレージ要件が増加します。

ベンチマークと提出プロセス

開発者は mteb Python ライブラリを使用して自分のモデルを評価できます。手順は、pip でライブラリをインストールし、特定のタスク(例: Banking77Classification)で評価を実行し、結果の JSON ファイルを生成することです。

公開リーダーボードに結果を共有するには、ユーザーは自動スクリプト(mteb_meta.py)を使用してメタデータを生成できます。このメタデータはモデルの Hugging Face Hub リポジトリの README.md に追加され、更新時にモデルが MTEB リーダーボードに表示されます。

Sources