MTEB 分数到底意味着什么,以及该如何选择嵌入模型
What do MTEB scores mean, and how should you choose an embedding model?
作者分析 MTEB(Multilingual, v2) 的 per-language 榜单,指出其分数按行取无权重均值,导致不同语言实际考的不是同一套题。
MTEB,即 Massive Text Embedding Benchmark [1],是比较文本嵌入模型的标准方式——这类模型将一段文本转化为一串数字,以便搜索和 RAG 系统能够找到相关文本。它把许多数据集汇总为每个模型一个分数,其在 Hugging Face 上的公开排行榜是大多数团队挑选模型时首先查看的地方。
该排行榜还有一个按语言视图,这正是本文要讨论的内容。如果你为马拉雅拉姆语或印地语构建搜索,那一列很可能就是你见过的关于模型在你的语言中表现如何的唯一证据。

那么让我们来看看。打开排行榜,选择 MTEB(Multilingual, v2),然后切换到按语言视图。看看排名第一的模型 microsoft/harrier-oss-v1-27b:
| 语言 | 分数 |
|---|---|
| 孟加拉语 | 94.35 |
| 泰米尔语 | 94.09 |
| 马拉地语 | 94.10 |
| 泰卢固语 | 93.94 |
| 马拉雅拉姆语 | 93.69 |
| 英语 | 61.91 |
再读一遍。世界上最好的多语言嵌入模型在马拉雅拉姆语上的得分比英语高出 32 分。
没有人会相信这一点。该模型在马拉雅拉姆语上并不比英语更好。所以第一个问题不是“哪个模型最适合马拉雅拉姆语”。第一个问题是:这个数字是什么?
一个每个学生都拿到不同试卷的教室
在讲细节之前,让我用一个类比来解释这个问题。
想象一场学校考试。三十名学生坐在一个房间里。老师分发试卷。每个学生拿到不同的试卷。没有人注意到,因为最后每个学生只有一个数字作为分数被写在黑板上。
现在看看其中两份试卷。
马拉雅拉姆语学生拿到 486 道题。其中 406 道是同一道题重复出现:“这里有一个句子。找出它的翻译。”只有另一种语言在变。该学生得分 87%。
英语学生拿到 2,965 道题。其中 1,656 道也是同一道题重复出现,但难度大得多:“这里有一节圣经经文。在一种几乎没有书面材料的语言中找到对应的经文。”该学生得分 54%。
学校公布结果:
| 学生 | 分数 |
|---|---|
| 马拉雅拉姆语 | 87 |
| 英语 | 54 |
老师说马拉雅拉姆语是更好的学生。
他错了,而且这个错误很容易发现。这两个学生从未回答过相同的问题。每个学生一个数字完全掩盖了这一点。要比较他们,你必须给他们相同的试卷——或者至少在每个分数旁边说明每份试卷上有什么。
这正是按语言那一列所做的。每种语言写不同的考卷,考卷在长度和难度上都不同,而结果却并排印在同一张表里,仿佛它们可以比较。
本文的其余部分就是细节:每份试卷上有什么,为什么试卷会变成这样,以及应该怎么做。
MTEB 分数是如何构建的
排行榜不是对任务取平均,而是对行取平均。
一行是一个任务、一个划分、一个子集。对于翻译匹配任务,一个子集通常是一个语言对。因此,一个将英语与 800 种其他语言配对的任务会给英语 800 行。一个只给一行的任务,其权重就小 800 倍。
没有加权。没有难度校正。也没有规定两种语言必须至少共享一个任务。
你可以自己阅读代码。在 mteb 中,函数 _create_per_language_table_from_benchmark_results 做了三件事:展开语言列表,按模型和语言分组,取平均值。
这些行看起来是什么样
以下是来自 Qwen/Qwen3-Embedding-8B 的十行真实数据。每一行都计入英语分数,且每一行的权重相同:
| task | split | subset | score |
|---|---|---|---|
| BibleNLPBitextMining | train | aai_Latn-eng_Latn | 0.2323 |
| BibleNLPBitextMining | train | aak_Arab-eng_Latn | 0.0866 |
| BibleNLPBitextMining | train | aau_Latn-eng_Latn | 0.1927 |
| BibleNLPBitextMining | train | aaz_Latn-eng_Latn | 0.1180 |
| BibleNLPBitextMining | train | abt_Latn-eng_Latn | 0.1720 |
| … 另有 1,651 行 BibleNLP 数据 … | train | … | … |
| ArguAna | test | default | 0.7685 |
| AILAStatutes | test | default | 0.8509 |
| BelebeleRetrieval | test | acm_Arab-eng_Latn | 0.9891 |
| BigPatentClustering.v2 | test | default | 0.3892 |
| AmazonCounterfactualClassification | test | en | 0.9394 |
看看 subset 这一列。对于翻译匹配任务,子集是一个语言对,而且每个语言对都按两个方向各计一次。BibleNLP 包含英语外加 828 种其他语言,因此英语从这一个任务中就收集到 828 × 2 = 1,656 行。
ArguAna 是一个完整的检索基准,包含 1,406 条查询和 8,674 篇文档。它只贡献一行。语言对 aak_Arab-eng_Latn 也只贡献一行。求均值时把它们视为等同。
这听起来像是个细节。但它决定了一切。让我们追踪一个数字。
以 Qwen/Qwen3-Embedding-8B 为例,它目前是 MTEB 上排名第 2 的模型。它的英语分数是 53.92。这个分数从何而来?
| task | rows | mean score |
|---|---|---|
| BibleNLPBitextMining | 1,656 | 27.21 |
| FloresBitextMining | 406 | 88.48 |
| BelebeleRetrieval | 244 | 89.74 |
| NTREXBitextMining | 240 | 91.80 |
| IndicGenBenchFloresBitextMining | 116 | 94.33 |
| Tatoeba | 112 | 79.65 |
| the other 61 tasks | 191 | – |
| total | 2,965 | 53.92 |
英语分数的 56% 来自单一任务:BibleNLPBitextMining。
BibleNLP 是一个包含 829 种语言的圣经翻译语料库,逐节对齐。该语料库以英语为对齐基准,因此英语是枢纽语言。每个英语–X 语言对都会成为英语的一行。这些 X 语言大多资源极度匮乏,因此语言对很难,均值为 27.21。
其他每种语言从该任务中得到两行——即其与英语的语言对,按两个方向各计一次。对于马拉雅拉姆语,这就是仅有的两行:
| task | split | subset | score |
|---|---|---|---|
| BibleNLPBitextMining | train | eng_Latn-mal_Mlym | 0.9701 |
| BibleNLPBitextMining | train | mal_Mlym-eng_Latn | 0.9674 |
两行,都接近 0.97。英语得到 1,656 行,均值为 0.27,因为它与语料库中每一种低资源语言配对。同一个任务,同一个模型。区别只在于你处于语言对的哪一侧。
现在去掉那一个任务。英语从 53.92 变为 87.71。
接下来,对马拉雅拉姆语做同样的处理,它的分数是 87.40:
| task | rows | mean score |
|---|---|---|
| FloresBitextMining | 406 | 87.17 |
| IN22GenBitextMining | 44 | 89.99 |
| NTREXBitextMining | 20 | 82.81 |
| the other 8 tasks | 16 | – |
| total | 486 | 87.40 |
马拉雅拉姆语分数的 84% 来自单一任务:FloresBitextMining,即翻译匹配。
这并非马拉雅拉姆语独有:

