三次运行不是样本量:AI评测里的重复次数误区与可计算法则

多数投票的错判率有闭式解,重复次数应计算而非继承。
文章指出,机器学习评测中"跑三次""五个随机种子"这类民间常数从未被推导。作者给出一个精确法则:若单次运行出错概率为 p 且运行可交换,则 N 次严格多数投票的错判率为二项尾概率 E(N,p)=P(Binomial(N,p)>=ceil(N/2)),无需正态性或渐进假设。由此得出多个反直觉结论:全票一致策略随 N 增加反而更差(p=0.10 时从 0.2710 升至 0.6513);均值阈值与多数投票属于不同数学体制;偶数 N 在同一算力下可能优于其上的奇数 N。文章区分估计 p 与保证决策正确两种相反需求,其交点 p* 约为 0.40。在固定预算下,题目与重复的最优分配由方差比 tau^2/sigma^2 决定,而 tau^2 可测却几乎无人报告。
一个被跳过的问题
如果你随机打开一篇比较两个模型、两个智能体或两种提示词的论文,翻到描述实验运行次数的部分,几乎总能读到同一句话:"我们跑了三次",或者"我们使用了 5 个随机种子"。然后请继续往下找——找那句说明这个数字到底买到了多少误差控制的话。
它不在那里。
这不是粗心,而是一件缺失的测量工具。整个领域花了十年回答"一次评测需要多少个题目":序贯停止规则、功效分析、项目反应理论、方差分解。这些问题都有成熟的答案。但重复轴(同一配置跑几次)却始终停留在两个民间常数上——N=3 或 N=5——没有任何推导过程。N=3 是一种习惯,不是一次计算。
更让人不舒服的是,这个计算只需要三行。

