AI 基建
0%
第七部分 · 评测 · 第 48 章

统计可靠性

作者Changkun Ou
阅读时长约 8 分钟

一个基准分数是估计值,不是事实。评测一旦离开玩具例子,问题通常就不再是某个模型是否高了几分,而是这段差距是否足够大、足够稳定、测量协议是否足够可靠,能不能支撑接下来要做的那个决策。

本章补上 第 47 章第 49 章 之间的测量层。准确率、胜率、评分准则分数和生产率都要当成随机变量来读;不确定性要和偏差分开;没有误差区间的排行榜,则只是把误差棒藏起来的论断。

2026-06-23T18:50:31.948314 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/ 模型 A 模型 B 模型 C 68 70 72 74 76 78 带 95% 置信区间的分数估计 看得见的差距,证据仍弱 更清楚的分离
图 48.1. 三个模型分数及其 95% 置信区间。模型 B 的均值高于模型 A,但区间重叠到足以让这段差距更适合触发调查,而不是直接支撑发布决策。模型 C 的分离更清楚。示意图,非实测数据。

分数有抽样分布

一个报告出来的分数,只是某个抽样分布里的一次抽样:若把同一套评测换到另一批可比的项目上重跑,得到的分数会散成一段范围。设一套评测有 nn 个相互独立的项目,模型答对了其中 xx 个。报告出来的准确率是

p^=xn.\hat{p} = \frac{x}{n}.

常见的正态近似会给出 95% 置信半宽:

h1.96p^(1p^)n.h \approx 1.96 \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}.

这条小公式解释了许多排行榜噪声。留出集翻倍,误差棒不会减半,只会缩小到原来的 1/21/\sqrt{2}。同样是 2 个百分点的差距,在大基准上可能足以行动,在小型私有套件上则可能完全淹没在噪声里。第 47 章 已经用这条理由说明留出集为什么不能太小。这里的要点更一般:评测表里的每个标量都是统计量,而统计量要先带上不确定性模型,才能变成证据。

这个近似只是起点。它假设每个项目是相互独立的伯努利试验(每个项目对应一次独立的是非结果)、样本来自固定分布,而且评分器是二元的。许多 LLM 评测同时违反这三条。评分准则分数是有序或连续的;对话任务里的轮次彼此相关;生产样本会按用户、租户、地区或时间聚簇。遇到这些情况,不该硬把二项分布公式套上去。更稳妥的做法,是先说明抽样单位是什么,再在这个单位上重采样或建模。bootstrap 正是在这里有用:它通过对观测单位重采样估计不确定性,而不要求读者为每一种指标都重新推导封闭形式的抽样分布 (Efron 1979)。Miller 针对 LLM 评测把这套纪律完整算了一遍:报告标准误,题目成组到来时改用聚类标准误(在流行基准上它可以是朴素标准误的三倍以上),模型比较用配对差值,样本量提前规划 (Miller 2024)。

图 48.2. 样本量决定一段差距能不能支撑决策。拖动留出集大小和目标差距:交叉点以下,区间宽于声称的效果,此时结果更适合作为预警,而不是排名依据。

在同一批项目上比较

大多数模型比较都是配对的。模型 A 与模型 B 回答同一批提示,真正重要的不是二者都答对或都答错的项目,而是二者发生分歧的项目。如果 A 和 B 都是 75%,它们不一定打平:可能在同一批项目上成功,也可能在互不重叠的项目上成功。这两种情况的工程含义完全不同。

对于二元结果,可以把配对分歧表写成:

B 正确 B 错误
A 正确 n11n_{11} n10n_{10}
A 错误 n01n_{01} n00n_{00}

这里的 n10n_{10}n01n_{01} 是非对角线上的分歧项,A 与 B 是否不同,证据主要落在它们身上。McNemar 检验正是为这种设置而来 (McNemar 1947)。它的大样本统计量是

