精读:Phantom Gains——用实测零线审计自我改进,七种测量失效模式
让未训练的冻结模型跑通同一套评测管线测出零线,识别自我改进研究的七种测量失效;通行的能力扩展率统计量给这个零训练模型打出 0.280 的扩展分。
1 论文概览
一句话总结:作者让一个从未训练的冻结模型跑通与实验组完全相同的评测管线,在 Qwen3-8B 上审计三轮 rank-32 LoRA 自训练,识别出七种测量失效;其中学界通行的”能力扩展率”统计量给这个没训练过的模型打出 0.280 的扩展分,而它本该是零。
核心问题:判断模型是否自我改进过,评价标准已经从”前后平均准确率”迁移到”逐题状态转移”——哪些题进入了可解集合,哪些题被毁掉。迁移的理由充分:均值上涨掩盖了两件事,新学会的题与本来手气好就能做对的题混在一起,涨分过程中损失的能力则完全不可见。作者认可这个方向,但指出它带进来一个新麻烦:
A transition is a difference between two estimates, each carrying sampling error, and the events of interest sit exactly where that error bites hardest. ——arXiv:2608.20290 §1
差分放大噪声,而”新学会”与”被毁掉”这两类事件恰好聚集在噪声最大的决策边界附近。于是问题变成:当什么都没发生时,这些统计量会报出多少?作者的答案是测出来,而非假定为零。
主要贡献:
- 七种测量失效模式,每一种都在本研究的真实运行记录上被复现,且在缺少对照时会把结论推向反面。其中两种是当前标准做法,第七种藏在第二种的修补方案内部。
- 扩展率统计量的阈值自由替代方案:放弃”基线 0 次成功、训练后至少 m 次成功”的双阈值比较,改为逐题对一条汇总基线做单侧 Fisher 精确检验并施加 FDR 控制。零线经过实测而非假定,且在多重检验规则、错误率与基线池规模变动下结论不变。
- 让零线几乎免费的观察:每个实验臂的 checkpoint 0 都是对同一个未训练模型的一次独立评测。多臂研究天然持有这些重复观测,作者进一步给出”多少个才够”的数字。
- 带噪声地板与效应量核算的转移账本,把阈值抖动与真实能力损失分开;外加一个策略梯度臂,三个种子对”何时崩”意见不一,但对”会崩”没有分歧。
论文来自都柏林大学学院、佐治亚理工学院与大连理工大学的四位作者,2026 年 8 月 20 日提交,归类于 cs.AI 与 cs.CL。全部逐题计数记录与复算代码已开源在 github.com/chengxuphd/phantom-gains;训练与采样跑在 Tinker 托管服务上,教师模型用的是 gpt-oss-120b。
2 核心方法
2.1 七态账本与破坏学习比
给定评测集 与 checkpoint ( 为未训练基座),对每道题抽 个样本得到解题率 ,再离散成二值状态。每道题落入七个互斥类别之一:stable-correct、stable-incorrect、learned、corrupted、recovered、transient、oscillating。七类构成划分,所以计数不需要归一化。
头号指标是破坏学习比(corruption-to-learning ratio, CLR):起点已解、终点未解的题数,除以起点未解、终点已解的题数。CLR 大于 1 表示这轮训练拆掉的能力多于装上的,与平均准确率怎么走无关。
离散化这一步是全文的第一个关键决定。最自然的定义是拿单次贪心采样当状态,作者拒绝了它,改为把 当作 pass@1 概率的估计量,并加入滞回带:
取 、,滞回带落在 。带宽半径正好是 个样本下二项比例的最坏情况标准误,一道题必须走出常规抖动范围才被记为状态改变。基线 无前态可继承,只能按 硬判,这一处缺乏保护也正是后文噪声地板不为零的原因。
2.2 为每个统计量测一条零线
作者复制一份 ,不做任何训练,让它在每个 checkpoint 位置上重新评测一遍,然后用与实验臂完全一致的代码算出每一个统计量。这份冻结对照报出的每一个转移,按构造都是伪影。规则很硬:任何结论的计数若不超过这条地板,不予采纳。
真正让这套做法可行的是一个成本观察——多臂研究已经付过钱了:
every arm’s checkpoint is an independent evaluation of the untrained model ——arXiv:2608.20290 §4.3
AIME 上的实验阶梯自带十一次这样的独立评测,两两配对给出 110 个有序对,边际成本为零。
2.3 扩展率:为什么修阈值救不回来
沿用 MATH-Beyond 的口径,一道题若基线在 次抽样里零命中、训练后至少命中 次,就算”扩展”;若基线已能偶尔做对则算”锐化”。作者把阈值 显式写进定义:
先行工作隐含取 。这是拿两个二项估计穿过一对不对称阈值做比较,而它在零效应下返回什么,从来没人测过。作者顺手补了一句方法论上的自律: 只说明基线 pass@1 概率在 95% 置信下不超过 0.023,并不等于 0,所以全文只说”在给定采样预算 下未触及”,不说”不可解”。
替代方案是彻底不设阈值:把未训练模型的每一次独立评测汇总成一条基线(AIME 上十一次、每题 1408 抽),所有实验臂共用同一个分母;然后对每道题的终点计数做单侧 Fisher 精确检验,在 FDR 0.05 下控制多重比较。零线用同样方式测——留出一次基线评测充当”训练后”,跑一模一样的检验。
2.4 匹配阶梯
原生协议下自训练与蒸馏的差别远不止正确性过滤器:TTRL 直接作用在被评测的那 60 道 AIME 题上、每轮保留 50 条样本,而蒸馏从不相交的数据流取样、保留 247 条,量级差 4.9 倍,还叠着数据流错配。作者搭了一条匹配阶梯——同一条数据流、同一保留量、同一套评测、三个种子,只让正确性信号的来源变化:模型自己的多数投票、真值答案、外部教师。第四个臂用同一个多数投票当奖励做策略梯度,对齐 TTRL 的真实设定,因为前两个臂本质是拒绝采样 SFT,落选样本被丢弃而非被压低。
评测集按可观测性分工:MATH-500 分层抽样到 200 题、污染严重,用来看破坏;AIME 2025 与 2026 共 60 题、污染最轻,2026 那半更是完全晚于基座 2025 年 3 月的数据截止,用来看扩展;另有一个 1163 题的难度带,从 10999 道留出的 MATH 题在 下筛出,专门富集在决策边界附近,好让破坏事件根本可见。
3 实验与结果
3.1 七种失效模式
每一条都在本研究的真实运行上被测出,而非假想。括号内是补上对照的边际花费。
- F1 单次解码充当状态($27)。MATH-500 上,未训练模型自己跟自己比,单次贪心采样给出 9 次破坏对 6 次学习,CLR = 1.5。同一批样本换成解题率估计量,数字变成 1 和 0。7.5% 的题会翻转判定,且这个比例本身不稳,三次独立执行给出 7.5%、8.0%、4.5%。作者没有停在引用”批处理导致不确定性”,而是做了直接检验:同样 200 题贪心采两遍,一次 64 并发、一次严格串行,翻转从 16/200 降到 4/200(Fisher ),抽取答案的变化从 25 降到 5()。批处理是主因,但不是唯一的因——完全串行下冻结模型仍翻转 2% 的贪心判定。难度带上差距更大,贪心解码 18.9% 的题改变状态,估计量只有 0.8%。
A single-decode ledger cannot be repaired by decoding more carefully; it has to be replaced by an estimator. ——arXiv:2608.20290 §4.1
- F2 一次成功即算扩展($0)。冻结的 Qwen3-8B 在 下评测两遍,把它原本未触及的 25 道 AIME 题中的 7 道”扩展”了,;110 个冻结对全部汇总后是 0.176。匹配阶梯上 STaR 拿 0.320,多数投票自训练三个种子拿 0.364、0.167、0.192——全都横跨在汇总零线上,落在冻结模型自己产生的 0.000–0.364 区间内。它唯一能区分开的是蒸馏,0.545–0.667。
- F3 固定 token 上限($0)。蒸馏学生学会了教师的冗长风格,截断率从 16.5% 升到 65.3%,于是最有效的臂被记成最具破坏性的臂。该臂的破坏计数被排除在能力分析之外。
- F4 检验力不足的账本($88)。转移类指标的统计功效比准确率低一个数量级;112 题的试点只产生 24 个事件,而这个比较每臂需要约 249 个。
- F5 单一训练种子($282)。在 175 题匹配子样本上补两个种子,单种子结论直接反转。STaR 稳定(CLR 0.70、0.74、0.45,准确率每个种子都涨 5.6 到 6.9 点),多数投票自训练不稳定(CLR 0.55、1.53、1.33,准确率 +4.0、−2.8、−1.0)。种子 0 上做足功效的比较给出 ,即无差异。作者把两个匹配重复合并能得到 ,但拒绝报告它,理由是同一段文字刚说过三个种子支撑不起把种子当固定效应来池化。
- F6 探针过小($2)。10 条提示的拒答探针给出 10 个百分点的安全性下滑,换成 50 条就消失了。三次重复读数为 −0.015、−0.115、−0.005,中间那次显著且两侧邻居都不复现,所以作者只报一个界(此处任何变化小于约 11 点),不报零结果。
- F7 零线只测一次($0)。这是全文最锋利的一处自我应用。F2 的自然修补是要求 :七个冻结”扩展”全都只有 1 次命中, 一次清零,看起来零线就是 0。但那个 0 建立在 25 道题上的单次实现。摊到 110 个冻结对上, 的零线汇总为 ,最差的一对高达 0.136;而多数投票自训练实测的 从”低于零线”变成”与自己的零线无法区分”(Wilson )。继续抬阈值也救不了: 零线 ,只有 才逼近零;换到 MATH-500, 的零线是 0.128。
The threshold that appeared to fix the statistic was fitted to the noise it was fitted on ——arXiv:2608.20290 §4.2
作者还给出”几个重复才够”的数字:在他们十一条基线的所有子集上, 时 零线仍在 0.022–0.098 之间游走,足以认证一条并不存在的零线;只有到 才收敛到十一条给出的值的 ±0.02 内。三臂研究通常只有四条,不够。
3.2 阈值自由检验下的分离
换成汇总基线加逐题精确检验后,分离比任何阈值版本都干净。蒸馏在 60 题中检出 36 道,多数投票自训练 19 道;两者意见不一的 21 道题里 19 道偏向蒸馏,配对精确检验 (同一批数据用分母错配的非配对检验只能给到 0.0015)。FDR 的自适应性质本会让含真效应多的臂抬高自己的门槛,作者核对了实际达到的截断值——蒸馏 0.0095、多数投票 0.0094,可比;换 Bonferroni、换跨臂联合过程、换固定阈值,结论都不动。留出基线做的零线检验在全部十一个重复上返回零检出。
匹配阶梯的主表:
| 过滤器 | 更新方式 | 种子 | 准确率变化 | 保留量 | base 0 | base 1–5 | base >5 |
|---|---|---|---|---|---|---|---|
| 多数投票 | SFT | 0 | 0.180→0.213(+3.3) | 250 | 0 | 2 | 17 |
| 多数投票 | SFT | 1 | 0.178→0.163(−1.5) | 251 | 1 | 0 | 3 |
| 多数投票 | SFT | 2 | 0.179→0.186(+0.7) | 251 | 0 | 0 | 4 |
| 真值答案 | SFT | 0 | 0.177→0.195(+1.8) | 220 | 1 | 1 | 9 |
| 外部教师 | SFT | 0 | 0.180→0.310(+13.0) | 247 | 3 | 7 | 26 |
| 外部教师 | SFT | 1 | 0.177→0.324(+14.7) | 248 | 4 | 7 | 26 |
| 外部教师 | SFT | 2 | 0.177→0.335(+15.8) | 246 | 2 | 6 | 25 |
| 多数投票 | 策略梯度 | 0 | 0.176→0.192(+1.6) | 1984 | 0 | 1 | 11 |
| 冻结对照 | 无 | — | — | — | 0 | 0 | 0 |
限定在基线极少触及的 22 道题(1408 抽里最多命中 5 次),教师每个种子检出 8–11 道,三个自训练臂 0–2 道,冻结对照在十一个重复上都是 0。按种子分别比较再合并,对多数投票 SFT 是 、对 STaR 是 0.0078、对策略梯度臂是 0.0019。逻辑回归进一步排除了”这只是教师整体涨幅更大的副产品”:教师在低基线题上额外获得 (),多数投票 SFT 只有 ,策略梯度臂是 。
作者对这个结论的边界划得很紧。22 道题里只有 10 道的汇总基线严格为零,在那 10 道上跨种子取并集是 5 比 2,,不显著;未污染的 2026 半集上是 6 比 2,,也不显著。所以论文认领的是”低基线结果”,不是”扩展结果”。锐化侧的证据同样被压到真实重量:所有新在 pass@1 上做对的题,基线在 pass@ 下本就能触及;由于难度带按构造不含未触及题,真正有信息量的证据是 9 道题,而非四百道。检验在十一条汇总基线下对 0.024 的真实后训练率有 80% 功效,而没有任何自训练臂在任何 base-0 题上做到过 128 抽中 2 次命中。
3.3 被拆掉的部分有多大
难度带 1163 题上,STaR 毁掉 106 道、多数投票 SFT 毁掉 88 道,而同一次运行里 STaR 的平均准确率涨了 5.6 点。
Aggregate improvement and substantial destruction are the same run here, not alternatives. ——arXiv:2608.20290 §5
地板本身需要 F7 那种待遇。传统两 checkpoint 对照给出 4 学习、5 破坏,但实验臂有四个 checkpoint;用难度带的五次独立评测搭一个设计匹配的四 checkpoint 空转,120 种排序下中位数是 10 和 8,于是实验臂超出地板的倍数从 18–21 倍缩到 11–13 倍。至于这些破坏是不是阈值抖动:20 个冻结对里,从未训练的模型解题率最大移动量是 0.234,而 STaR 的 106 次破坏中有 58 次、多数投票 SFT 的 88 次中有 60 次超过这个包络,过半。
3.4 一个读起来很健康的监督信号
策略梯度臂在难度带上表现体面(19 学习对 9 破坏,CLR 0.47),在 AIME 上三个种子全军覆没,崩进无界重复,分别发生在第 1、2、3 次更新之后,截断率 100%、95.6%、76.4%。三个种子看到完全相同的数据、相同顺序,第一轮的一致性在一个百分点内:投票正确率 77.0–77.9%,约 250 组里 135–136 组带梯度。然后它们彻底分岔。
真正值得记住的是种子 2 的诊断读数。在毁掉模型的那次更新与终结它的那次更新之间,多数投票变得更准也更一致——正确率从 77.9% 升到 85.1%,一致份额从 0.78 升到 0.86(基于 248 个完整多数)——而评测端的截断率同期从 47% 冲到 96%。
A supervision signal that reads healthy while the model it supervises is dying is the failure this paper is about. ——arXiv:2608.20290 §5
4 批判性分析
4.1 这篇论文做对了什么
正对照的存在是稀缺品。审计类工作最常见的失败是只证明”某个信号不显著”,读者无法分辨这是方法无效还是检验太弱。作者用 gpt-oss-120b 蒸馏做正对照,并让它与自训练臂共享数据流、保留量与评测协议,于是”检不出”这件事有了参照:同一套检验在教师身上检出 36 道题、在低基线池检出 8–11 道。没有这条正对照,全文所有零结果都可以被归因为功效不足。
把方法论自律用在自己身上。F7 是少见的处理方式——作者先给出 F2 的修补(),再证明自己的修补建立在单次实现上、零线其实是 0.058,最后给出” 不够、 才够”的量化建议。结论段里那句”计算一下本会返回 0.044 并认证同一个错误结论”,是把刀口对准了自己刚提出的方案。
成本核算改变了建议的性质。七个对照里三个花费为零(都是对已有记录的再分析),两个在任何报告多臂的研究里都免费。这把”请增加对照”从一句正确的空话变成了可执行的清单。
对不确定性的处理一致到底。拒答探针本可以写成”自训练不损害安全性”,作者选择报一个界并在伦理声明里明确拒绝这个读法。零检出也被加上 Clopper–Pearson 上界(每个重复 0.24、每次检验 0.005)。
4.2 结论能承受的重量比标题小
规模是最硬的限制。三轮、约 270 步 rank-32 LoRA 优化,远短于它所对标的那些训练日程。作者自己写得很清楚:
what we establish is that this regime does not expand, not that self-training cannot. ——arXiv:2608.20290 §6
这句限定容易在传播中掉队。把本文读成”自训练不能获得新能力”是过度外推;它证明的是短程 LoRA 自训练在这套评测下不能,而长程 RLVR 的争议本文并未触及。
扩展侧的证据比破坏侧薄得多。整个扩展结论压在一个基准的 22 道低基线题上,其中严格未触及的只有 10 道,而在这 10 道上比较不显著()。论文的自我限定是诚实的,但代价是:读者最想知道的那个问题——自训练能否把从未做对的题变成做对——本文只给出”证据不足”,没有给出答案。
破坏侧的数字不能当遗忘率读。1163 题的难度带是为了让破坏可见而专门富集在决策边界附近的,且取自几乎肯定在基座预训练数据里的 MATH 训练题。106 和 88 这两个数字描述的是一个人造分布上的破坏计数,不是自然分布上的遗忘率。作者标注了这一点,但表格中的绝对数很容易被脱离语境引用。
F3 的排除让最有意思的比较消失了。蒸馏臂因风格漂移导致截断率飙到 65.3%,其破坏计数被排除在能力分析之外。这个处理在方法上正确,后果是:本文能比较自训练与蒸馏的”获得”,却无法比较两者的”破坏”。而”外部监督是否也毁东西、毁得更少还是更多”恰恰是实践者最需要的那条对比。同样的排除也套在策略梯度臂上。
策略梯度臂承担了它扛不住的角色。论文用它来把结论从”拒绝采样 SFT”扩展到”第二个方法族”,但这个臂在 AIME 上三个种子全崩。作者把它的检出数保留为”下界”(理由是截断只会压低检出),这在逻辑上站得住,可是一个塌成无界重复的模型提供的能力证据非常弱。想对 TTRL 式的真 RL 自训练下判断,本文的数据不够。
基础设施耦合值得留意。F1 的机制检验把批处理认定为主因,残余的 2% 被归给”跨租户的服务端批处理或 API 之下的不确定性”。这个残余量是 Tinker 托管服务的属性;在本地可复现推理栈上,单次贪心解码的翻转率会更低,“单次解码无法通过更小心地解码来修复”这个论断的适用范围应该限定在托管 API。结论方向不变,但把这个 2% 迁到别的环境需要重测。
单一基座。Qwen3-8B 一个模型族承载了全部结论。噪声地板的具体数值(滞回带、翻转率、零线)几乎肯定随模型与推理栈变化,可迁移的是方法而非数字。
多重性上的小瑕疵。一篇讨论多重比较的论文,自己在七个失效模式上报了约十来个 值,且按家族内校正而非跨家族校正。作者主动披露了这一点,处理方式也可辩护,但这确实是同一类问题在更高一层的复现。
5 实践启示
评测管线的第一处改动最便宜也最有效:把单次贪心采样换成解题率估计量。在难度带上,这一步把”状态改变”的伪影率从 18.9% 压到 0.8%。任何靠单次解码判定题目对错、再对前后两版模型做差的看板,报出的转移里绝大部分是采样噪声。加一条滞回带()能进一步挡掉边界抖动。
checkpoint 0 是免费的对照,用起来。这是本文最容易落地的一条:多臂实验里每个臂的起点评测都是对同一个未训练模型的独立观测,两两配对即得零线,不需要新实验。数字上要注意 不够,做到 9 条以上才稳。对只跑两三个臂的团队,这意味着需要额外补几次基线评测——仍然远比补一整个对照臂便宜。
把截断率与生成长度纳入每个 checkpoint 的日志。F3 的教训是风格漂移会伪装成能力损失:蒸馏学生变啰嗦,撞上固定 token 上限,就被记成最具破坏性的方法。评测报告里如果没有逐 checkpoint 的截断统计,这类错误无法事后发现。
三个种子是下限,不是保险。多数投票自训练的 CLR 在 0.55 到 1.53 之间摆动,同方法、同数据、同预算,跑两次分别落在”净有益”与”净有害”两侧。这条对选型决策的含义很直接:拿单次运行的 CLR 或准确率增益去决定上不上某个自训练方案,等于在抛硬币。作者给出的读法比”方法 A 优于方法 B”更有用——多数投票类方法的结果不由其设计单独决定。
转移类指标要先做功效计算。它们的统计功效比准确率低一个数量级;112 题只能产生 24 个事件,而作者的比较需要约 249 个。想在小评测集上做逐题转移分析,先算需要多少题,否则得到的”两方法无差异”只是没检验力。
对自训练本身的期待应该调低到”锐化”。在本文这个短程 LoRA 区间里,所有新在 pass@1 做对的题,基座在 pass@ 下本来就能触及;把未触及的题拉到 2.4% 通过率以上,没有任何自训练臂做到过。若目标是获得基座不具备的能力,本文的正对照指向外部监督:教师在低基线题上的优势经逻辑回归确认,不是整体涨幅的副产品。
最后一条来自策略梯度臂,适用于所有自监督奖励:多数投票的准确率与一致性可以在模型崩塌的同一段时间里同步上升。用模型自身产出构造的监督信号无法充当自身的健康检查,必须配一个独立于该信号的外部监测量——截断率、生成长度、留出集上的解题率都比投票一致性可靠。论文的伦理声明把这层意思写成了一句不留余地的话:
Nothing in this paper should be read as evidence that a self-training method is safe to deploy without supervision. ——arXiv:2608.20290 Ethics Statement