MTEB:大規模文字嵌入基準測試

Hugging Face 發布了大規模文字嵌入基準(MTEB),這是一個旨在衡量文字嵌入模型在各種任務上表現的綜合框架。此基準提供了一種標準化的方法來評估文字向量表示在編碼語意資訊方面的效果,這對於搜尋引擎、聚類與文字分類等下游自然語言處理應用至關重要。

MTEB 框架功能

MTEB 被設計為一個全方位、多語言且可擴充的文字嵌入評估工具。其核心特性包括:

  • 規模:此基準涵蓋 56 個資料集,跨 8 項不同任務。於發布時,MTEB 排行榜已彙總超過 2,000 筆結果。
  • 多語言支援:MTEB 包含多達 112 種語言的資料,並針對多語言模型在分類、語意相似度(STS)與雙語文本挖掘等任務提供專門的基準測試。
  • 可擴充性:此框架為開源專案,允許社群透過其 GitHub 倉庫貢獻新任務、資料集、評量指標與排行榜條目。

模型效能取捨

初步的基準測試顯示,計算速度、嵌入向量大小與整體效能之間存在明顯的取捨。Hugging Face 將模型分為三種主要類型,以協助使用者選擇:

最高速度

模型如 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