
这几年做模型选型和能力评估我越来越觉得一件让人头疼的事排行榜上的分数参考价值正在肉眼可见地缩水。不是某个榜单突然变水了而是整个用公开分数评价模型能力的体系出现了系统性问题。今天这篇就围绕这个标题把我实际测评中踩过的坑、拆解过的现象、以及我自己现在怎么绕过榜单做判断的方法完整写一遍。文章会比较长但基本都是实操中被反复验证过的经验。1. 分数通胀榜单上的数字一年比一年高真实能力跟上了吗先说说最直观的感受。近两年如果你持续关注各类公开模型榜单会发现一个规律新模型的分数几乎是“每发布必刷新”。今天刷到 78 分下个月就有人冲到 82 分再过两个月 85 分都显得平常。分数上涨本身没问题问题在于这些分数的增长有多少来自真实能力提升又有多少来自评测体系的“内卷式适应”1.1 从绝对分数转向相对排序你会看到另一个世界我做过一个实验把两年前某模型在某公开榜单上的 75 分和今年另一个模型在同榜单上的 82 分放在一起然后各自跑同一组我自己构建的、从未公开过的测试题。结果很有意思——两个模型的实际表现差距远没有 7 分那么大甚至在部分领域老模型还更稳。这不是个例。公开榜单的分数本质上是一个“相对水位”它会随着参赛者整体水平的提升而水涨船高。但如果把所有模型都在同一时间点、同一评测集上重新测一遍你会发现绝对分数之间的差异往往比榜单增量看起来小得多。说白了分数通胀主要来自新模型对评测集的“定向适应”而不是通用能力的天翻地覆。1.2 为什么明明知道分数虚高厂商还是乐此不疲站在模型发布方的角度榜单位次是成本最低的营销素材。一个公开榜单的高分可以被写进宣传稿、被媒体引用、被客户拿去对比。相比之下真实业务场景的稳定运行、长尾数据的表现、极端输入下的鲁棒性这些才是难啃的硬骨头但短期内不容易转化为传播点。所以你会发现一个现象越是面向 C 端或投资方的模型越热衷于刷榜而真正在垂直领域深耕的模型反而很少出现在大众关注的通用榜单上。这不是说刷榜的模型一定差而是说榜单分数背后的动机结构决定了它天然倾向于“表演性”而非“真实性”。2. 数据污染的灰色地带为什么同一个榜单会记住你练过的题如果要给“榜单分数不可信”排一个原因优先级数据污染Data Contamination排第一应该没什么争议。所谓数据污染指的是评测集里的题目出现在模型的训练数据里导致模型在评测时不是“推理”出来的而是“回忆”出来的。2.1 评测集泄露的三个渠道比想象中隐蔽得多很多朋友以为数据污染就是“评测集被扒出来塞进了训练数据”这种明晃晃的抄袭当然存在但更多时候是灰色渠道。第一个渠道是网络公开内容。很多评测集本身就会以论文、博客、GitHub 仓库的形式公开而训练数据抓取是全网的两者之间天然存在交集。即使评测集没有完整泄露如果题目风格、主题分布、甚至部分示例被网络讨论过模型也能学到“这类题该怎么答”的套路。第二个渠道是间接污染。也就是评测集本身没泄露但模型训练时见过大量同源数据。比如某个评测集是从维基百科、教科书、Stack Overflow 上抽取的而模型训练语料也包含这些来源那模型相当于提前“读”过答案。第三个渠道最隐蔽评测集的迭代版本。有些榜单会定期更新题目但旧版本是公开的。模型训练时如果接触到旧版本再遇到新版本里“换汤不换药”的题目照样能拿高分。我在实际测试中见过一个案例某个模型在公开榜单上分数很高但当我把题目做同义改写后它的表现立刻下降了十几个点——这就是典型的“记忆而非理解”。2.2 拿同一道题做同义改写是检验污染与否的廉价方法这里分享一个我常用的验证方法改写测试。具体操作不复杂——把评测集里的题目用不同的表达方式改写一遍保持语义和难度不变比如把选择题改成填空题把中文换成英文再换回来把数值例子换一批。然后将改写后的版本跑一遍同一个模型和原版分数做对比。如果分数基本持平说明模型是真的会这道题如果分数大幅下跌那就有理由怀疑原版分数里有“记忆水分”。这个方法不需要什么高级工具成本也不高但效果非常直观。我自己做过多次这样的对照测试几乎每一次都能源源不断抓出“榜单高分但一改就废”的模型。注意改写测试也有自己的局限。它只能说明“模型的分数对特定表述敏感”不能直接证明数据集一定被污染。但作为风险提示它足够有效。如果一个模型换个说法就不会了你在真实业务里用它的风险显然是偏高的。3. 评测集与指标的双向“内卷”从选择题猜答案到指标游戏数据污染聊的是“训练数据碰到了评测数据”但就算完全排除污染榜单分数依然可能失真。问题出在评测集本身和评测指标的设计上。3.1 评测集一旦固定就开始了“军备竞赛”公开评测集是静态的这意味着所有参赛模型都在朝同一批题目优化。哪怕是完全良性的优化时间一长也会出现“过拟合到评测集”的现象模型越来越擅长做这套题但对评测集之外的同类问题泛化能力并没有同步提升。这有点像考试如果每年的考题都是从同一本题库里出而且题目多年不换那后来的考生自然会去背题而不是真正理解知识。评测集的固定性是分数通胀的制度性温床。我见过一个典型例子某个评测集里的数学题大多是“求解某个方程”一个模型在榜单上得分很高但一旦我把方程改个结构或者给它一道需要多步推理的复合题它就表现出明显的吃力。这说明它学到的是“识别题型格式并映射到解法”而不是真正的数学推理能力。3.2 选择题天然存在“排除法红利”多项选择题更是重灾区另一个容易被忽略的因素是题型结构。大量榜单采用单项选择题或多项选择题这类题型天然给模型提供了额外的信息选项本身就在提示答案范围模型不需要从零生成答案错误选项往往存在明显的语义差异模型可以利用模式匹配来排除多个选择题的答案分布存在统计规律某些模型甚至能利用这种规律“猜对”。我在实际评估中统计过同一个模型把选择题改成开放式简答题后分数平均会掉 10% 到 20%。这个差距在数学、逻辑推理类题目上尤其明显。也就是说榜单上的选择题分数明显高估了模型在实际业务中“从空白开始生成正确答案”的能力因为真实业务里没有人会给你四个选项。3.3 指标本身的漏洞从精确匹配到F1分数都被玩坏过评测指标也是在动态博弈中被不断“钻空子”的。早期很多榜单用精确匹配Exact Match也就是模型输出和标准答案一个字不差才算对。于是就有团队训练模型“答案尽量简短”牺牲可读性来提高命中率。后来改用 F1 分数即按 token 重叠率计算又有团队发现“尽量多输出可能答案”能提高命中概率输出就开始变啰嗦。再看代码生成评测很多榜单用“Pass1”也就是一次生成的通过率。这个指标看似合理但模型只要见过类似题目记忆住模板就很容易通过。反而真正需要现场调试、工具调用、错误修复的复杂工程任务这类指标根本测不出来。很多榜单分数反映的是“模型在规则明确、场景封闭、格式受限的模拟考试里能考多好”而不是“模型在信息混乱、需求模糊、环境动态的真实任务里能做好什么”。评测指标是被设计出来的它天然滞后于模型的进化。4. 榜单不会告诉你的几个失真场景以及我自己现在怎么选模型前面讲了数据污染、评测集固化和指标漏洞下面聊点更贴近实操的内容面对一个高分榜单模型我在做真实技术选型时会做哪些额外验证。这些方法不复杂但基本能过滤掉一半以上的“榜单水分”。4.1 自建私有评测集加入“动态未知题”我现在的习惯是不管公开榜单分数多高都要用一套自己维护的私有评测集做交叉验证。这套评测集有几个特点题目结构模拟真实业务包括多轮对话的上下文依赖、跨文档信息整合、需要外部工具配合的复合任务而不是单纯的单轮问答动态更新每个季度加一批新题重点覆盖当前模型容易“死记硬背”的领域题型多样同一道能力题会出选择题、填空题、开放问答、代码补全等多种变体避免“偏科”与公网隔离所有私有评测题目绝不上传公开平台最大限度避免训练数据接触。每次选型我会把同一个模型在公开榜单分数和私有评测分数之间做个差值对比。如果落差过大即使榜单排第一也基本上不会纳入候选。这个习惯已经帮我避过好几次“看起来很美实际很脆”的坑。4.2 从“看绝对分”转向“看能力剖面”胜于看排名本身还有一个思路上的转变榜单是给大众看的选型要对自己负责。我现在看模型能力不再关注总分和排名而是把能力拆成一组剖面图指令跟随能力能不能严格按要求执行格式和约束长上下文中的记忆保持这个榜单很少测但业务里极重要对抗性输入的鲁棒性乱序、缺字、口语化、负面表述工具调用和结果反思能力真实工程里最常用的链路多语言和少资源语言的表现如果业务有国际化需求必须单独验证榜单给出的是一个合成总分而这个总分把不同维度的强项和弱项搅在一起很难看出模型适合什么业务场景。比如一个模型写作能力很强但代码能力偏弱总分可能和另一个代码强、写作弱的模型差不多但如果你的业务主要是代码生成只看总分去选型就会选错。4.3 我常用的一套“三问”法推荐你也试试最后分享一个评估任何模型时我都会过一遍的“三问”流程。完成这三个问题比盯一个排行榜数字管用得多“这个模型在何种约束下被评测”评测集的分布、难度、题型、是否公开、是否有动态更新机制这些信息比总分重要得多。如果一项评测连题目来源和更新频率都不披露那它的分数就必须打折扣“我自己的数据在这个模型上表现如何”抽出业务数据里最典型的 5 到 10 个任务跑一遍真实场景的测评这是唯一的“真评测”。不要用公开榜单上的同类题代替真数据永远是最有说服力的“如果这个模型的分数虚高 15%对我的业务影响有多大”这是一个风险预估问题。如果模型在关键路径上失败代价是不可接受的那即使榜单分数再高也要做好备选方案或增加人工兜底不能因为“分数高”就放松警惕。这三个问题不复杂但能让你从“看分数选模型”切换到“看适配度选模型”。说实话适配度才是业务里真正重要的东西榜单总分只是一个参考锚点。4.4 换个思路用低分模型的失败样本反过来校准榜单这招算是我自己摸索出来的一个“反向用法”。既然高分模型的分数有水分那就不妨看看低分模型的失败案例。具体做法是找一个排在榜单末尾但能力分布相对清楚的模型把它答错的题目拉出来逐题分析错误原因。这个过程的价值在于它能在一定程度上还原评测集到底在测什么、不测什么。如果低分模型的错误集中在某种特定题型上说明评测集在这类任务上区分度大如果在另一些题型上所有模型都对那这一块基本属于“送分题”参考价值有限。这样做上几次之后你对一个榜单的信息含量就会有更具体的判断而不是被一个孤零零的总分牵着走。我也越来越觉得真正可信的模型能力判断正在从“公开的静态榜单”转向“私有的、动态的、与业务对齐的验证体系”。这未必是坏事反而可能把行业从“刷分军备竞赛”拉回到“真实能力比拼”的轨道上。对每个需要认真做模型选型的人来说与其追逐不断跳动的分数不如把精力花在建设自己的评测体系上——别看别人考了多少分要看自己手里的题它到底能不能做。