基准污染:为什么那个90% MMLU分数并不意味着你想象的那样
当GPT-4在MMLU上得到88%时,感觉是一个里程碑时刻。MMLU——大规模多任务语言理解基准——涵盖从小学数学到专业法律的57个学科。在如此广泛领域达到88%的准确率,看起来是真正广泛智能的有力证据。后来研究人员创建了MMLU-CF,一个无污染变体,替换掉了与已知训练语料库存在可疑相似性的问题。GPT-4o下降到73.4%——差距高达14.6个百分点。
这个差距不是小的舍入误差。它代表的是"在复杂学术问题上可靠正确"与"在见过这道题时可靠正确"之间的区别。对于基于排行榜分数做模型选择决策的团队来说,这意味着购买了一种并不真正存在的能力。
评估数据如何进入训练语料库
这个机制不是什么秘密阴谋。考虑到LLM预训练的运作方式,它是结构性的,几乎不可避免。
现代前沿模型在网络规模的数据集上训练——Common Crawl快照、GitHub、arXiv、StackExchange、Reddit帖子。MMLU、HumanEval和GSM8K等流行基准数据集在GitHub和Hugging Face上公开可用,在arXiv的学术论文中被频繁讨论,并在StackExchange答案中被引用。当你抓取整个互联网时,基准数据集也会被一并抓进来。
污染有几种形式。直接包含是最明显的:包含HumanEval问题的GitHub仓库存在于训练数据中。但也有改写污染,从基准问题衍生的合成数据集最终进入训练数据(CodeAlpaca包含约12.8%的改写HumanEval样本)。还有论坛讨论,人们在那里发布基准问题和解答。还有基于MMLU内容构建的学习指南。测试集随着时间推移在网络上扩散。
对于LLaMA 2,研究人员发现超过16%的MMLU示例被污染,其中11%"严重污染"——意味着这些示例中超过80%的token出现在预训练数据中。对于HumanEval,主要开源预训练集的污染率从8%到18%不等。
更难回答的问题是,这是否构成真正的性能虚高,还是说模型确实从那些污染样本中学到了能迁移的东西。MMLU-CF的结果直接回答了这个问题:差距是真实且显著的。
为什么标准检测方法持续失效
业界对污染担忧的第一反应是n-gram匹配:检查测试输入是否逐字出现在训练语料库中。这对直接包含有效,但对其他一切完全失败。
一个13亿参数的Llama模型生动地证明了这一点:在改写版本的测试集上训练后,它在MMLU、GSM8K和HumanEval上达到了GPT-4级别的性能。这些改写轻松 通过了n-gram去污染过滤器。该模型实际上已经记住了答案分布,而没有存储字面文本。
更近期的检测方法使用语义相似度(句子-BERT嵌入)、困惑度分析(污染样本相对于未污染邻居显示出异常低的困惑度)和成员推断攻击。这些能捕获更多污染,但2025年的研究显示了一个新问题:即使在监督微调污染可检测之后,也可以通过用干净数据进行后训练来掩盖污染证据。你可以通过训练消除指纹。
这就是使基准分数对闭源模型从根本上不可靠的对抗动态:创建基准的人无法审计训练数据,而训练模型的人有强烈的动机取得好成绩。
基准到现实的性能差距
污染对真实任务重要性的最清晰证据来自代码生成基准。在HumanEval上——测试孤立、自包含问题上的函数级代码生成——前沿模型得分在84-89%范围内。在真实世界的类级代码生成基准上(要求模型理解项目上下文、类间依赖和现有模式),性能下降到25-34%。
这不是小的方法论细节问题。HumanEval被设计为易于评估:具有清晰文档字符串和单元测试的单个函数。它成功做到了易于评估,却未能预测模型是否对实际软件开发有用。
GSM8K数学推理显示了类似模式。推理时去污染技术——在评估时改写测试问题以减少模式匹配可能性——将GSM8K的准确率降低了高达22.9%,将MATH降低了19.0%。污染不只是虚高绝对数字;它还在人为缩小小型和大型模型之间的差距,让更便宜的模型在重要任务上看起来比实际更有能力。
抗污染评估实际上是什么样的
有四种方法在评估生命周期的不同节点起作用。
时间锚定原则上最简单:使用可证明在模型训练截止日期之后的评估数据。LiveBench和LiveCodeBench持续这样做,从最近的竞赛、新闻事件和新发布的问题中提取。其优点是,对于训练期间不存在的数据,污染在结构上是不可能的。缺点是你需要不断更新基准以保持这一特性。
过程级评估改变了你衡量的内容。不是只检查最终答案是否正确,而是评估推理轨迹——模型产生的中间步骤。在同一套数学题上准确率相同的两个模型可以表现出截然不同的推理过程:一个在做有效的代数运算,而另一个在对常见答案形式进行模式匹配。真正学会了底层方法的模型在问题变体上表现出更好的泛化能力。依赖记忆答案模式的模型在稍微改变表面形式时就会崩溃。
行为探测走得更远。不是在基准分布的保留切片上测试,而是构建通过不同表面探测相同能力的新测试用例。如果一个模型声称学会了"解一元二次方程",就探测它是否能以文字题、代码、几何问题和新颖符号系统的形式求解。真正的学习能跨越表面变化泛化;记忆做不到。
私有保留集对于不是基准研究人员的从业者来说通常是正确答案——只需从你的实际任务分布中构建自己的评估集,将其保存在互联网之外,永远不要与供应商分享作为微调示例。这消除了你用例的整个污染路径。
团队实用评估框架
如果你正在为特定部署选择或比较模型,基准排行榜分数充其量应该被视为弱先验信息。以下是真正给你有用信号的方法:
首先,从你自己的数据构建评估集。从你的实际任务分布中取50-200个示例,让人类评估正确输出,然后针对这些测试模型。这在设计上是防污染的,它直接衡量你关心的能力,而不是代理指标。
其次,在真实提示条件下测试。许多基准结果使用精心设计的多样本提示、思维链、优化样本和集成解码。在生产中你将使用简单的零样本或少样本提示。当提示从基准最优移动到生产现实时,性能往往会大幅下降。
第三,如果你在标准基准上比较模型,优先选择抗污染基准,其中研究人员对抗污染做出了方法论承诺——LiveBench、MMLU-CF或具有时间截止点的特定任务变体。将原始MMLU或HumanEval分数视为营销材料。
第四,测试行为泛化而不是标准分布的准确率。取你的用例并创建5-10个"变体探测",以不同方式测试相同的能力。一个在你的示例上表现完美但在变体上失败的模型可能是在模式匹配,而不是在推理。
第五,对于推理任务,特别注意轨迹质量。模型的推理轨迹是否连贯地导向答案,或者答案是否伴随着不连贯的推理片段出现?正确答案配坏推理是污染信号。这也是可靠性信号:这些模型在问题稍微超出分布时往往更频繁地产生自信的错误答案。
