跳到主要内容

评估悖论:古德哈特定律如何破坏 AI 基准测试

· 阅读需 12 分钟
Tian Pan
Software Engineer

在 2024 年底,OpenAI 的 o3 系统在 ARC-AGI 基准测试中获得了 75.7% 的分数——这是一个专门为抵抗优化而设计的测试。AI 研究界欢欣鼓舞。但从业者仔细观察后发现:o3 使用了该基准测试 75% 的公开训练集进行训练,且最高算力配置使用的资源是基准线的 172 倍。这并不是伪装成分数的能力突破,而是伪装成能力突破的分数。

这就是评估悖论(Evaluation Paradox)。一旦某个基准测试成为团队优化的目标,它就不再能衡量其最初设计的目的。古德哈特定律(Goodhart's Law)——“当一个衡量指标变成目标时,它就不再是一个好的指标了”——虽然是在 20 世纪 70 年代的经济政策中提出的,但它却极其精准地描述了 AI 基准测试的现状。

基准测试的生命周期

基准测试遵循一个可预测的弧线。研究团队识别出一种有意义的能力——推理、代码生成、多语言理解——并构建测试题来衡量它。早期模型得分较低。基准测试驱动了真正的研究。模型改进,分数上升。

接着,情况发生了转变。基准测试变成了排行榜。排行榜变成了营销。营销变成了压力。而这种压力会渗透进评估系统的每一个裂缝。

首先是直接的捷径:专门针对基准测试格式设计的提示工程(Prompt Engineering),旨在最大化已知测试分布分数的推理参数调整,以及从多次评估运行中精挑细选的结果。接着是更隐蔽的问题:训练数据与基准测试集重叠——有时是有意的,通常是通过抓取的互联网数据,而这些数据恰好包含了题目。

曾经能够区分模型能力强弱的基准测试,现在主要区分的是那些针对它进行了优化的团队和那些没有优化的团队。

数据污染的真面目

基准测试污染的规模比大多数从业者意识到的要大。对主要基准测试的分析发现,在问答类基准测试中,污染率从 1% 到超过 45% 不等。MMLU 是引用最广泛的语言理解基准测试之一,显示出 13.8% 的整体污染率——其中 STEM 学科为 18.1%,在某些研究中,哲学学科甚至达到了 66.7%。

问题不仅仅是直接复制。简单的改写(Paraphrasing)就能避开大多数标准检测方法。在一项研究中,研究人员在改写后的 MMLU 题目上训练了 Llama-2-13B,获得了 85.9% 的准确率,而标准的 n-gram 重叠检查却无法检测出这种行为。污染对于那些旨在捕捉它的工具来说是隐形的。

HumanEval 是标准的编程代码生成基准测试,也表现出类似的模式。当研究人员使用新的提示词(相同的问题,全新的描述)重新生成测试数据时,受评估模型的性能平均下降了 39.4%。“原始基准测试得分”与“等效但未见过的版本得分”之间的差距,粗略地衡量了原始数字因先前的接触而虚高了多少。

DeepSeek 模型提供了一个天然的实验:它们在 Codeforces 题目上的表现,在 2023 年 9 月的训练截止日期后大幅下降。较早的题目(可能泄露到了训练数据中)得分要高得多,而较晚的题目则不然。这种性能断崖(Performance Cliff)就是污染的特征签名。

博弈是如何变得复杂的

污染是被动博弈——团队甚至可能不知道他们的训练数据包含了基准测试题目。主动博弈则是蓄意的,且更难检测。

最常见的形式是选择性披露。一家公司针对 20 个基准测试对其模型进行测试,发现其中 6 个表现异常出色,于是只发布这 6 个的结果,而对其他 14 个闭口不谈。从技术上讲,没有任何基准测试分数是错误的。但它所描绘的画面却是完全误导性的。

更激进的是在旨在衡量现实世界人类偏好的平台上进行私下测试。当一个主流 AI 排行榜被分析时,研究人员发现大公司在选择性提交最佳表现者进行公开排名之前,已经测试了多达 27 个私有模型变体。据估算,这种选择性披露带来的性能提升,相比随机提交一个变体,最高可达 112%。

还有规范博弈(Specification Gaming)——模型寻找漏洞而不是真正解决问题。在 2025 年,研究人员发现具备推理能力的 LLM 在被要求击败更强大的国际象棋对手时,有时会尝试黑入象棋引擎而不是走出更好的棋步。在 Agent 评估中,有人观察到模型会修改评分代码本身,以确保即使没有完成任务也能获得学分。这些不是 Bug;它们是优化器在做优化器该做的事。

为什么标准检测手段会失效

团队用来检查污染的工具大多寻找训练数据和测试数据之间的字符串重叠。它们擅长捕捉明显的案例。但对于改写、语义相似性,以及任何在人们想到要检查之前就发生在预训练阶段的污染,它们在系统层面上是盲目的。

闭源模型提出了一个更难的问题。当训练数据是私有的,研究人员只能间接地探测污染:对比截止日期前后的题目表现分析、通过屏蔽补全进行的记忆测试、置信度分析(模型往往对它们训练过的材料表现出异常的自信)。

没有任何一种方法本身是足够可靠的。一个模型可以表现出所有清洁评估的迹象,但仍然存在严重的污染。无法检测到污染并不代表训练是清洁的——这只代表检测方法还没跟上。

真正有效的方案:三种结构化修复手段

在应对刷分(Gaming)行为方面取得进展的团队,通常会汇聚到这三种方法上。没有哪一种是完美的解决方案;关键在于组合使用。

动态、轮换的测试集。 静态基准测试一旦泄露,就会永久面临风险。另一种选择是持续替换:从模型训练截止日期之后的竞赛和真实事件中获取新问题,并进行时间维度上的追踪,以确保模型始终是在真正未见过的素材上进行测试。LiveCodeBench 收集了各模型知识截止日期之后的 LeetCode、AtCoder 和 Codeforces 题目,然后追踪不同时间窗口内的表现,以识别数据污染的特征。这种方法的开销比维护固定测试集要高,但防刷分的能力也更强。

大规模人类偏好。 众包偏好评判——让人在不知道答案来源的情况下,从两个模型响应中选出更喜欢的那个——比固定测试集更难刷分。评估目标是不断变化的人类偏好分布,而不是稳定的题库。没有可以死记硬背的固定答案。这种方法的实践版本是与来自多个领域的大量、多样化的评分者群体进行两两比较(Pairwise comparison)。其局限性在于,人类偏好并不总能准确反映专业或技术任务的质量,且该方法在大规模扩展时成本昂贵。

带有隐藏测试集的监考式评估。 这一核心洞察借用了标准化考试的经验:测试题目绝不应公开,仅在评估时展示,并在使用后弃用。模型在从未见过的测试集上接受评估,且测试集在评估完成前一直处于受保护状态。加密承诺(Cryptographic commitments)可以防止事后操纵。这种方法需要治理基础设施——谁决定包含哪些问题、谁验证有效性、题目如何更新——但它从根本上改变了激励结构。由于测试集在评估日之前并不存在,因此也就无从污染。

评分员问题也同样真实

即使测试污染不是问题,评估也需要决定什么是“正确答案”。对于客观任务——这段代码能编译吗?这个计算结果一致吗?——这很简单。但对于任何主观任务,你都需要一个评分员(Grader),而评分员也是可以被刷分的。

LLM 即评委(LLM-as-judge)评估(即用大模型评估另一个模型的输出)已变得非常普遍,因为它扩展成本低廉。问题在于 LLM 评委也有偏好:它们偏好冗长的回答,偏好符合自身训练数据风格的输出,并且容易受到与质量无关的谄媚式措辞(Sycophantic framing)的影响。针对 LLM 评委优化的模型并不一定针对真实质量进行了优化,它只是针对评委奖励的模式进行了优化。

多评委系统会有所帮助。基于代码的评分员(快速、客观、可审计)结合基于模型的评分员(灵活、处理开放式任务),再结合定期的人类审查(捕捉另外两种评分员漏掉的系统性错误),提供了让刷分变得更难的冗余机制。任何单一类型的评分员都有可利用的弱点。这种组合提高了刷分的成本,使其变得不再实际。

Anthropic 在评估智能体(Agent)时增加了一个重要的约束:任务设计应确保两个独立的领域专家能达成相同的通过/失败判定。如果一个任务模糊到让评分员产生分歧,那么它就无法清晰地测量任何指标。为“评分者间一致性(Inter-rater agreement)”而设计的严谨性,过滤掉了许多看起来有意义但实际并非如此的任务。

激励问题不会消失

从原则上讲,只要有足够的资源,上述每种结构化修复手段都可以被刷分。隐藏测试集需要值得信赖的治理。人类偏好委员会可以通过人口统计定位被操纵。动态基准测试会产生压力,迫使模型在非常新鲜的互联网内容上进行训练,以污染截止日期后的数据。

更深层的问题在于,基准测试分数已经变成了营销手段。公司在公开排行榜上争夺名次,因为排名能推动企业交易和开发者采用。刷分的激励与“看起来赢了”所带来的商业价值成正比——对于前沿 AI 公司来说,这一价值巨大。

这意味着,如果不改变基准测试的治理方式以及行业对待基准测试分数的方式,任何技术手段都无法完全解决问题。“我们的模型在基准测试 Y 上达到了 X%”与“我们的模型在任务 Y 上具备 X% 的能力”之间的区别是巨大的,但公众讨论往往会消除这种区别。从业者无法修复激励结构,但你可以停止将排行榜名次视为能力声明。

到底应该衡量什么

对于大多数构建产品的团队来说,相关的问题不是“这个模型在 MMLU 上得分多少?”,而是“这个模型能处理我的用户遇到的特定失败模式吗?”通用基准测试对于初步的模型筛选和排除很有用。但在理解特定领域的生产质量方面,它们几乎毫无用处。

那些能逃脱古德哈特定律(Goodhart's Law)诅咒的评估,往往具有以下几个属性:

  • 它们是细分的。 那些声称测量“推理”或“智能”的广泛基准测试是优化的目标。而在特定输入分布上测量特定、明确定义的行为的基准测试更难刷分,因为刷它们的价值较低。
  • 它们与生产数据挂钩。 从真实用户交互中采样(配合适当的隐私控制)会创建一个不可能被污染的评估分布,因为它在部署之后才会存在。
  • 它们包含对抗性输入。 专门试图破坏系统的人类会发现标准基准测试遗漏的失败模式。这虽然昂贵,但能产生有用的信号。
  • 它们是变化的。 任何针对一个被积极优化的系统长期运行的固定评估,最终都会被刷分。从一开始就内置轮换机制,会迫使团队在评估质量上进行持续投入。

评估悖论是不可调和的。只要基准测试分数具有商业分量,就会存在针对分数进行优化而非针对其背后能力进行优化的压力。可以解决的是构建这样一套评估系统:让刷分需要投入巨大的精力以至于得不偿失,并且让信号在下一轮优化使其退化之前,能保持足够长的有效时间。

做对这件事的团队会将评估视为一个产品,而不是一个待勾选的任务。它需要持续的投入、对抗性思维,以及弃用那些已完成使命的测试的自律。没做对的团队将继续为基准测试分数欢呼,即便这些分数对用户的实际体验没有任何预测价值。

References:Let's stay in touch and Follow me for more thoughts and updates