Towards Data Science

Is the #1 AI Model Really #1?

6.9内容质量

TL;DR · AI 摘要

Is the 1 AI Model Really 1? Towards Data Science Large Language Models Is the 1 AI Model Really 1? On a 2,000-question t...

核心要点

  • 主题聚焦:Is the 1 AI Model Really 1?
  • 来源:Towards Data Science,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#安全
打开原文

真的有最好的AI模型吗?| Towards Data Science

大型语言模型

真的有最好的AI模型吗?

在2000道题的测试中,我的前两名模型在常规的5%显著性水平下无法区分。在200题版本中,其他模型大约每10次测试会有3次会取代第一名。

Utkarsh Mangal

2026年10月29日

8分钟阅读

在Google上推荐我们

分享

作者制作的图片,使用Python生成

一个新模型以71.8%的成绩登顶排行榜,亚军为70.0%。表格看起来像是一个明确的结果。

我想知道这种差距有多少是模型本身造成的,又有多少是测试题目选择造成的。极端情况是AIME,它包含30道题。单次运行中,一道题价值3.3分,因此两个模型的差距不可能是1.8分。差距只能是0、3.3或6.7分。每个基准测试都有类似但更温和的情况。分数是正确回答问题数量的统计,而有限列表中的统计值会存在波动。

Anthropic的Evan Miller在2024年撰写了这方面的标准参考文献[1]。他的建议包括为评估分数添加误差条、在共同题目上比较两个模型,并计算需要多少题目才能开始分析。我采纳了这些建议,并将其应用于我构建的排行榜,因此以下所有数字都来自你可以查看的代码。

实验设置

我在相同的2000道随机抽取的MMLU[2]题目上对八个小型开源模型进行评分。MMLU是涵盖57个学科的四选一多项选择题测试。每个模型在提示中没有示例的情况下看到所有问题,我记录了每个模型给出最高概率的答案字母(A、B、C或D)。没有生成任何内容,这就是整个测试可以在Colab T4 GPU上运行的原因。

模型包括Qwen3-4B-Base、Phi-3.5-mini-instruct、Qwen2.5-3B、Qwen3-1.7B-Base、Qwen2.5-1.5B、SmolLM3-3B-Base、Llama-3.2-3B和Gemma-2-2B。所有模型都收到相同的题目,这在后续分析中很重要。

这是排行榜,每个分数都有95%置信区间。

八个小型开源模型在相同2000道题目上的MMLU准确率,附95%置信区间。作者制作的图片

有两个显著现象。中间部分,Qwen3-1.7B-Base(60.2%)、Qwen2.5-1.5B(59.4%)和SmolLM3-3B-Base(59.1%)彼此之间的差距不超过1.1分。当我用它们共同的题目进行相互测试时,p值分别为0.49、0.79和0.34。没有任何证据表明它们之间存在差异。排行榜仍然会将它们列为#4、#5和#6。

另一个现象是排行榜顶端。Qwen3-4B-Base得分为71.8%,Phi-3.5-mini-instruct得分为70.0%。在下一个实验之后,我会再回到这个差距。

重新构建基准测试

这里是我的思路。将我的2000道题目视为整个世界。从中随机抽取n道题目(可重复),对所有八个模型进行评分,并记录谁获得第一名。重复这个过程2000次。#1模型在抽样中再次保持第一的比例,可以说明排行榜结果在多大程度上取决于所选题目。

python

code
import numpy as np
from math import comb
rng = np.random.default_rng(0)
# C[m, i] = 1 如果模型m正确回答了问题i;行按最佳模型排序
def p_top_stays_top(C, n, draws=2000):
    idx = rng.integers(0, C.shape[1], size=(draws, n))      # 重新抽取n道题目
    scores = np.stack([row[idx].mean(axis=1) for row in C], axis=1)
    scores += rng.random(scores.shape) * 1e-9               # 随机打破精确平局
    return (scores.argmax(axis=1) == 0).mean()

我将其在30个问题到完整的2000个问题的基准规模上进行了测试。

当基准在不同规模上重新绘制时,#1模型再次成为#1的频率(橙色)以及前三名模型保持相同顺序的频率(海军蓝)。图片由作者提供

在30个问题的情况下,完整数据集上排名第一的模型在45%的抽样中再次排名第一。在100个问题时为60%,200个问题时为70%,500个问题时为82%,1000个问题时为91%。即使使用全部2000个问题,这一比例也仅为96%,而非100%。在30个问题的情况下,前三名模型保持精确顺序的比例仅为12%,在100个问题时为34%,200个问题时为54%,在500个问题时为77%。

虚线标记了AIME(30)、HumanEval(164)和SWE-bench Verified(500)[3][4]中的问题数量。这些线仅用于表示比例。这些曲线属于我在MMLU上的八个模型。如果前两名模型差距更大,基准表现会更稳定;如果差距更小,排名则会更波动。曲线的形状才是关键部分。减少问题数量,排名会迅速变得不稳定。