| language | biggest task | share of rows | score on it |
|---|---|---|---|
| English | BibleNLPBitextMining | 56% | 27.21 |
| Hindi | FloresBitextMining | 70% | 87.55 |
| German | FloresBitextMining | 76% | 88.13 |
| Tamil | FloresBitextMining | 75% | 87.06 |
| Malayalam | FloresBitextMining | 84% | 87.17 |
| Odia | FloresBitextMining | 88% | 87.08 |
| Chinese | FloresBitextMining | 90% | 86.55 |
按语言划分的表格把不同语言并排放在一起,但它并没有为我们提供对其嵌入质量的受控比较。对于其中大多数语言,分数主要由 FLORES 上的翻译匹配主导。英语则由一种不同的混合构成主导,其中包括大量得分较低的 BibleNLP 语言对。
这些数字在数学上是其所依据结果的合法汇总。它们并不是跨语言通用嵌入质量的可比测量。
这就是为什么整列都落在 85 到 94 之间。这些数字彼此接近,因为它们测量的是同一件事。英语是异常值,因为它是该集合中最难语料库的枢纽语言。
这不是某一个奇怪的模型。这是整个排行榜顶部的情况:

前 10 个模型中的每一个都呈现出相同的形态。英语远低于每一种印度语言,而这些印度语言彼此之间几乎无法区分——因为正如我们刚才所见,它们基本上都在报告同一个 FLORES 数值。
按发布结果,英语在 前 25 个模型中的 25 个里都是 20 种语言中最低的。去掉 BibleNLPBitextMining 后,英语在 25 个中的 0 个里是最低的。

