几乎每一个新模型发布时,都会附上一张表格:在知识问答、数学、编程、推理等若干基准测试上的分数,并宣称在其中多项“达到领先水平”。各种排行榜也频繁更新排名。然而很多团队都有这样的经历:选了榜单上排名靠前的模型,用在自己的业务中却表现平平。 理解基准测试衡量什么、不能衡量什么,是理性看待榜单的前提。

基准测试衡量什么

常见的基准测试大致可以分为几类:

  • 知识与理解:涵盖多个学科的选择题,测试模型的知识广度;
  • 数学推理:从小学应用题到竞赛级数学题;
  • 代码能力:根据描述编写函数并通过测试用例,或者解决真实代码仓库中的问题;
  • 指令遵循:检查模型是否准确执行格式、长度、内容等方面的具体要求;
  • 长文本:在长文档中检索信息或进行推理;
  • 中文能力:针对中文知识和语言理解的专门测试集;
  • 综合对话:由人类投票或模型评判对话回答的质量,形成排行榜。

每个基准测试只覆盖模型能力的一个切面,没有任何一个测试能全面代表模型的实际表现。

主要局限

1. 数据污染

基准测试的题目通常是公开的,可能出现在互联网上,进而被收入模型的训练数据。模型可能只是“记住”了答案,而不是真正具备解题能力。由于很多模型并不公开训练数据,外界很难判断污染的程度,参见开放权重不等于开源。

2. 测试饱和

当多数顶尖模型在某个测试上都能取得接近满分的成绩时,这个测试就失去了区分能力。分数上一两个百分点的差异,往往在统计误差范围之内。

3. 与实际任务的差距

基准测试题目通常格式规范、答案明确,而真实业务中的输入往往模糊、杂乱、依赖上下文,需要结合企业内部知识,输出的评判标准也更复杂。

4. 评测设置差异

同一个基准测试,使用不同的提示词格式、示例数量、采样参数和答案提取方式,得到的分数可能有明显差异。不同厂商公布的分数,未必是在相同条件下测得的。

5. 针对性优化

当某个榜单受到广泛关注时,模型开发者可能有意或无意地针对它进行优化,导致榜单分数的提升超过了真实能力的提升。

6. 人类偏好排行榜的偏差

基于人类投票的排行榜反映的是普通用户的偏好,可能偏向格式美观、语气友好、篇幅较长的回答,不一定代表在专业任务上的准确性。

如何理性解读榜单

看相关的测试

关注与你的任务最相关的基准测试。如果你要做代码助手,编程类测试比知识问答测试更有参考价值;如果是中文客服,中文能力和指令遵循测试更重要。

看量级而非排名

把模型分为几个档次,而不是纠结于具体的排名先后。小幅的分数差异通常没有实际意义。

关注独立评测

第三方独立机构在统一条件下的评测结果,比厂商自己公布的分数更可信。也可以关注那些定期更新题目、防止污染的新型评测。

结合其他因素

价格、速度、上下文长度、部署方式、许可证、稳定性等,往往和能力分数同样重要。

榜单的正确用法:缩小候选范围

榜单最适合的用途是初步筛选:从众多模型中挑选出几个能力档次符合要求的候选。最终的选择,必须依靠在自己业务数据上的评测:

  1. 用榜单和其他约束条件(价格、部署方式、许可证)筛选出三到五个候选模型;
  2. 用自己的评测集,在统一的提示词和参数下测试所有候选模型,方法见如何构建评测集;
  3. 综合效果、成本、速度做出选择;
  4. 新模型发布时,用同一评测集快速评估是否值得切换。

中文场景的选型方法可参考中文开源大模型选型思路。

小结

基准测试是了解模型能力的有用参考,但它存在数据污染、测试饱和、与实际任务脱节、评测条件不一致等局限。把榜单用作缩小候选范围的工具,关注相关测试和能力档次,最终以自己业务数据上的评测结果为准,才能做出真正适合的模型选择。