相同问题,更小的误差范围

图1中的误差范围将每个模型视为面对自己独立的随机问题集。但实际上,模型面对的是相同的问题,这帮助很大,因为问题的难度差异极大。在我的27%的问题中,所有八个模型都答对了;在8%的问题中,所有模型都答错了。排行榜由中间的问题决定。

因此,两个模型的正确比较方式是配对比较。对于每个问题,确定哪个模型答对了,哪个模型答错了,只统计两者意见不一致的问题。这就是精确的麦纳马拉检验。

code
def paired_test(x, y):
b = int(((x == 1) & (y == 0)).sum())    # 仅第一个模型答对
c = int(((x == 0) & (y == 1)).sum())    # 仅第二个模型答对
n, k = b + c, min(b, c)
p = min(1.0, 2 * sum(comb(n, i) for i in range(k + 1)) / 2**n)
return b, c, p

在我的前两名模型中,Qwen3-4B-Base单独答对了219个问题,Phi-3.5-mini-instruct单独答对了182个问题。这在2000个问题中形成了37个问题的净优势,即1.85分的差距。p值为0.072。配对比较使差距的95%置信区间比图1中两个误差范围的比较窄约30%(±1.96分而不是±2.82分)。置信区间仍从约-0.1到+3.8分,因此零点刚好位于区间内。

相邻模型之间的准确率差距,以及通过比较两个独立误差范围(灰色)和通过相同问题比较(海军蓝)得到的置信区间。图片由作者提供

在七个相邻模型对中,有四个对明显分离(p值低于0.01,即使进行七次测试的校正后仍保持这一结果)。另外三个对则没有:#1 vs #2、#4 vs #5和#5 vs #6。因此,我的排行榜最顶端正是我无法确认排名真实性的位置之一。

需要多少问题?

这就是Miller所说的功效分析[1]。对于配对比较,当两个模型在q比例的问题上存在分歧时,要可靠地检测出差距d所需的问题数量大致如下。我使用了5%的显著性水平和80%的功效,这就是1.96和0.84的来源。

n

≈

(

1.96

+

0.84

)

2

q

d

n \approx \frac{(1.96 + 0.84)^2 \, q}{d^2}

​

在我的前两名模型中,q为0.20,d为0.0185,这需要约4600个问题。我只用了2000个。在我的所有模型对中,q的中位数为0.27,这给出如下结果:

要检测的差距

所需问题数

1分

约21000个

2分

约5300个

3分

约2300个

5分

约840个

10分

约210个

要求随着差距的缩小呈平方关系增长。将差距减半,所需的问题数量会增加到原来的四倍。你也可以反向使用这个公式。以我这样的分歧率(20%)为例,在200个问题时,差距的95%置信区间约为±6分,在500个问题时为±4分,在2000个问题时为±2分。

获胜者至少能保持稳定吗?

我还对2000个问题进行了3000次随机分半测试,从其中一半中选出胜者,并在另一半中验证。94%的情况下,同一模型在两半测试中都胜出。胜者的领先优势在选中它的那一半测试中为1.88分,在另一半测试中为1.62分,说明领先优势中约有13%的部分消失了。

不过我不太会依赖这个94%的数值。两半测试都来自同一组问题,因此它们共享原始数据集的倾向性。这只能说明在这个问题集合内部排序是稳定的,但无法说明如果使用全新的2000个问题,结果是否一致。而获取新问题是成本最高的环节。

我查看排行榜时的思考方式

我会先查看分数背后有多少个问题,因为每个问题对应的分数是100除以问题数量。我会寻找置信区间或配对检验结果,如果页面都没有提供,我会将几百个问题上几分的差距视为噪声。我会用聚类思维代替排名思维,因为我的中间三个模型实际上属于同一层次,表格却将它们分成了三个位置。如果我要为实际工作选择模型,我会自己用关心的问题对候选列表进行测试,因为这才是唯一真正重要的测试。

本文未展示的内容

这些是小型开源模型在单一多项选择基准测试上使用单一零样本提示的得分,因此这些数值无法与已发表的MMLU分数进行比较。重抽样过程将我的2000个问题视为总体,仅捕捉了问题选取带来的噪声,而未考虑提示措辞、抽样随机性或数据污染等因素。像SWE-bench这样的需要模型或代理生成答案的基准测试,还存在额外的运行间随机性,因此其真实不确定性比本文测量的要大得多。图表中显示的基准测试规模仅用于比例参考,我并未测量这些排名的稳定性。

代码都在文章中,完整运行过程在Colab笔记本的几个单元格中。

···

参考文献

[1] E. Miller, Adding Error Bars to Evals: A Statistical Approach to Language Model Evaluations (2024), arXiv:2411.00640

[2] D. Hendrycks 等, Measuring Massive Multitask Language Understanding (2021), ICLR 2021

[3] OpenAI, Introducing SWE-bench Verified (2024), openai.com

[4] M. Chen 等, Evaluating Large Language Models Trained on Code (2021), arXiv:2107.03374