那些在你没留意时变简单的评估集
你在 18 个月前编写了这套评估集(eval set)。那时它是一个非常有用的工具:低价模型的得分是 71%,更好的模型得分是 84%,而当出现回归(regression)时,分数会下降并被察觉。这套测试套件在 CI 中赢得了一席之地。于是你不再关注它了。
今天再运行它,每个候选模型的得分都是 96、97、98。新版本的得分与旧版本相同。你怀疑表现较差的模型与你认为更好的模型得分也一样。仪表盘上的数字依然显示为绿色,检查依然通过,但它实际上什么也没告诉你。你的评估集并没有坏。它只是变简单了——因为底层的模型变强了——而没人在意它失去区分度的那个瞬间。
这就是评估饱和(eval saturation),这不仅是你可能遇到的失效模式,更是任何静态测试套件在足够长的时间跨度下必然走向的终局。一个所有模型都能通过的测试,已经不再是测试了。
饱和是预期的结果,而非意外
将饱和视为一种物理规律而非 Bug 会更有帮助。公开基准测试(benchmarks)的轨迹已经说明了这一点。HumanEval 和 MBPP——曾是默认的代码衡量标准——现在前沿模型在 Pass@1 上的得分已接近 99% 和 94%。MMLU 和 MMLU-Pro 在 88% 以上已功能性饱和,顶级模型之间的差距比测量噪声还要小。SuperGLUE 在发布后大约一年内就触及了天花板。一项关于基准测试平台期的系统研究发现,基准测试的年龄和规模可以预测其饱和,而人们认为会有所帮助的保护措施——如私有测试集、封闭式回答格式——其保护效果有限。
其机制很简单。基准测试通过将得分分布在一定范围内来进行区分。当被测群体进步时,分数会堆积在最大值附近。范围被压缩了。超过某一点后,你在统计上就无法区分最好的模型和次好的模型,因为两者的得分都是 97%,且差异在抽样误差范围内。这就是天花板效应(ceiling effect),它摧毁了你真正想要的唯一属性:区分“优秀”与“卓越”的能力。
你的内部评估集也遵循同样的物理规律。它比 MMLU 更小且更具针对性,这意味着它饱和的速度更快,而不是更慢——你编写了几百个案例来反映你在 2024 年所知道的失效模式,而从那以后模型已经吸收了其中的大部分。区别在于没有报刊为你这套测试发布排行榜,所以没有什么能迫使你注意到这一点。公开基准测试至少会在退役时引发关注,而你的测试只会在不断通过的 CI 任务中悄无声息地变得平庸。
