跳到主要内容

你的 LLM 评估在欺骗你:统计功效问题

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的团队花了三天时间迭代系统提示词。评估分数从 82% 提升到了 85%。你上线了。三周后,生产指标毫无变化。发生了什么?

简短的答案是:你的评估欺骗了你。不是恶意为之,而是样本量不足加上忽视了方差。在 100 个样本的测试集上提升 3 个百分点,完全在大多数 LLM 系统的噪声底线以内。在这个规模下,你无法区分信号与随机性——但几乎没有人会在采取行动之前做这个数学验证。

这就是 LLM 评估中的统计功效问题,它正在悄无声息地腐蚀大多数 AI 产品团队的迭代循环。

为什么大多数评估套件小到没有实际价值

统计功效是指当真实效应存在时,你的测试能够检测到它的概率。功效取决于三个因素:样本量、你试图检测的效应大小,以及测量的方差。

功效的标准目标是 80%——也就是说,你接受五分之一的概率错过真实的改进。要在 5% 显著性水平下达到 80% 功效,所需样本量随方差增大,并与效应大小的平方成反比地缩小。如果你想检测的效应减半,所需样本量就增加四倍。

来看一个具体计算。假设你的基准准确率为 82%,你想检测到真实的改进达到 85%——即 3 个百分点的提升。使用双比例 z 检验,α=0.05,功效 80%:

  • p=0.82 的方差:0.82 × 0.18 ≈ 0.148
  • p=0.85 的方差:0.85 × 0.15 ≈ 0.128
  • 每组所需 n ≈ 2,400 个样本

你需要大约 2,400 个带标签的样本来可靠地检测 3 个百分点的提升。而平均的内部评估套件——50 到 200 个在初始开发期间手工整理的样本——甚至连量级都达不到。在 100 个样本时,80% 功效下的最小可检测效应更接近 10–12 个百分点,而不是 3 个。

这不是一个小的校准问题。团队经常基于纯粹是噪声的 3 个百分点的评估改进来上线提示词变更,同时又因为只检查了 80 个样本而无法检测到 8 个百分点的退步。

非确定性放大了问题

即使你接受"我们只用几百个样本",LLM 输出还引入了第二个方差来源,而大多数团队完全忽视了这个来源:模型本身是非确定性的。

用相同参数两次将同一个输入传给云端托管的 LLM,你不会总是得到相同的输出。这是因为概率性 token 采样、分布式推理硬件上的浮点运算差异,以及并行系统中不确定的执行顺序。一项研究发现,在两个不同云服务商上托管的同一模型之间存在统计显著的性能差异(p=0.013)——相同的模型权重,不同的基础设施,可测量的不同基准结果。

这创造了一个双组分方差结构:

  • 问题间方差:有些问题比其他问题更难;你的 100 个样本可能碰巧偏简单或偏难
  • 问题内方差:同一个问题,反复询问同一模型,会得到不同的答案

两个组分都会放大你的测量不确定性。实际后果是,单次评估分数——运行一次,报告为一个数字——包含的噪声远超"85.0%"这种精度所暗示的水平。报告"准确率:85%"就像用水银温度计报告精确到小数点后三位的温度。

当你比较两个模型时你实际上在做什么

当团队比较基准模型和候选模型时,他们通常在同一评估集上运行两者,然后比较结果的准确率数字。如果候选模型比基准模型高 3 个点,候选模型获胜。

这不是假设检验。这是对两个有噪声的点估计的比较。没有置信区间,你就没有任何信息来判断观察到的差异是否超过了噪声底线。

更好的方法是配对分析。当两个模型评估相同的问题时,你可以分析每个问题的差异,而不是总体分数。这利用了模型往往在问题难度上达成一致的事实——如果两个模型都在难题上挣扎,在简单题上成功,那么它们分数之间的协方差提供了"免费"的方差减少。在相同问题集上的配对分析系统上比在独立样本上的双样本分析更敏感。

但即使是配对分析也需要足够的样本。配对方法减少了方差,但并不消除对统计功效的需求。对于 3 个百分点提升检测场景,执行良好的配对测试可能将所需样本量减半——降至大约 1,200 个。仍然不是 100 个。

没有人计算的组织成本

功效不足的评估带来的真正损害不是任何单一的错误决策。而是随时间累积的反馈循环腐化。

