文档导航

怎么评测一个决策模型

这一页解决一个很实际的问题:当两边的数字对不上时,你该信哪个。

公开的评测长什么样

先说几条可以被第三方复查的做法,它们的设计比数字本身更有参考价值。

选项乱序 + 多次重复。 一个有公开答题记录与复现工具的评测用 108 道四选一题目, 不给文档也不给工具,每题跑 3 次、选项顺序打乱,随机猜的基线是 25%。 它报出的结果是:当前公开版本 84.6%、延迟中位数 199 ms、成本 $0.0088; 而对比的最强生成模型是 98.0%,但要 2.12 s、$1.59。

⚠️ 那两个金额的单位原文没写清(它用的是 per full run)—— 不要拿它们 去算单次调用的单价。

这道题的价值不在谁赢,而在于它把三维(准确率、延迟、成本)都摆出来了 —— 84.6% 配 199 ms 和 98.0% 配 2.12 s 是两个不同的产品,不是一个比另一个差。

打乱顺序是为了测一个具体的东西:如果模型对选项顺序敏感, 那它在生产里就是一个不稳定的组件。上面这个评测报出了「选项顺序」这一维。

基础率是天花板。 另一个独立榜单在 PubMedQA、Banking77、HelpSteer2 上 每题 300 项 × 5 次,逐决策概率以 CC BY 4.0 公开。它给出的两个数字都很重要:

  • 在 PubMedQA 上,Jev 与第一名并列,而价格是 1/28。
  • 在 HelpSteer2 上,没有任何模型超过标签的基础率。

第二条的意思是:那个数据集上,「总是选最常见的那个标签」就是一个很强的基线, 而所有模型都没超过它。在这种情况下,排名第一说明不了任何事 —— 它测的是标签分布,不是模型能力。

把畸形的输出也算错。 还有一个基准明确把「返回了畸形的概率分布」 计为 miss。这一条看起来琐碎,但它决定了不同模型的分数能不能放在一起比 —— 一个允许输出非法值的模型,它的准确率是没有意义的。

统计比较:不要只看谁的数字大

两个模型报出 84.6% 和 85.1%,这是不是真的更好?

不一定。 样本量 100 的情况下,这完全在噪声范围内。可以做的检验里, 被真实项目用过的一个是 McNemar 检验 —— 它比较的是同一批题目上 两个模型意见不一致的那些,而不是比较两个总分。

一个复刻项目在 256 条公开判断上重放了原始答案, 得到 231 对 238,McNemar p = 0.21,结论是与原始模型没有显著差异。 「没有显著差异」是一个完全站得住的结论,而且比硬说「我们更接近了」有用得多。

另一种更严格的做法是预注册:先固定判据,再跑。有个排序基准就是这么做的, 结果是「在 20 Newsgroups 上过、在 Amazon ESCI 的六个条件里四个不过」。 这种「一半过一半不过」的结果比全过更可信 —— 它说明判据是真的在工作。

四个自评数据的陷阱

真实项目里更常见的是自己跑一组数据然后报个数字。这类数字有四个固定陷阱:

① 题目形状本身会改变结果。 有一个调查类实验给出了一条很硬的对照结论:把 yes/no 问题写成 Noul 还是写成 Choice,对结果的影响大于 Jev 与 GPT-4.1 之间的差距。 也就是说,在很多「A 比 B 好」的结论里,真正在起作用的可能是问题的写法。 这意味着换原语必须重测,不能假设结论可以迁移。

② 单轮、小样本、没有方差。 一条「攻击拦截率 100%」的自评,跑的可能是 10 条。而同一片生态里 有可复算的项目报的是「0 个对抗样本翻转(样本 50)」这种带分母的写法。 分母就是可信度。

③ 跨调用有抖动。 一个把决策模型当计算器用的项目(每一步问它 13 个选项里选哪个), 特意做了一个 Rerun 按钮,用来暴露同一个输入在两次调用之间的抖动。 抖动本身不可怕,不知道有抖动才可怕 —— 它意味着你测出来的阈值 在别的时刻未必成立。

④ 专用模型的主场优势不算普遍胜利。 一个 706,048 参数(2.8 MB)的专用模型在它自己的表单填写任务上报 99.7%, 而通用模型在这一项上是 83.6%。作者自己写明这是 「在自己主场上的专家,不是普遍意义上的胜利」。 这句话该成为所有「XX 超过 Jev」条目的默认读法。

一句话

评测的价值在分母、在方差、在子类,而不在总分。 一个带样本量、带选项顺序测试、带负结果的 60 分,比一个不带这些的 95 分值钱。