| 模型 | 英语,按发布结果 | 英语,去掉 BibleNLP 后 | 马拉雅拉姆语 |
|---|---|---|---|
| harrier-oss-v1-27b | 61.91 | 91.55 | 93.69 |
| Qwen3-Embedding-8B | 53.92 | 87.71 | 87.40 |
| llama-embed-nemotron-8b | 51.12 | 88.61 | 89.37 |
| gemini-embedding-001 | 51.01 | 89.34 | 91.74 |
| multilingual-e5-large-instruct | 50.85 | 87.30 | 92.05 |
从数学上讲,这是正确的。当你平均的对象在数量上极不相等时,未加权平均就会产生这样的结果。 那位英语学生并没有考得差。那位英语学生拿到的是一份难得多、也长得多的试卷,而没有人把这一点写在黑板上。 这是一个测量假象,而它就摆在成千上万名工程师选择模型时首先看的第一列里。
还有一个值得了解的细节:那 1,656 行 BibleNLP 数据来自 train 划分。排行榜把它们平均进了分数里。这就把我们引向了本文后面的第二个问题。
即使修正了加权,任务集也不具可比性
加权是主要问题。但在它之下还有第二个、更缓慢的问题。
MTEB(Multilingual, v2) 有 131 个任务。英语出现在其中 67 个里。
马拉雅拉姆语出现在 11 个里。阿瓦德语出现在 4 个里。

数量并不是真正的问题。任务的种类才是。
翻译匹配的构建成本很低。拿任何平行语料库,你就能立刻得到一个涵盖 200 种语言的任务。真正的检索则很昂贵。你需要文档集合、由母语者编写的查询,以及由母语者判定的相关性标签。这类工作大约只对 20 种语言做过。
所以,一种语言越小,它的任务组合就越偏向廉价的一端:

