Elea Notes.

词条 · AI · 入门

Benchmark

同一套题大家都来考,好比较。代价是:题目一旦固定,分数就会慢慢脱离它想衡量的能力。

也称:benchmark、基准测试、评测、榜单

下面从”怎么比两个模型谁更强”这个最朴素的问题出发,看它为什么必然长成一套固定考题,以及这套考题为什么注定会烂掉。

先看一个麻烦:两个模型摆在你面前,你说不出哪个更好

你手上有 A 和 B 两个模型,要选一个上线。

你问 A 一个问题,答得不错。问 B 同一个问题,也不错,风格不同。你再问一个,这次 B 明显更好。第三个问题,A 更好。

试着把结论说出来:“B 在……方面更强”——在哪方面?你只问了三个问题,而且是你随手想到的三个。换成你同事去问,他会得出相反的结论;你自己明天再问一遍,可能又换个答案。

停下来看看卡在哪:“更好”这个判断依赖于你问了什么,而你问什么是随机的。 这不是你不够专业。任何人用”随手试试”的办法,得到的都是关于自己提问习惯的信息,不是关于模型的信息。

要能比较,你需要的不是更好的直觉,而是一个换人重做会得出同样结论的程序

朴素尝试为什么都不够

招数一:多问几个,凭总体印象。 三个问题不够,那就问三十个。问题在于”印象”不能相减:你说不出 A 和 B 差多少,也没法记录下来供别人复核。更糟的是,你会记住印象深的那几次答错,忘掉平淡的答对——用记忆当统计工具,权重全是错的。

招数二:记录每个问题谁赢,数票数。 终于有数了。但两个人各自问三十个不同的问题,得出的票数无法合并——他们量的不是同一个东西。要能合并,题目必须是同一份。

招数三:那就固定一份题目,人来判分。 现在可比了。代价是人:一千道题、每题两个答案,判完要几十小时,而且换个人判分标准会漂移。要每周复测一次新模型,这条路走不下去。要能重复跑,判分必须自动。

招数四:只出能自动判分的题——选择题、有唯一答案的题。 这一招成了,今天绝大多数榜单就是这么做的。但它悄悄换掉了衡量对象:你想知道”这个模型能不能帮我干活”,量到的是”它会不会做选择题”。两者相关,但不相等。

招数五:把题目保密,只由官方跑。 这防住了针对性优化(下面第四节的主要毛病),代价是没人能复现、没人能审查,你只能信发布方的自报。

五次失败给出的要求是清楚的。一个能用的评测必须:

  1. 题目固定且公开——否则不同人的结果无法合并、无法复现;
  2. 判分自动且确定——否则不能重复跑,也不能跨时间比;
  3. 明确声明它量的是什么——因为它量到的东西一定比你真正关心的能力窄。

前两条能靠工程做到。第三条做不到彻底,这是榜单一切误读的根源。

机制:一个分数是怎么被造出来的

榜单上那个百分数,是一条流水线的末端产物。每一格都会影响它:

  题集(N 道题,公开)

  跑法:给多少步?允许查资料吗?允许写代码运行吗?
        ↓                              ← 同一模型,跑法不同可差 20 个点
  采样 k 次,取哪一个?best-of-k?多数投票?

  判分:精确匹配 / 单元测试通过 / 另一个模型来判

     一个百分数

同一个模型在同一份题集上,可以合法地报出好几个分数——只要跑法那一格换了。所以看榜时四个字段必须一起读,缺一个这个分数就没法解释:

  • 谁测的:统一环境的官方评测,还是提交方自报?两者常常并列在同一张表里。
  • 允许什么:能否调工具、写代码、多次尝试取最好。这一格的差别通常比模型之间的差别更大。
  • 上限多少:给了多少步、多少时间、多少钱。Agent 类评测尤其吃这一格。
  • 题目多少:固定 300 题上的 90%,和开放场景里的 90%,不是同一个数。

判分那一格还藏着一个陷阱:用另一个模型判分(“LLM as judge”)能测开放式回答,但引入了判分者自己的偏好,比如偏爱更长、更客气、格式更漂亮的答案。这时分数里混进了一部分文风。

为什么值得知道:固定题集必然烂掉,只是快慢问题

第二节第 1 条要求”题目固定且公开”,第 3 条又承认”它量的东西比你关心的窄”。两条一叠加,就得到榜单的宿命:

优化会朝着题目的形状生长。 这多半不是作弊,而是正常工程——针对常见任务类型专门处理是合理的。但结果一样:分数增长和能力增长逐渐脱钩。一个指标一旦成为目标,就不再是好指标。

数据污染是它的极端形式。 测试题若出现在训练数据里,分数彻底失去意义。这不需要谁存坏心:题集公开在网上,训练语料从网上抓,污染是默认结局。这正是严肃评测要留一部分从不公开的题的原因——也解释了第二节招数五那个”没人能复现”的代价为什么有人愿意付。

还有一层更隐蔽的漂移:题集会因为被广泛使用而改变研究方向本身。 大家都拿同一份题当靶子,模型能力的成长就会集中在这份题覆盖的地方,覆盖不到的地方无人问津。榜单于是不只是尺子,也是引力场。

于是有四个实践判断可以直接落下来:

  • 看分数变化,先分清哪一层动了。 模型能力提升、跑法放宽、题集换版本,三者都能推高数字。跨榜单版本比较尤其危险:v1 的 60% 和 v2 的 60% 常常不可比。
  • 饱和的榜单不再传递信息。 一个榜单大家都考到 95% 以上时,剩下的差异主要是噪声和题目本身的错误标注。此时该换题集,而不是继续报小数点。
  • 最有信息量的评测是你自己那二十道题。 用你真实工作里的输入,自己判分。它不能跨人比较——但你要做的决定恰好也不需要跨人比较:你只需要知道在你的活上,哪个更好用。
  • 报告”哪些题错了”比报告平均分有用得多。 平均分把两种情况混成一个数:均匀地差一点,和在某一类题上系统性崩掉。后者才是你上线后会踩的坑,而它在平均分里看不见。

还有一个容易被忽略的方向:评测本身也会错。 公开题集里普遍存在标注错误、题目歧义、参考答案过时。当模型分数逼近人类基线时,剩下的差距里有相当一部分其实是题目的毛病,不是模型的。这也是”95% 以上不再传递信息”的另一半原因。

一句话记住:榜单衡量的是模型在这套题上的表现,仅此而已。 从这里推到”更聪明”,中间那一步永远是你自己在补的——而第二节第 3 条已经说明,那一步没有办法被题目替你走完。