χ2=(n10n01)2n10+n01.\chi^2 = \frac{(n_{10}-n_{01})^2}{n_{10}+n_{01}}.

这里 n10n_{10} 是 A 答对而 B 答错的项目数,n01n_{01} 则相反。分子衡量两种分歧方向的不平衡,分母则把这份不平衡按总分歧数重新标定。

公式本身不必背下来。要记住的设计规则是:评测运行器应保存逐项结果,而不是只保存聚合分数。逐项表一旦丢失,团队就无法判断新模型是修复了旧失败,是用一种失败换了另一种失败,还是仅仅赢在噪声上。当模型要替换进一个已有失败模式的系统时,这种损失尤其要命。一个均值提高、尾部退化的模型,可能对产品更差。

同样的配对原则也适用于准确率之外。评判者偏好表要保存提示 id、顺序、评判者版本和两次原始裁定;代码基准要保存每个测试失败,而不只是通过率;RAG 评测要保存检索 id 和 claim 级判断。统计可靠性首先是一种数据保留纪律。

看得越多,假胜利越多

一套现代评测很少只有一个测试。它通常是一张矩阵:许多任务、语言、评判者版本、提示模板、切片和成本设置。团队看得足够多,总会有某个格子偶然变绿。这不是哲学担忧,而是多重比较问题。Benjamini 与 Hochberg 提出的错误发现率控制,正是为了在大量同时检验的情形下管理这种风险:它把宣称的胜利里实属噪声的那部分比例压在上限以内,而不像 Bonferroni 校正那样,为了挡住任何单个假胜利,连真实效应也一并丢弃 (Benjamini and Hochberg 1995)。

落到实践,宽报告应把三种主张分开:

  • 主指标。 运行前选定,允许为发布把关的那个指标。
  • 护栏指标。 即便主指标提高,也能阻断回归的指标。
  • 探索性切片。 用来为下一次运行寻找假设,而不是在当前运行里宣布胜利。

这条纪律说起来容易,守起来难,因为评测仪表盘天然鼓励到处捞结果。几十个切片同时可见,一个小小的绿色格子很诱人。补救办法是流程:提前固定发布门槛,报告所有受测切片,并把事后发现明确标注出来。Dror 等人在 NLP 实验里提出的也是同一件事:统计检验必须匹配任务与指标,而跨多个数据集的显著性主张,需要单独的可复现性分析 (Dror et al. 2018; Dror et al. 2017)。

偏差不是噪声

不确定性区间只回答一个窄问题:如果同一协议再抽一批可比样本,估计值会动多少。它并不回答协议是否测对了东西。一个被污染的基准可以有很小的置信区间;一个有偏差的评判者可以高度一致;一套众包标注协议可以给出稳定数字,却测到的是工人疲劳,而非回答质量。因此,统计可靠性是必要条件,不是充分条件。

这个区分有用,是因为它能防住两类常见错误。第一类是过度纠偏:结果很吵,并不等于存在偏差,只能说明评测功效不足(功效即真实差异确实存在时,检验能把它检出来的概率)。第二类是纠偏不足:结果很精确,并不等于有效,只能说明它在自身假设下稳定。第 49 章 处理人类协议偏差,第 50 章 处理评判者偏差,第 51 章 处理偏好与真实分道扬镳的特殊场景。

校准也是同一问题的一个侧面。一个模型可以准确,却高估自己的置信度。在分类里,校准问的是:被赋予 80% 置信度的项目,是否大约有 80% 正确 (Guo et al. 2017)。在事实问答里,对应的问题是模型缺少知识时是否会弃答,第 51 章 后面会用 SimpleQA 单独隔离这个问题。只看正确性的发布门禁会漏掉过度自信的失败,而把一个错答案变成产品风险的,常常正是过度自信。

一个结果应该携带什么

有用的评测结果不只是一个标量,而是一小段记录:

EvalResult:
  suite_version       # 不可变的数据集与任务版本
  model_version       # 模型、框架、解码、工具、评判者版本
  sampling_unit       # 项目、用户、会话、仓库、任务环境
  primary_metric      # 运行前选定的主指标
  estimate            # 观测值
  uncertainty         # 置信区间、自助区间或后验区间
  paired_delta        # 在同一批项目上相对基线的差异
  slices              # 预先声明的切片与护栏
  known_biases        # 污染、评判者偏差、标注限制
  decision            # 发布、阻断、调查或补采数据

这份记录迫使团队说明,一个数字被允许做什么。宽区间仍可能有用,只要它的职责是触发调查;窄区间仍可能不够,只要协议本身有偏差。一个模型可以赢下主指标,却输掉护栏。把这些情形区分开来,不是统计形式主义,而是评测从排行榜变成基础设施层的方式。

争议所在

领域内仍然争论,日常 LLM 评测到底需要多少形式统计。一派认为,分布太乱、基准太容易污染、评判者偏差太重,经典检验不该被赋予太大权重。另一派则认为,正因为测量仪器不稳定,报告不确定性和配对效应才是避免排行榜表演的最低纪律。这里采取一个较温和的立场:置信区间不能证明效度,但没有区间的结果,是要求读者相信一个隐藏了脆弱性的排名。

下层约束

服务层和编排层决定评测层能不能保住抽样设计。如果轨迹里没有稳定的提示 id、工具调用 id、用户切片、评判者版本和模型网关版本,评测层事后就无法构造配对比较或 bootstrap 区间。因此,可观测性不只是为了调试。它保存了事后的实验设计,这正是 第 87 章 把轨迹与评测放进同一个循环的原因。

延伸阅读

  • Efron, “Bootstrap Methods: Another Look at the Jackknife” (为脆弱评测提供自助置信区间), 1979. doi.org
    Efron 提出 bootstrap 自助法,用重采样来估计不确定性,而不必为每个统计量推导封闭形式的抽样分布。
  • Miller, “Adding Error Bars to Evals: A Statistical Approach to Language Model Evaluations” (为 LLM 评测加上误差棒), 2024. arXiv:2411.00640
    Anthropic 把 LLM 评测当作统计推断来处理:报告标准误,题目成组时改用聚类标准误,模型比较用配对差值分析,并用功效分析提前规划样本量。
  • McNemar, “Note on the Sampling Error of the Difference Between Correlated Proportions or Percentages” (配对二元比较), 1947. doi.org
    McNemar 检验通过关注两个系统在同一样本上发生分歧的项目来比较配对二元结果,适合许多基准 A/B 比较。
  • Dietterich, “Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms” (朴素重复检验为何夸大证据), 1998. doi.org
    Dietterich 比较了分类器对比中的常见统计检验,指出若干流行的重复测量方法会抬高一类错误率。
  • Dror et al., “The Hitchhiker's Guide to Testing Statistical Significance in Natural Language Processing” (按任务与指标选择显著性检验), 2018. aclanthology.org
    Dror 等人梳理 NLP 中的统计显著性检验,并按常见指标与实验设计给出检验选择建议。
  • Dror et al., “Replicability Analysis for Natural Language Processing: Testing Significance with Multiple Datasets” (多数据集下的可复现胜出), 2017. aclanthology.org
    本文为跨多个数据集的 NLP 系统比较提出可复现性分析框架,处理宽评测套件中的多重比较问题。
  • Benjamini & Hochberg, “Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing” (排行榜天然包含多重比较), 1995. doi.org
    Benjamini 与 Hochberg 提出控制错误发现率的方法,为大量同时检验场景提供比族错误率控制更有检验力的选择。
  • Guo et al., “On Calibration of Modern Neural Networks” (置信度本身也是被测性质), 2017. proceedings.mlr.press
    Guo 等人表明,现代神经网络可以准确却未校准,而简单的温度缩放能显著改善概率校准。

评论

登录后评论