| 语言 | 任务 | 双语文本占比 |
|---|---|---|
| 英语 | 67 | 15% |
| 印地语 | 19 | 32% |
| 孟加拉语 | 14 | 43% |
| 马拉雅拉姆语 | 11 | 55% |
| 奥里亚语 | 9 | 44% |
| 阿瓦德语 | 4 | 75% |
马拉雅拉姆语实际被测试的内容
以下是全部 11 个任务,以及每个任务真正在问什么:
| 任务 | 类型 | 真正的问题 |
|---|---|---|
| FloresBitextMining | 双语文本 | 找出这句话的译文 |
| IndicGenBenchFloresBitextMining | 双语文本 | 同上,在 FLORES 扩展集上 |
| IN22GenBitextMining | 双语文本 | 同上,在 IN22 上 |
| NTREXBitextMining | 双语文本 | 同上,在新闻文本上 |
| BibleNLPBitextMining | 双语文本 | 同上,在圣经经文上 |
| Tatoeba | 双语文本 | 同上,在 Tatoeba 上 |
| IndicLangClassification | 分类 | 这是哪种语言? |
| MassiveIntentClassification | 分类 | 意图,机器翻译 |
| SIB200ClusteringS2S | 聚类 | 7 个宽泛主题 |
| BelebeleRetrieval | 检索 | 阅读理解 |
| IndicCrosslingualSTS | 相似度 | 英语 ↔ 马拉雅拉姆语 |
十一个任务中有六个问的是同一个问题。把一句话放在它自己的译文附近。这接近于重复匹配。嵌入模型非常擅长这个。
IndicLangClassification 是语言识别。马拉雅拉姆语有自己的 Unicode 区块。模型几乎可以仅凭文字系统就回答这个问题。这是一个披着语言任务外衣的文字系统检测器。
完全没有语言内的语义任务。唯一的相似度数据集是英语到马拉雅拉姆语。唯一的检索数据集是 Belebele,其段落来自 FLORES。没有人测量过这些模型能否在真实的马拉雅拉姆语文本上,用马拉雅拉姆语查询对马拉雅拉姆语文档进行排序。
注意其中有多少来自同一个语料库。FLORES、IndicGenBench-Flores、SIB-200 和 Belebele 都建立在 FLORES-200 之上。马拉雅拉姆语的得分接近一个数据集用四种方式测量。
Jina Embedding 技术报告
最近在工作中,我不得不分析 Jina Embedding v5 的得分。既然我有这些结果,而且它促使我写了这篇博客文章,那就让我在这里分享一下。
jina-embeddings-v5 技术报告在附录 A.6 中发布了按语言划分的热力图。对于jina-embeddings-v5-text-nano:

