模型对比检测方法

模型与算力

给做评测的人一套可复用的模型对比检测流程:怎么定题、控变量、盲评、判分与记录,避免结论被噪声带偏。

两个模型用同一句话问,一个答得好一个答得差,你就敢下结论说谁强吗?多跑几轮结果就变了,可能是温度、上下文、提示词写法在捣鬼。这篇不讲谁比谁强,只讲怎么把对比做得干净:样本怎么选、变量怎么锁、评审怎么防偏心、结果怎么记录才能复核。

两个模型拿同一句提示词去问,一个答得漂亮一个答得差,这就能下结论谁强吗?不一定。多跑几轮结果可能就翻了,问题往往出在温度、上下文长度、提示词写法、甚至调用时段上。这篇不讲谁比谁强,只讲怎么把对比做得干净:样本怎么选、变量怎么锁、评审怎么防偏心、结果怎么记录才能被别人复核。

做对比检测的目标不是发一条「某某吊打某某」的结论,而是得到一份别人能照着复现的流程记录。流程对了,哪怕这次样本少,下次也能接着补;流程错了,跑再多轮也只是把噪声放大成看起来很像结论的东西。

先定清楚要测什么,别一上来就选模型

很多人第一步是打开两个模型页面开始问,问完发现答什么都记不清。正确顺序是先写判定标准,再挑题,最后才跑。判定标准要在跑题之前落成文字,否则跑完会不自觉根据印象反推标准,结论必然偏向自己本来就更看好的那个。

把笼统的「谁更强」拆成能判定的子能力,一次只测一到两项。拆得太粗,评出来的差异说不清来自哪;拆得太细,题量又撑不起来。下面这张表是常见的拆分方式,按你的实际用途挑。

子能力判定依据典型不适用场景
指令跟随是否遵守条数、格式、字数限制开放创作类任务
长文摘取关键信息是否遗漏、有无编造短问答类任务
结构化输出能否稳定产出合法 JSON 或表格纯聊天场景
拒答边界该拒的拒、该答的答,不越界无风险内容的日常问答
  • 单轮问答的结论推不到多轮对话、带工具调用或仓库级代码任务上
  • 同一批题里混着多种子能力,最后只能得出「差不多」这种没用的结论
  • 先跑题后定标准,等于允许自己按印象打分
  • 能力项定得越少,单次对比的可解释性越强

控制变量:把能锁的全锁住

对比检测里最常见的翻车原因是变量没锁。同一句提示词,两个模型温度不同、最大输出长度不同、是否开思考模式不同,结果差异就说不清是模型能力还是参数差异。要锁的东西有一张固定清单,照着核一遍再开跑。

提示词
逐字一致,连标点和空格都别改
参数
温度、最大输出长度、是否思考模式保持一致
上下文
塞进去的历史长度一致,别一个带示例一个不带
调用入口
固定同一个入口和同一份模型标识,中途别换

模型名后面的快照和别名会随时间漂移,今天叫这个名字明天可能指向另一份权重。换版本等于换题目,前后的结果不能直接比。跑之前到 /models 查当时的模型条目标识记下来,术语口径不一致的可以到 /ai-dict/category/tech 对照。

  1. 锁定清单把提示词、参数、上下文长度、入口写成一份配置文本,两个模型共用同一份。
  2. 同批同序跑同一批题按同一顺序跑完两个模型,避免高峰期和低谷期分开跑造成延迟和截断差异。
  3. 标记异常超时、限流、被安全策略拦下的题单独标记,不能当成「答错」计分。
  4. 复核配置跑完回头核一遍配置文本,任何一处改动都要在记录里写明。

样本与盲评:防自评分和顺序偏差

样本量没有一个通用数字,原则是能覆盖你要测的能力边界。少量样本只能看方向不能定结论,样本过度集中在同一题型又会被单一题型带偏。可以先按能力项各挑几题试跑,看差异是否稳定,再决定要不要加量。

评审环节最大的坑是自己评自己的输出。把两份答案去掉署名后交替排列,评审不知道哪份是谁的;如果评审就是你自己,至少做到先随机化顺序、隔一段时间再回头复看一遍。

偏差来源表现处理办法
自评分给自己偏好的模型高分去署名盲评,或换第二人评
顺序偏差先看到的答案更容易被判好两份答案顺序随机交替
单次波动同一题换次问法结论就变换问法或换顺序再跑一遍
主观题分歧两位评审给分差得多分歧项挑出来单独复评
  • 打分项要可判定:关键事实齐不齐、格式合不合规、有没有编造
  • 主观题至少两人评,分歧项不硬压成一个分
  • 同一批题换一次问法再跑,结论不一致的项标为不稳定
  • 不稳定项不写进最终结论,只在记录里备注

记录与出报告:让结论能被别人复核

记录的目的不是存档好看,是别人拿着你的记录能重跑出接近的结果。缺任何一项关键信息,后面出了问题都查不出是哪一步导致的。下面这份清单可以直接当模板用。

  • 每题保留原始提示词和原始输出,别只留摘要
  • 记下当时用的参数和模型标识
  • 耗时和失败原因一起记,超时和限流要能区分
  • 评审是谁、是不是盲评、分歧项怎么处理的都写上

结论只写「在什么条件下、哪类题上、差异有多大」,不写谁全面碾压谁。同时把不适用的情况一并写上:这次没测多轮、没测工具调用、没测长上下文,那么这些场景的结论就不成立。

想省事先参考站内已有的公开对照也可以,比如 /benchmarks 和 /benchmarks/registry 的榜单口径,/crowd-radar 与 /benchmarks/crowd-radar 的多时段交叉验证结果。但这些看的是别人的口径和别人的题,替代不了你按上面的流程自己跑一遍。具体数字到对应页面核对当时的记录。

能被复现的对比才有价值,跑分只是过程里的一张截图。
下一步想看看别人公开的对照口径和验证方法,可以到榜单与交叉验证页面翻一遍,再决定自己的题怎么出。

常见问题

能不能直接看榜单分数定结论?

可以当参考,不能当结论。榜单题集、评分方式、是否自评、题目有没有饱和都会影响分数,这些差异在 /benchmarks 和 /benchmarks/registry 的口径说明里能看出来。你的任务类型和榜单题往往不是一回事,最终还是得自己跑一批贴近真实用途的题。

跑多少题才够下判断?

没有固定数字,看你要区分的差异有多小。差异明显的题目少量就能看出来,差异细微就得加大题量并做重复跑。更实际的做法是先跑一轮粗筛,只对两个模型分差接近的那几类题追加样本,把力气花在真正需要分辨的地方。

两个模型分差很小,该怎么写结论?

直接写「在当前题集与参数下无法区分」。分差小可能来自随机性、提示词敏感度或评审主观,先做重复跑和换问法,两次都分不出来就按打平处理。硬要排名只会把噪声当结论,后续选型反而被误导。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。