想象一下,你的测量误差是 ±5 个点,你正在以每个周期 2–4 个点的改进为目标进行迭代。你观察到的每一个"改进"都可能是噪声。每一个退步也可能是噪声。你本质上是在用一个指向随机方向的指南针导航——但你仍然在绘制地图。

处于这种情况的团队会表现出可识别的症状:

  • 提示词抖动:在评估中"有帮助"的变更几周后被撤销,因为生产环境没有反映出收益
  • 框架不信任:工程师停止信任评估,开始做出基于直觉的决策,完全绕过系统
  • 上线时的虚假信心:绿色的评估仪表板产生了上线的压力,即使评估实际上无法区分正常与异常
  • 无法归因退步:当生产质量下降时,你无法追踪到具体的变更,因为没有任何单次评估运行有能力检测到这种退步

组织成本是花在迭代一个测量误差超过被追求的收益的系统上的工程时间。这很常见。也是可以预防的。

产生可靠信号的实验设计

目标不是运行学术实验——而是构建一个能够真正指导决策的最小可行评估。以下是实践中的样子。

在构建评估之前设定最小可检测效应。 决定什么是真正会改变产品决策的最小改进。如果 2 个点的提升不会促使你上线,但 5 个点会,那么你的 MDE 就是 5 个点。用这个反推在收集样本之前所需的样本量。如果所需样本量不可行,要么接受较低的功效(并在决策中考虑到这一点),要么提高阈值。

报告不确定性,而不仅仅是准确率。 每个评估结果都应该包含置信区间。当候选模型和基准模型相差 3 个点时,"85% ± 4%"的结果读起来与"85%"非常不同。对于正态近似失效的小样本二项准确率指标,Wilson 分数区间效果很好。

尽可能使用连续指标。 二元正确性(对/错)会丢弃信息。Token 对数概率分数、多个评判者的偏好胜率,或者基于评分标准的 1–5 分,每个样本携带的信号比二元标签更多。使用连续指标,同样的样本量会产生比二元标签更窄的置信区间。

运行多个随机种子。 单次评估运行给你一个有噪声的估计。用三个不同的随机种子运行同样的评估并求平均,以适度的成本增加将问题内方差减少三倍。对于基于 API 的评估,这通常是你在不增加样本的情况下能做的最高杠杆的改进。

不要忽视相关性。 如果你的评估问题不是独立的——它们共享同一个文档,是彼此的翻译,或属于同一个领域聚类——标准误差计算会过于乐观。聚类标准误差可以将你估计的标准误差增加 3 倍,从而大幅改变哪些差异看起来显著。

充分的评估实际上是什么样子

达到统计充分性不需要构建 MMLU 规模的基准测试。几个结构性选择能让你走得更远。

对于大多数生产用例,500–1,000 个多样化的、有代表性的样本,加上配对分析和适当的不确定性报告,能让你以 80% 的置信度检测到 5 个百分点的改进。这是可以实现的。团队通常会抵制,因为整理带标签的样本代价昂贵——但带标签样本的成本远低于因评估无法检测到退步而上线提示词退化的成本。

自动化的 LLM 即评判评分可以廉价地扩大你的评估集,但它引入了自己的方差。LLM 评判者也不是确定性的。如果你使用 LLM 即评判,多次运行每个判断并求平均,或者在分数旁边报告评判者一致率。

最后,将评估开发视为一种能力,而不是一次性的设置任务。为你的初始功能构建的评估不会覆盖六个月后发现的边缘情况。评估套件应该随着它所测量的系统一起成长,每当生产失败揭示新的失败模式时就添加样本。

指南针问题

统计功效之所以重要,是因为它决定了你是否能从实验中学到任何东西。功效不足的评估不是一张有漏洞的安全网——它是一个指向随机方向的指南针。危险不在于你知道它坏了。危险在于它感觉完全像一个正常工作的指南针。

解决方法并不复杂:在构建评估集之前计算所需样本量,报告置信区间而非点估计,运行多个随机种子,并在比较模型时使用配对分析。这些是直接借鉴自临床试验设计和 A/B 测试的标准统计实践。它们同样清晰地适用于 LLM 评估。

如果你当前的评估套件无法区分信号和噪声,那么建立在其之上的迭代工作也无法区分。先修好指南针,再绘制地图。

References:Let's stay in touch and Follow me for more thoughts and updates