| 语言 | 得分 |
|---|---|
| 孟加拉语 | 76.9 |
| 亚美尼亚语 | 76.9 |
| 马拉雅拉姆语 | 75.9 |
| 希伯来语 | 75.0 |
| 泰卢固语 | 74.9 |
| 奥里亚语 | 73.2 |
| 英语 | 67.2 |
同样的形态。在该模型完全没有词汇的 23 种语言中,有 11 种得分高于英语。
我单独测量了该模型的分词器。它建立在EuroBERT-210m 之上,并使用 Llama-3 词表。对于马拉雅拉姆语和奥里亚语,它不包含任何词片段,也几乎没有单个字符。奥里亚语文本消耗的 token 数是相同内容英语的12.2 倍,而且没有一个 token 能解码出完整的奥里亚语字符。
那个分词器几乎不覆盖奥里亚语字符的模型,在奥里亚语上得分比英语高 6 分。
为 Jina 说句公道话:他们毕竟发布了按语言划分的表格,这才使这项分析成为可能。大多数供应商只发布一个平均值就完事了。
基准测试被污染
以上都是关于得分如何计算的问题。还有第二个独立的问题:模型在训练期间看到了什么。
MTEB 发布了训练集划分。2024 年 12 月,MTEB 论文 [1] 的合著者Nils Reimers在 X 上写道:
在 MTEB 训练集划分上训练、然后在 MTEB 上评估以提交排行榜,从来都不是本意。[…] 为 MTEB 发布这些训练集划分是个大错误。[…] 遗憾的是,MTEB 基准测试已经死了,不再提供良好的信号。它基本上变成了:谁过拟合得最狠。
当你在自己的数据和任务上评估这些模型时,你会看到排名发生巨大变化,以及许多“MTEB 顶级模型”实际上表现有多差。
我们可以验证他的说法,因为 MTEB 会为每个模型和每个任务记录该模型是否在其上训练过。
| 排行榜位置 | 声明在 ≥1 个基准任务上训练过的模型数 | 平均声明的任务数 |
|---|---|---|
| 前 10 | 100% | 11.2 |
| 前 25 | 76% | 8.2 |
| 前 50 | 78% | 6.4 |
| 51–150 | 50% | 2.1 |
| 151+ | 34% | 1.0 |
排行榜位置与训练任务数之间的秩相关系数为−0.376。排名越好,重叠越多。“谁过拟合得最狠”在 MTEB 自己的元数据中清晰可见。
排名第一的模型声明在 131 个任务中的 28 个上训练过。排名第 5 的模型声明了 35 个。Qwen3、Gemini 和 multilingual-e5 声明了 1 个。jina-v5-text-nano 声明了 0 个。
声明是诚实的行为。风险在于那些没有声明的模型。
为什么这对印度语言更糟
对于马拉雅拉姆语的 11 个任务,声明的重叠几乎为零。没有人声明 FLORES、Belebele、IN22 或 Tatoeba。
这只是微弱的安慰,原因有二。
第一,声明只涵盖“我在这个 MTEB 任务上训练过”。它不涵盖“FLORES 句子在我的预训练数据中”。对于多语言模型来说,这几乎是普遍情况。FLORES、Tatoeba 和圣经翻译是低资源语言的标准平行语料库,它们通过 NLLB、OPUS 和 Common Crawl 被重新分发。没有任何复选框能捕捉到这一点。
第二,当覆盖范围稀薄时,污染会集中。英语将任何一个泄露的语料库分散到 67 个任务中。马拉雅拉姆语的得分 84% 来自一个语料库。一次泄露对马拉雅拉姆语数字的影响远大于对英语的影响。
所以基准覆盖最少的语言,恰恰是污染破坏最大、也最难检测的语言。
需要说明的是:开放数据不是罪魁祸首。开放 FLORES 和 SIB-200 正是印度语言能够被衡量的原因。排行榜的激励才是罪魁祸首。
更好的基准应该是什么样子?
如果你正在为你的语言构建评估集,以下是我会提出的要求。
规则 1:永远不要使用绝对相似度阈值
这是我在生产代码中最常见的错误:
if cosine_similarity(query, doc) > 0.85: # wrong
return "match"
余弦值在不同模型之间不可比较。每个模型都有自己的尺度。一个模型把所有值都放在 0.95 到 0.99 之间。另一个模型把相同的配对分散在 0.6 到 0.85 之间。数字 0.85 在每个模型中的含义都不同。它还会在不同语言之间、以及不同模型版本之间发生变化。
让我们回到教室。现在论文是一样的,但两位老师批改它们。第一位老师很宽容,给每个答案打 95 到 99 分。第二位很严格,给相同的答案打 60 到 85 分。
90 分对第一位老师来说是差劲的作业,对第二位老师来说却是优秀的作业。单看分数什么都说明不了。你必须知道是谁执的笔。
这正是绝对余弦阈值所假定不存在的情况。你在英语上调好的阈值会在马拉雅拉姆语上悄悄失效。你在一个模型上调好的阈值会在你升级它时悄悄失效。
原始余弦相似度值并不是语义等价性的通用度量。它们的分布会因模型、语言和任务而异,因此为一种设置选择的阈值不应假定在另一种设置中也适用。
将候选相互排序避免了对通用阈值的需求,是评估检索的更好起点。但仅靠排序还不够:候选集、结果的相关性以及应用的接受标准仍然重要。
先评估排序。单独校准任何阈值,使用来自其将被使用的应用的代表性数据。
规则 2:衡量顺序,而不是距离
改为构建这样的条目:
- 一个基准句子
- 一个含义相同的正例
- 几个表面形式接近但含义不同的负例
然后问一个问题:正例的得分是否高于每一个负例?
就是这样。通过或失败。没有阈值。结果在不同模型、不同语言和不同模型版本之间都是稳定的,因为只有顺序重要。
一个马拉雅拉姆语的例子
这是一个真实的条目。马拉雅拉姆语将单词连接成复合词,并在连接处双写一个辅音。这种双写改变了含义。
| 角色 | 马拉雅拉姆语 | 含义 |
|---|---|---|
| 基准 | ആനപ്പുറത്തു കയറി | 爬上了大象的背 |
| 正例 | ആനയുടെ പുറത്തു കയറി | 爬上了大象的背 |
| 负例 | ആന പുറത്തു കയറി | 大象爬到了外面 |
| 负例 | ആന അപ്പുറത്തു കയറി | 大象爬到了另一边 |
| 负例 | ആനപ്പുറത്തുനിന്നും ചാടി | 从大象的背上跳了下来 |
| 负例 | ആന പുറത്തു പോയി | 大象出去了 |
基准和正例用两种方式表达了同一件事:一个复合词(ആനപ്പുറത്ത്)和一个属格(ആനയുടെ പുറത്ത്)。负例与基准只差一两个字符,但含义不同。
对于这个条目,一个捕捉到预期语义区分的模型应该将正例排在所有四个负例之上。
我运行了四个模型。这四个模型中只有一个通过了这个条目。
| 模型 | MTEB 排名 | MTEB 马拉雅拉姆语 | 正例排名 | 结果 |
|---|---|---|---|---|
| Qwen3-Embedding-0.6B | 16 | 72.53 | 5 个中第 3 | 失败 |
| jina-embeddings-v5-text-nano | 21 | 69.39 | 5 个中的第 3 个 | 失败 |
| multilingual-e5-large-instruct | 31 | 92.05 | 5 个中的第 2 个 | 失败 |
| LaBSE | 128 | 83.38 | 5 个中的第 1 个 | 通过 |
这些分数说明了为什么阈值毫无用处:
Qwen3-Embedding-0.6B —— 把两个负样本排在正样本之上:
| 余弦 | role | sentence |
|---|---|---|
| 0.8546 | negative | ആന അപ്പുറത്തു കയറി |
| 0.8465 | negative | ആന പുറത്തു കയറി |
| 0.8015 | positive | ആനയുടെ പുറത്തു കയറി |
| 0.7393 | negative | ആനപ്പുറത്തുനിന്നും ചാടി |
| 0.7330 | negative | ആന പുറത്തു പോയി |
multilingual-e5-large-instruct —— 更接近,但仍然错误:
| 余弦 | role | sentence |
|---|---|---|
| 0.9886 | negative | ആന അപ്പുറത്തു കയറി |
| 0.9780 | positive | ആനയുടെ പുറത്തു കയറി |
| 0.9759 | negative | ആനപ്പുറത്തുനിന്നും ചാടി |
LaBSE —— 正确:
| 余弦 | role | sentence |
|---|---|---|
| 0.8158 | positive | ആനയുടെ പുറത്തു കയറി |
| 0.8027 | negative | ആന അപ്പുറത്തു കയറി |
| 0.7844 | negative | ആനപ്പുറത്തുനിന്നും ചാടി |
看看这三张表里的绝对数值。
multilingual-e5 给一个错误答案打了 0.9886。LaBSE 给 正确答案打了 0.8158。如果你用了 0.9 的阈值,e5 会接受全部五个 句子,而 LaBSE 会拒绝全部五个。余弦值更高的模型 反而是错的模型。
这就是关键。绝对值什么也说明不了。顺序说明一切。
还要注意排名。LaBSE 来自 2020 年。它排在第 128 位。在 MTEB Malayalam 上它得分 83.38,比 multilingual-e5 低 8.7 分。而在这个测试中,它是唯一有效的模型。
这正说明了 Nils Reimers 在那条 X 帖子中描述的那种排名变动。
规则 3:用该语言书写条目,而不是翻译
上面每一个马拉雅拉姆语条目测试的都是只存在于马拉雅拉姆语中的东西: 复合辅音重叠,以及 പുറത്ത് / അപ്പുറത്ത് 这一对。你无法通过翻译 英语测试集来得到这些。翻译过来的基准测试测的是翻译过来的 现象。
这是只有母语者才能做的工作。这是耗时的工作。一百个 这样的条目,由一位细心的母语者编写,会比整个按语言分列的 那一栏告诉你更多关于模型的信息。
我正在构建这样一个评估数据集,但目前还没有什么可分享的,因为它进展得非常缓慢。
规则 4:报告测试是由什么构成的
如果你发布一个基准测试,请在分数旁边公布任务数量、任务构成,以及 每种语言的源语料库。如果某个任务占某种语言分数的 84%, 就在表里说明。
一份检查清单
按语言分列的基准测试在以下情况下值得信任:
- 分数只在同一语言内比较,或跨语言在 严格平行的数据上比较
- 没有指标使用绝对相似度阈值
- 条目由母语者编写,而非翻译
- 负样本在表面形式上接近,在含义上明显不同
- 每种语言的任务构成随分数一同公布
- 没有任何单一任务占某种语言分数的很大份额
- 训练集划分未公布,或明确排除在评分之外
如今,MTEB(Multilingual, v2) 在印度语言上大多不符合这些标准。这
不是放弃它的理由。这是一份待修复事项的清单。
如果你正在为某种印度语言选择嵌入模型:
不要从排行榜那一栏里挑模型。你现在知道那一栏 里装的是什么了。
构建 100 个像大象例子那样的条目。基础、正样本、接近的负样本。 按顺序评分,绝不要按阈值。和一位母语者花一个下午。
然后在你自己的文档上测试检索。取 50 到 100 个真实查询,用它们 在你的真实语料库上运行,统计正确文档出现在前 10 名中的频率。这是唯一一个 与你的产品有关的数字,也是唯一一个无法被污染的数字,因为数据是你自己的。
如果你不会这门语言,就找一位会的人查看 20 个查询的前 10 条结果。一位母语者的一小时胜过任何排行榜。
在投入之前先检查分词器的成本。无论质量如何,它决定了你的账单和分块大小。对于一个没有马拉雅拉姆语词汇的模型,512 token 的分块大约能容纳 2,500 个英文字符,而马拉雅拉姆语只有约 320 个字符。这会改变你的整个检索设计。
参见我的文章:Broken Token: Tokenization for Malayalam Language Models
结语
MTEB 排行榜没有说谎。它谨慎地回答了一个狭窄的问题。问题在于,它所回答的问题比人们所理解的问题要小得多。
对于大多数语言,单语言得分回答的是:这个模型将 FLORES 句子与其英文翻译匹配得有多好?这是一项真实的能力。它不是搜索,不是相似度,也不是支持。
对于大约 100 种没有本地语言检索数据集的语言,没有人知道真正问题的答案。排行榜不知道,供应商不知道,我也不知道。这一空白不是任何人方法论的缺陷。填补这一空白需要为现有基准覆盖不足的语言和任务开发新的评估数据,与母语者和领域专家共同开发,并以限制泄漏的方式进行评估。
在那之前,请记住那个教室。学生们考的是不同的试卷。在你从分数中读出任何含义之前,先要求看看试卷。
参考文献
[1] Niklas Muennighoff, Nouamane Tazi, Loic Magne, and Nils Reimers. 2023. MTEB: Massive Text Embedding Benchmark. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics, pages 2014–2037, Dubrovnik, Croatia. Association for Computational Linguistics.
[2] Nils Reimers. Post on X, 22 December 2024.
[3] Jina AI. 2026. jina-embeddings-v5-text technical report. arXiv:2602.15547. 单语言结果见 Appendix A.6.
[4] NLLB Team. 2022. No Language Left Behind. FLORES-200 评估集的来源。
[5] Lucas Bandarkar et al. 2023. The Belebele Benchmark.
[6] David Adelani et al. 2023. SIB-200.
复现本文
本文中的所有数字均来自 MTEB 自己发布的结果及其自身的聚合函数。没有任何重新实现。
文件:fetch_mteb.py, plot_mteb.py, triplet.py
pip install mteb matplotlib polars sentence-transformers
# Rebuild the per-language table, including languages the leaderboard
# does not display. Uses mteb's own aggregation function.
python fetch_mteb.py # -> MTEB_Multilingual_v2_per_language_extended.csv
# results/mteb_long.parquet
# Every figure in this post
python plot_mteb.py # -> figures/*.png
# The ranking test on the Malayalam item
python triplet.py
重建的表格对所有前 10 名模型都精确复现了已发布的排行榜。
来源:Hacker News · thottingal.in