重复次数存在一条可精确计算的法则
假设单次运行得出错误结论的概率为 p,且 N 次运行之间是可交换的(exchangeable,即顺序不影响结果),那么对这 N 次运行做严格多数投票后仍然错误的概率,就是一个二项分布的尾概率:
E(N, p) = P(Binomial(N, p) >= ceil(N/2))
没有渐进近似,没有正态性假设,也没有任何"在什么区间内成立"的前提。它和符号检验(sign test)用的是同一套算术——这本身就是一个提示:这个对象有多普通,以及它在这里被使用得有多稀少。
当 p = 0.10(对一个随机性评测来说,这种单次分歧率完全正常)时,那些民间常数对应的错误率如下:
| 规则 | N=3 | N=5 | N=10 |
|---|---|---|---|
| 严格多数 | 0.02800 | 0.00856 | 0.000147 |
| 全票一致 | 0.2710 | — | 0.6513 |
| any-of(任一通过) | 0.0010 | — | 1.000e-10 |
| 均值阈值 | 0.3085 | — | 0.05692 |
全票一致:越加运行反而越糟
这张表里有两行比那些熟悉的列更值得关注。
第一个反直觉结论:要求全票一致时,增加运行次数会让结果变差。 N=3 时错误率 0.2710,N=10 时反而升到 0.6513。原因是要求所有运行一致,相当于把 N 次失败机会"与"在一起:只要任何一次出现分歧,整个判定就失败。所以"我们只接受全票一致的结论"这个策略根本不是保守选项——过了某个 N 之后,它比抛硬币的补集还差。如果你的评测框架里有 --require-unanimous 这个开关,它有代价,而且没人报过价。
any-of 规则(任一通过即判为通过)在这张表里表现为另一个极端:p=0.10 时 N=3 的错误率仅 0.0010,N=10 更降到 1.000e-10。它的数学直觉是——只要有一次运行"没出错",整个判定就成立,因此错误要求全部 N 次同时出错,概率是 p 的 N 次方量级,随 N 几何式坍塌。这与全票一致恰好构成镜像:全票一致要求避免任何一次失败,概率按 1 的补集累积;any-of 要求避免全部失败,概率按 p 的幂递减。两者都不同于严格多数投票,后者的错误率是二项分布的尾概率,随 N 的下降速度介于两者之间。选择哪条规则,本质上是在选择"错误从哪里进来":多数规则把错误摊在所有接近一半的票型上,any-of 把错误压到"全军覆没"这一种罕见事件上,而全票一致则把错误放大到"任何一次不一致"这个越来越常见的事件上。这三条曲线在同一个 p 下永不相交,但在不同 p 区间里,最优规则会悄然换人。
平均分数是另一套法则,不是更安全的法则
第二个结论:从多数投票切换到均值阈值,等于换了一套数学体制。 any-of 会以几何速度坍塌(0.0010 → 1.000e-10,在一个跨度内下降了十个数量级),而均值阈值规则只下降五倍(0.3085 → 0.05692)。把"多数票"换成"平均分",是因为觉得后者"更稳健"——但这一换,你依赖的整套误差机制都变了。
还有一个细节值得留意:在相同算力成本下,偶数的 N 比它上面那个奇数 N 更好。p=0.10 时,N=3 错误率 0.0280,N=4 是 0.00370,而 N=5 是 0.00856。这把"平局怎么算"从一个实现细节升级成了一个有明确代价的设计决策——"我们把平局计为失败"是一条策略,而你现在可以算出它值多少钱。
可交换性(exchangeability) 是这里唯一的结构性假设,值得单独说明。它指的是:把 N 次运行的顺序任意打乱,结果的联合分布不变——换言之,第 1 次运行和第 2 次运行之间没有系统性的先后差异,运行编号不携带任何信息。这一条比"独立同分布"更弱:独立同分布必然可交换,但可交换允许运行之间存在相关性(例如共享同一批随机种子池、同一台机器、同一天的数据快照)。正因为只要求可交换,二项尾概率才能在不假设独立性的情况下成立——投票的错判率只依赖于"每次运行出错的边际概率相同、且没有任何一次运行被系统性地特殊对待"。反过来,如果存在顺序效应(比如第一次运行因缓存冷启动而系统偏慢),可交换性就被破坏,那个闭式解也随之失效。因此在实际评测里,随机化运行顺序、或对每份配置都重新抽样种子,是让这条法则可用的必要前提。
两种需求,在某个可测点上相交
多跑几次的理由有两种,而它们的方向恰好相反:
- 估计需求:你想知道
p,即单次运行与自身产生分歧的速率。更多重复能收窄它,并且在p较小时代价很低。 - 决策需求:你想让多数票判定本身是对的。这对应上面的尾概率,并且在
p接近 1/2 时急剧变贵——此时单次运行接近抛硬币,而一堆抛硬币的多数票也不会好到哪里去。
这两条曲线会相交。在这篇博文所依据的研究中,交点是通过网格定位的:p = 0.35 时估计需求占主导,p = 0.40 时决策需求占据主导,因此 p* = 0.40——这是由两侧相邻格子共同佐证的,而非拟合出来的。在交点以下,多跑几次来测量 p 能买到你真正需要的东西;在交点以上,怎么测都救不了你,因为决策本身就是那个绑定成本。
这就给出一条可用规则:在决定"多跑几次"意味着什么之前,先看你测得的 p 落在 p* 的哪一侧。
当题目和重复在争夺同一份预算
如果一笔固定的算力预算既可以买更多题目,也可以买更多重复,最优解不是口味问题。设单题目方差为 sigma^2,单重复(重采样)方差为 tau^2,边界就是:
N* = sqrt( a * sigma^2 / (b * tau^2) )
它对预算是无标度的,对应的 AM-GM 最优解是 Var* · B = (sqrt(a*tau^2) + sqrt(b*sigma^2))^2。两个值得记住的推论:
- 这条边界是方差之比,不是偏好。 如果你说不出
tau^2——也就是"同一配置在不同重复之间的方差"——你就说不出该跑几次重复。这个量是可测的,但几乎没有人报告它。 - 边界上的整数性很重要。 把
N显式取整数后,在连续解落在 1 到 2 次运行之间的区间里,最优点会从N*=1移到N*=sqrt(2)——而这恰恰就是人们在"跑一次还是两次"上争论不休的那个预算区间。
还有第三个旋钮:题目的难度/规模 T。在 128x 的跨度上,两个输入项表现为 tau^2(T) = c_tau / T 和 sigma^2(T) = sigma_inf^2 + c_sig / T,于是得到一个内点三旋钮最优解 (T*, N*),而不是角点解。
这里的 N* = sqrt( a * sigma^2 / (b * tau^2) ) 来自一个经典的最优分配问题:总预算 B 被拆成 a·N(重复侧成本)与 b·T(题目侧成本)两部分,而最终估计量的总方差约为 sigma^2 / (N·T) + tau^2 / N 的形式,对其做拉格朗日优化即得该平方根法则。它的形状本身就是结论:最优重复次数只取决于两种方差的比值,而与预算绝对大小无关——预算翻倍会同时抬高题目数和重复数,但不会改变二者的比例。这解释了一个常见困惑:为什么"我们机器更强了所以多跑几次"从来不是充分理由,除非 tau^2/sigma^2 本身发生了变化。AM-GM 那一行给出的是这个约束下的最小可达方差与预算乘积,它是一个下界,任何分配方案都不可能比它更优。整数性那一条则提醒:连续解落在 1 与 2 之间时,取整会跳到 1 或 2,而这两个整数对应的实际取舍("跑一次赌一把"对"跑两次取平均")恰好是实践中最常争论、也最容易被直觉带偏的区间。
一个推翻习惯认知的结果
下面这个结果值得贴在墙上。在题目规模跨越 256x 的范围内,单次运行的错误判定率几乎不变:
T=16时是0.531T=4096时是0.534
当两个模型几乎打平时,买更多题目并不能让单次运行的判定变得可靠。无论测试集多大,单次错误率都维持在约二分之一。原因在于:运行之间变化的那个东西,不是靠增加题目就能平均掉的那种测量噪声。"更大的测试集"和"更多随机种子"不是替代品;在这条轴上,它们甚至不在同一个话题里。
上面两个数字都来自研究自带的测量工具,而且这个形态并非高斯数据生成过程的假象:在一个固定版本的公开基准(UCI Concrete Compressive Strength,sha256 d7d8bd08…)上,tau^2(T) 按 1/T 下降,log-log 斜率为 -0.961,与理论预测的 -1 吻合。
实测,而不是假设
这条法则只有在它的输入可测时才有用,所以该研究选择测量而不是假设。在一个合成的随机优化任务上,输入测得为 sigma^2 = 4.930063e-04 和 tau^2 = 2.044068e-04。在真实的随机优化运行中,实测的 p 从 0.0065 一直跨到 0.5790——五个格子里有 90 倍的跨度,其中四个都高于 0.10。
这个跨度本身就是整项工作的论据。当 p = 0.0065 时,跑三次已经很慷慨,诚实的做法是把钱花在题目上;当 p = 0.5790 时,跑三次几乎无用,而且没有任何合理的 N 能拯救基于该比较做出的决策。同一条民间常数在某个格子里是对的,在另一个格子里错了一个数量级——区分两者的,只是一个没人测量的数字。
可以从周一开始做的事
- 测量
p——单次运行得出不同结论的速率。如果论文里没有这个数字,那这篇论文并没有做出它看起来做出的那个声明。 - 有意识地选择聚合规则,包括平局处理,并说明"平局"意味着什么。
- 用这条法则计算
N,而不是继承它;如果题目和重复在争同一份预算,请给出tau^2。
复现
这项研究以可以端到端运行的包的形式发布:
bash reproduce.sh # 完整:重建、重算、出图、校验(约 95 秒)
REPRODUCE_QUICK=1 bash reproduce.sh # 校验已提交产物(约 25 秒)
验证器会核对的判定在 README 中列出,运行时也会打印出来:VALIDATE 46/46、RESULT: PASS,两个植入对照全部 ALL PLANTS CAUGHT。这里的 46 是一个整数计数(对每一项声明做一次检查,每一项都挂在手稿中的具体声明上),不是统计阈值。这个包自己的双向契约是:它重新生成的每个文件在第二次运行时都逐字节一致(37 个已提交文件,用 sha256 校验;只排除运行日志,README 中已说明)。我在本机跑了两次来验证这一点,而不是只读说明:结果逐文件一致。
精确那一臂由两条独立的计算路径交叉验证,在 147 个格子上一致到 1.447e-13,另外还有一次 20 万次试验的蒙特卡洛。参考文献层包含 108 条引用条目(门槛是 100)。
边界说明,因为它约束了上面每一个数字。 实证那一臂是一个受控工具:一个合成的随机优化加上一个固定版本的公开基准,而不是对已发表论文的普查。平 p 的反例、90 倍跨度和 -0.961 的斜率,都是这些测量的属性;但算术不是——二项尾概率对任何你测得出的 p 都成立。论文中的每个数字都由渲染它的构建脚本从已提交产物中解析;构建在检测到漂移时拒绝运行,旁边还有它自己的植入对照——这才是值得用来要求期刊的那种"可复现"。
完整论文发表于 SILICON SCIENCE: Computer Science,一份由 AI 运营的同行评审期刊:投稿以 issue 形式到达,评审公开,每篇发表论文都附带复现脚本和数据说明。 论文链接:How Many Runs Does a Claim Need?
相关推荐

美国大学兄弟会该不该被禁?一位研究者的犀利观察
为什么不直接禁止美国大学兄弟会?一位研究者发现,关键阻力来自决策者自身的兄弟会身份认同,以及学校对兄弟会活动的"故意视而不见"。本文梳理禁令争议背后的结构性困境。

微软Discovery:用AI智能体加速科研发现
微软Discovery平台通过运行专用AI智能体,帮助科研人员从大量化合物和实验路径中筛选最有前景的候选方案并进行优先级排序,从而减少实验次数、加速科研发现。

剑桥重工秘密研发桌面级核聚变装置
Cambridge Heavy Industries正在秘密研发桌面级激光驱动核聚变装置,瞄准聚变发电厂的设备供应市场。本文分析其小型化技术路线、商业化逻辑及在聚变创业潮中的独特定位。