公开榜单只能参考,真正好用的模型要用自己的真实任务来评测。
冷月清谈:
怜星夜思:
2、如果要给自己的团队做一个模型评测集,第一批题应该从哪里来?
3、自建评测集会不会也被“刷题”?比如团队为了分数去优化提示词,而不是真的提升效果?
4、few-shot 示例和评测集共用,会不会导致评测结果不公平?
原文标题:模型好不好用,谁说了算?从榜单崇拜到自建评测
原文作者:阿里云开发者
原文内容
Scale AI:一家美国 AI 数据基础设施公司,总部在旧金山,核心业务是为大模型训练和评测提供高质量数据标注、RLHF 反馈、以及评测基准设计。OpenAI、Meta、美国国防部等都是它的客户。可以理解为"AI 行业的考试出题公司 + 数据外包巨头"。
CAIS:Center for AI Safety(人工智能安全中心),一个非营利研究机构,关注 AI 对齐、灾难性风险等议题。2023 年那封"AI 可能带来灭绝风险"的公开声明就是他们牵头组织的。
它叫 Humanity's Last Exam(简称 HLE)[1],人类最后的考试。
当时,大模型行业最常用的“高考”MMLU 已经没有区分度了,头部模型分数都基本接近满分。
MMLU[2]:Measuring Massive Multitask Language Understanding(大规模多任务语言理解评测)。它用 57 个学科、约 1.6 万道选择题,测试模型在数学、历史、法律、医学、伦理等领域的知识和推理能力。
于是出题人找来全球专家,征集近 2500 道研究生以上难度的题目,横跨数学、物理、法律、哲学等学科。每一道题都故意设计成搜索引擎查不到答案。
刚发布时,最强模型正确率不到 10%。
按理说,这张试卷应该能够撑很久。但仅仅一年半后,在公开榜单[3]口径下,HLE 榜首的正确率,已经从不到 10% 涨到 50% 以上。
比较辛酸的是,HLE 的核心组织者之一 Dan Hendrycks,正是五年前 MMLU 论文的第一作者。
同一个人,出的第一张卷子已经被遗弃。于是他出了第二张更难的试卷,然而在可以预见的未来,第二张试卷也会被淘汰。
这不是 HLE 的失败,而是所有评测的命运。
分数只是替身
模型“好不好用”,其实很难直接测。
所以行业只能找近似指标。用一个可以观测到数字,去近似回答:这个模型到底有多强,能帮上我多少忙。
但近似指标天生有一个问题:它用久了就会开始失真。这就是古德哈特定律。
古德哈特定律:指标失真的过程
英国经济学家 Charles Goodhart 在 1975 年讨论货币政策时,写过一句后来被反复引用的话:
Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes
任何稳定的统计规律,一旦被拿来当控制目标,就会开始崩塌。
它原本讲的是央行和货币指标:政策一旦盯住某个数字,市场参与者就会围着这个数字行动,原来的规律反而不成立了。
后来,人类学家 Marilyn Strathern 把它改写成更流行的版本:
When a measure becomes a target, it ceases to be a good measure.
当一项指标成为目标时,它就不再是一项好的指标了。
俗话说得好,就是:上有政策,下有对策。放到模型评测里,就很好懂了:
四代模型评测的命运
下面四代模型评测的区分,只是个人为了方便进行分类。事实上它们出现的时间是互相重叠的。
第一代:固定考卷,题会被背熟,分会被刷满
2020 年,GPT-3 刚发布,行业第一次迫切地想知道:GPT-3 到底有多聪明?
于是 MMLU 出现了,后来 GSM8K、HumanEval 等评测集接连出现。但固定考卷有两个致命问题。
-
背题。题目公开后,就可能进入训练数据。模型分数高,不一定是它真会解,也可能只是见过题、记住了答案。这时候分数测到的更像记忆力。
-
满分。题目难度固定,模型能力却一直上涨。最后大家都是满分,难分高下,考卷就失去了存在意义。
HLE 就是在这个背景下出现的:旧卷子不能用了,那就换一张更难的。这当然有用,但是不能一劳永逸。
第二代:真人盲测,困于 “裁判偏好”
2023 年,UC Berkeley 的 LMSYS 团队上线了 Chatbot Arena,也就是后来的 LMArena[4]。
UC Berkeley:加州大学伯克利分校(University of California, Berkeley),美国顶尖公立研究型大学,计算机和 AI 领域非常强。
LMSYS:全称 Large Model Systems Organization 的缩写,一个由 UC Berkeley 师生发起的开源研究组织,主要做大模型评测和基础设施方面的工作。
玩法很简单:用户随便提问,系统匿名展示两个模型的回答,用户投票,平台用类似 Elo 的方式给模型排名。
Elo:最早是国际象棋的排名系统,由物理学家 Arpad Elo 发明。核心思路很简单:不靠绝对分数,靠"跟谁赢了谁"来衡量实力。打个比方,你赢了一个高手,加分多;赢了一个新手,加分少。反过来,输给高手扣分少,输给新手扣分多。每场比赛后双方的分数都会根据对手强弱和胜负结果做调整,打多了之后分数就趋近于真实水平。
这个设计很巧妙。题目由真实用户实时生成,模型根本无法背题;此外它还能直接知道用户的喜好。
Chatbot Arena 很快成了行业最受关注的榜单之一。模型发布会开始引用 Arena 分数,厂商也开始围绕它调模型。
然后问题来了。
一些模型针对人类评估者的偏好做了优化,比如多用列表、控制回答长度、加表情符号等。这些技巧不影响模型实际能力,但确实能让评估者更倾向投票给它。
第三代:真实任务,但未必是你的任务
2023 年 10 月,普林斯顿团队发布了 SWE-bench[5]。
SWE-bench,全称 Software Engineering Bench,软件工程基准测试。
它不再问模型选择题,也不让用户投票,而是从 GitHub 上拿真实 issue:模型要读懂整个代码库,定位问题,写出补丁,然后跑项目测试。测试过了,才算修对。
SWE-bench 的巧妙之处在判分。它把测试分成两类:FAIL_TO_PASS 和 PASS_TO_PASS。
-
FAIL_TO_PASS 是那些在原始代码上会失败、修复后应该通过的测试。它们用来判断模型有没有真正修掉 bug。
-
PASS_TO_PASS 是那些原本就能通过、修复后仍然应该通过的测试。它们用来判断模型有没有为了修一个 bug,把别的功能改坏。
这已经比选择题真实很多。但这类评测也有自己的边界。
SWE-bench 再真实,测的也是 GitHub 开源项目里的 issue。你的业务可能完全不是这样。
它测的是真实任务,但不一定是你的真实任务。
第四代:Agent 全链路,困于 “太贵了”
2025 年开始,评测方法又升级了:不只看“模型怎么回答”,而是看“系统能不能办事”。
OpenAI 发布 BrowseComp[6]。它包含 1266 道 “难找但容易验证” 的网页检索题:答案通常很短、相对唯一,但问题被反向构造过,靠一次搜索很难命中。模型必须自己规划搜索词、打开网页、交叉验证线索,最后给出那个短答案。
Terminal-Bench[7] 则把模型扔进真实终端,每个任务通常包含自然语言指令、Docker 环境、参考解法和测试脚本。模型要在沙箱终端里自己执行命令、读文件、改代码、安装依赖、跑测试,最后由脚本判断任务是否完成。
但 Agent 评测也带来一个朴素问题:贵。
一次完整链路评测涉及多轮模型调用、多次搜索和工具执行,成本是固定考卷的几十倍。成本高意味着样本量小,样本量小结果就不稳定,排名可能只是统计涨落。
它的复现也麻烦。工具版本、网页状态、终端环境、依赖、上下文等只要有一个变了,结果就可能不一样。
小结
它们看起来各不相同:选择题、盲测、真实任务、Agent 工作流。其实背后都是古德哈特定律的不同显影:
所以现在模型的排行榜只能做参考,它能回答这个模型大概在行业里什么位置。却无法保证处理你的任务效率会更高。
怎么规避古德哈特定律
规避古德哈特最直接的办法不是再找一张更难的卷子,而是用自己真实题目来评测模型。
公开榜单能给你一个行业坐标。自己的测试集,才能告诉你这个模型能不能进流程
如何收集自己的测试集
你可以有意识地收集自己遇到的、模型难以解决的问题,作为一个测试集。
以我为例,为了方便构建测试集 jsonl,我用 AI 写了个 chrome 插件,我在表格里面输入,它自动给我把数据同步到一个 jsonl 里面。
下面是利用本文语句生成的测试集。
它会转换为如下格式的 jsonl:
{"prompt": "不改变原意的基础上,优化如下语句让它更顺口:「这张卷子,够难,够新,够用好多年。」", "completion": "这张试卷应该能够撑很久。"}
{ "prompt": "不改变原意的基础上,优化如下语句让它更顺口:「同一个人,先做出一张后来被刷满的卷子,又做出一张更难的新卷子,然后看着它也开始被追上。」", "completion": "同一个人,出的第一张卷子已经被遗弃。于是他出了第二张更难的试卷,结果第二张试卷离被淘汰也不远了。"}
其中 prompt 是你给模型的输入,completion 是你期望模型的输出。
这样的数据集,便可以交给大部分市面上的模型平台,做到对模型的评测。
收集评测数据集的另一个意义
收集这个数据集,如果只是做模型评测,好像有点小题大做。
但仔细看会发现,数据集里的内容其实就是你期望的输出,换个格式就能直接当 few-shot 用。
一鱼两吃:出新模型时拿它当测试集,日常工作中拿它当 few-shot 增强模型能力。
总结
AI 模型公开榜单只能给出行业坐标,无法保证模型在你的业务场景上也好用。
最务实的做法是用自己真实遇到的难题构建测试集来评测模型,这套数据同时还能作为 few-shot 增强模型能力。
参考链接:
[1]https://agi.safe.ai/
[2]https://github.com/hendrycks/test
[3]https://dashboard.safe.ai/
[4]https://lmarena.ai/
[5]https://github.com/SWE-bench/SWE-bench
[6]https://openai.com/index/browsecomp/
[7]https://github.com/harbor-framework/terminal-bench
千问AI平台-为Agent而生,驱动AI生产力
扫描下方二维码,直达千问AI平台体验
点击阅读原文即可体验!



