MTEB:大规模文本嵌入基准

Hugging Face 已发布大规模文本嵌入基准(MTEB),这是一个综合框架,旨在衡量文本嵌入模型在各种任务上的性能。该基准提供了一种标准化的方法来评估文本向量表示在语义信息编码方面的效果,这对于搜索引擎、聚类和文本分类等下游 NLP 应用至关重要。

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