精读:Thinking Leakage——no-think 模式下的 RL 增益有多少是从 think 模式漏过来的
用 GRPO 在混合推理模型的 no-think 模式上训练,报出的准确率提升有相当一部分是原模型 think 模式行为的重新激活。本专栏逐项对账发现:激活位移里正交分量 0.58‖v‖ 比沿 think 方向的 0.56‖v‖ 还大,余弦只到 0.70;附录 D 在反思词数对齐的那一点上只拿到 0.289 对 RL 的 0.411,缺口是增益的 55%;附录 F 与 §5.2 互相削弱——删掉写入该子空间的那 0.6% 更新准确率纹丝不动,推理时替换该子空间的激活却移除 75% 增益,而自陈的限定只套在附录 F;PCA 对照自己就移除 22%,think 特异的净额 53 个百分点在 180 条响应上只有 z≈2.4。
1 论文概览
本文是 arXiv:2610.14270(KAUST 与上海交大,cs.CL,v1 2026-10-09)。本专栏此前三十九期评的都是一个新提出的训练配方,这一期的对象是一个已经被报出来的数字。
一句话总结:在 Qwen3 这类混合推理模型上用 GRPO 训练 no-think 模式,报出来的准确率提升有相当一部分不是新学会的推理能力,而是把原模型 think 模式里已经存在的行为重新激活了出来。
核心问题:同一个权重、只靠几个 chat 模板 token 切换的两种模式,为什么在其中一个模式上做 RL,会系统性地把模型推向另一个模式?更关键的一问是——这个「推向」究竟是增益的来源,还是增益流经的通路?
主要贡献
- 三个尺度的行为学证据:Qwen3-1.7B / 4B / 8B 在 no-think 模式下做 GRPO,准确率上升,响应跟着变长、反思词跟着变多,被原模型判定为「更像我自己的思考」的比例从 50% 涨到 94% / 86% / 84%,中层激活沿 think 方向的投影坐标 涨到 0.56 / 0.40 / 0.21。
- 三层因果干预:放大 RL 学到的权重更新()、跨模型替换 8 维 think 子空间内的激活、逐个替换注意力头的输出。三层都指向同一条通路。
- 一个很难造假的现象:放大后的模型开始生成
</think>——一个在 no-think 模板里从未被要求、原模型在 1,260 条响应里一次都没写过的 token,且出现位置的中位数是响应的 91%,think 模式是 92%。 - 把因果链追到训练信号:GRPO 的优势值里,被强化的响应比被压制的响应更 think-like,一步梯度就把 往正方向推。
- 一件机制论文里少见的事:子空间维度和被替换的层在任何 AIME 结果被看到之前就固定了,并预先指定主比较为「think 子空间 vs PCA 子空间」。
2 方法详解
分析框架:不提新算法,只做归因。训练配置刻意做得干净——GRPO on DAPO-Math-17k、256 prompts × 5 响应、PPO 式裁剪 0.2、token-mean 聚合、对原模型的 KL 惩罚 、全线性层 rank-64 LoRA、lr 、跑 67 步。评估是 AIME 2022–2024(含 I 与 II 共 90 题),每题 2 个采样,32k token 预算。
三个 think-likeness 度量:
- 反思词计数:wait / hmm / alternatively / actually 等正则匹配,每个位置至多算一次。
- Think win rate(TWR):用原模型 当固定裁判,比较同一段响应在 think 前缀与 no-think 前缀下的 per-token 对数似然之差 ,再对 自己的 no-think 响应取 Mann–Whitney 统计量。构造上原模型自己的 no-think 响应是 50%,它自己的 think 文本是 100%。
- 思考激活位移 :在原模型自己的 no-think 响应上取固定文本, 是 在两个前缀下的中层残差流均值差, 是训练第 步的 checkpoint 相对 的位移,。 表示位移在 think 方向上的分量等于两个模式之间的全部差距。
关键创新点:把「RL 到底加了什么能力」这个被讨论已久的问题,从一个无法证伪的二分(学会新的 vs 放大已有的)改造成一组可干预的对象。三条干预各自堵住一条退路:
- 权重层:如果更新确实指向 think 模式,放大它就应该更接近 think 模式,而不是走向别处。
- 激活层:8 维子空间只用原模型和训练 prompt 构造(128 条 prompt,同一串 token 分别在两个前缀下过一遍,取均值差加七个主方向),不碰任何 AIME 结果。跨模型 patching 双向做:把 RL 模型的子空间分量换成原模型的值(移除),反向把 RL 的值塞给原模型(转移)。
- 注意力头层:两个 prompt 之间唯一的差别是模板末尾那个空的 think block(
<think>、\n\n、</think>、\n\n四个 token),信息只能通过注意力进入响应。先找读这个 block 的头,再问 RL 造成的变化是不是走同一批头。
对照比多数机制论文齐:PCA 子空间(同维度、取最大方差方向,与 think 子空间重叠 0.08–0.22)、随机子空间、随机头集合(五次抽样)、优势值打乱、权重全 +1。 的上偏( 与 共享 这一项)用 cross-fitting 处理,变化不超过 0.01。
与同类工作的区别:同期还有一篇独立工作 arXiv:2609.28682(Penn State,2026-09-23)在问同一个问题,用双向 steering 沿一个 base-derived 方向做审计,在 3 个模型 × 3 种后训练方法上给出 42%–79% 的 leakage ratio。两篇互未引用,是两次独立发现。差别在工具箱:那边用 steering(单一方向、生成时加向量),这边用 patching + 权重缩放 + 注意力头,并且多做了「哪些头在读那个空 block」这一层。量级互相印证——那边 42%–79%,这边移除 75%、转移 50%。
3 实验结果
主表(8B,AIME,no-think,32k 预算,每题 2 采样)
| 条件 | 准确率 | 响应长度 | 反思词/条 |
|---|---|---|---|
| 原模型,未干预 | 0.189 | 2.7k | 1.6 |
| RL 训练 67 步 | 0.411 | 7.0k | 13.0 |
| 原模型 → RL 模型,替换 think 子空间 | 0.244 | 4.2k | 3.9 |
| 原模型 → RL 模型,替换 PCA 子空间 | 0.361 | 6.2k | 10.0 |
| 原模型 → RL 模型,替换随机子空间 | 0.417 | 6.9k | 11.4 |
| 原模型 → RL 模型,只替换 think 方向(1 维) | 0.361 | 5.5k | 7.8 |
| RL 模型 → 原模型,替换 think 子空间 | 0.300 | 4.5k | 5.3 |
增益 。think 子空间替换掉 75% 的 ,反向转移 50%(16 维时 60%),PCA 22% / 25%,随机子空间 −3% / 10%。预先指定的主比较是 think 子空间对 PCA 子空间,差 0.117。
权重缩放(8B,,不再训练)
| 更新 | 准确率 | 长度 | 含 </think> | ||
|---|---|---|---|---|---|
| step 15 | 7 | 0.683 | 18.9k | 0.96 | 19.4% |
| step 15 | 9 | 0.539 | 28.3k | 1.12 | 23.3% |
| step 67 | 2 | 0.694 | 14.2k | 0.98 | 19.4% |
| step 67 | 3 | 0.722 | 19.2k | 1.25 | 50.6% |
| step 67 | 4 | 0.611 | 24.7k | 1.42 | 53.9% |
think 模式的准确率是 0.74,缩放峰值 0.722 贴着它但没越过。443 条含 </think> 的响应里没有一条含 <think>,位置中位数 0.91 对 think 模式的 0.92。
注意力头(8B / 4B / 1.7B):敲掉全部头对空 block 的注意力,原模型的 变成 1.11 / 1.17 / 1.13, 89% / 85% / 90%,与直接删掉那个 block(1.03 / 1.11 / 1.08,93% / 88% / 92%)接近。只敲最强的 5% 的头就有 = 0.78 / 0.88 / 0.66,随机 5% 至多 0.04。单头 patching 的最大效应:L18H19 在 8B 是 44%(block 注意力排名 top 0.2%)、在 4B 是 37%,L19H13 在 1.7B 是 54%(top 0.9%)。60 条留出文本上复现为 44% / 37% / 56%。
训练信号:一步 Adam 步(步长 ,走 sign 方向)后 ——完整 GRPO 信号 +0.0075,只留正优势 +0.0072,只留负优势 +0.0057,组内打乱 −0.0022,全部权重 +1 只有 +0.0006。
消融关键发现:附录 F 拆开残差流的写入项——位移由冻结的预训练权重作用在变化了的输入上产生,而非由 直接产生,比例超过 99%。把更新里写入 think 子空间的那部分删掉,准确率 0.435 对全量的 0.431,那部分只占更新平方范数的 0.6%,与随机子空间无异;删掉前八个奇异方向则掉到 0.315。附录 D 的 steering:沿 加 , = 0 / 0.25 / 0.5 / 0.75 / 1 对应准确率 0.189 / 0.200 / 0.289 / 0.467 / 0.600。
4 个人分析
亮点
空 think block 这条线索找得准。两个 prompt 只差四个 token,于是「哪些头在读它」成了一个有唯一答案的问题,而答案(每个模型 5–7 个头把 10% 以上的注意力放在上面)与「哪些头承载 RL 的变化」高度重合。这类把 prompt 差异反推成电路的设计,比堆相关性曲线硬。
双向 patching 也做对了:移除 75%、转移 50%,两个方向都做了,还配了 PCA 与随机子空间两个同维度对照。随机子空间给 −3% / 10%,说明 8 维这个容量本身不值钱,值钱的是方向。作者知道自己要防的是什么。
还有一处值得记:论文自己承认缩放因子的峰值是在同一批 90 道题上挑出来的。
“This is an exploratory probe of the direction of the learned update: models at large are far outside the range seen during training, and the scaling factors were explored on the same 90 AIME problems.” —— §5.1
局限性
(一)位移有一多半不在 think 方向上。 8B 第 67 步,沿 的分量是 ,论文自己报的正交分量是 ——正交分量比沿 think 方向的分量还大。余弦只有 0.33–0.70,第 67 步是 0.70,换算过来位移总长 、与 think 方向夹角约 46°。叙事是「向 think 模式移动」,实测的位移却有一多半落在别处。这个数字在 §4 里被一句带过,没有进 §5 的因果论证。
(二)附录 D 那张表是全文对 headline 最硬的反证。 steering 到 时反思词 12.4 个/条,与 RL 模型的 13.0 持平,准确率却只有 0.289 对 0.411,差 0.122,是 的 55%。论文的原话:
“At the number of reflection words per response (12.4) is that of the RL-trained model (12.4–13.6 at steps 50–67), while accuracy is 0.29 against 0.43.” —— Appendix D
在 think-like 程度对齐的那一点上,纯几何干预只拿到 0.29,RL 拿到 0.411。差额里至少有一半不是「变 think-like」能解释的。反向还有一层: 时准确率 0.600,比 67 步 RL 的 0.411 高出 0.189。往激活里加一个向量,比 67 步 RL 学到的还多。若主要机制真是 leakage,RL 应该贴近 steering 的上界而不是停在半路。
还有一处细节被漏掉:反向 patching 转移后的准确率 0.300 只配 5.3 个反思词,steering 到 12.4 个反思词却只有 0.289。转移过来的准确率并不由反思词数量中介,两个「转移」实验在中介变量上互相拆台。
(三)附录 F 与 §5.2 互相削弱,自陈的限定只套在附录 F 身上。 论文写得很诚实:
“We report it as a statement about where the shift arises and not as evidence for thinking leakage: it does not by itself distinguish the re-use of pretrained computation from new computation.” —— Appendix F
问题是这句限定同样适用于 §5.2。删掉 里写入 think 子空间的那 0.6%,准确率纹丝不动(0.435 对 0.431);把推理时 think 子空间里的激活换成原模型的值,却移除 75% 的增益。两句合起来是:这条通路是必要的,增益并不写在这条通路里。patching 证明的是通路,「leakage」这个词暗示的是内容来源。来源那一侧的证据只有相关性—— 上升、TWR 上升、放大后逼近 think 的准确率。必要性的证据(75%)与来源的证据(相关)被同一个词缝在了一起。
(四)裁判是 自己,参照文本还缺了答案那一半。 TWR 的分子分母都是原模型在两个前缀下对同一段响应的似然,「更像思考」是在 自己的似然空间里定义的; 用的方向 也是 的两个前缀之差。两个核心度量共用同一个方向,结论又是在说模型朝这个方向移动。参照的 think 文本是 4k 预算下 think block 的内容、去掉前导 <think>,附录 A 自陈多数样本在 </think> 之前就被截断——参照端是纯推理、没有最终答案的文本,被评分的却是带答案的完整响应。响应越像过程打分越高。分离度只有约 0.08 nats/token。TWR 是秩统计量,94% 听起来很响,实际对应的效应量很小,论文没报 LLR 的分布或 Cohen’s d。
(五)配置把更新压进了「复用」的定义域。 KL 惩罚 、LoRA rank 64、67 步、lr 、训练长度上限 8k(8B)——五件事都把更新约束成小的、低秩的、贴着原模型的。这个范围恰恰是复用已有能力的定义域。要问 RL 能不能学会新东西,需要一条放开约束的对照臂:全参数、无 KL、跑几百步。表里没有。
(六)75% 的分母不经打。 每个条件 90 题 × 2 采样 = 180 条响应,训练与评估全程无种子(只有子空间的 seed 0、随机子空间 seed 1234、附录 G 采样的 seed 1),也查不到 wall-clock 与 GPU-hour。按二项 SE 粗算:think 子空间对未干预 RL 模型差 0.167,;预先指定的主比较(think 对 PCA)差 0.117,;反向转移差 0.111,。PCA 子空间自己就移除 22%,1 维的 think 方向也是 22%——think 特异的净额是 53 个百分点,对应 0.117 的准确率差。
(七)1.7B 那一列的整体证据是反的。 单头 patching 的效应不可加,论文自陈所有被 patch 的头求和是 2.5 / 1.7 / −0.4。1.7B 的总和是负的,最负的单头 −35%,表 2 却仍把 L19H13 的 54% 与 8B、4B 并列在同一栏。§4 里 1.7B 的 只有 0.21,分母小的时候比值容易被放大。
(八)§6 的一步梯度只走了全程的 1.34%。 对终点 0.56。对照干净(打乱 −0.0022、全 +1 为 +0.0006),信号有方向性这点成立;从一步的方向推到 67 步的终点,中间隔着裁剪、KL、8k 长度上限这些非线性环节,论文也只测了步长的线性区。组内那 3.0 个百分位的 think-like 差(图 4c 四点是 5.9 / 2.1 / 1.6 / 2.5 个百分点)没有误差棒、没有显著性,也没控制响应长度。跨组那张图作者自己写得很清楚:
“This is an association across groups rather than a direct effect of think-likeness on the advantage, which is determined only by .” —— §6
跨组那 17 个百分点的跨度被作者自己排除了,剩下组内 3.0 个百分位才是真正在起作用的量,论文没给它定价。
(九)缩放实验里藏着一条未被点破的形状。 把 推到 1 附近(step-15 =7 给 0.683,step-67 =2 给 0.694),相对原模型的增益是 0.494–0.505,是 的 2.2 倍。67 步 RL 只走了 think 方向的 56%,却拿到了「走到底」收益的 45%——收益对 是凹的。推论:75% 这个数是在 这一个点上测的,换到别的训练步会变。而 时的 0.683–0.694 与 think 模式的 0.74 还差 0.05,且 越过 1 之后准确率单调往下掉(1.25 给 0.722,1.42 给 0.611,1.55 给 0.417)。越过 think 方向之后的多余位移是纯损耗,论文没有分开说。
(十)全称概括只给了一个尺度的数。 摘要与 §4 都说三种尺寸的准确率都涨了,正文只报了 8B 的 0.17 → 0.43,4B 与 1.7B 只给了 、TWR、长度和反思词。「不超过 think 模式准确率」这个最响的结论,权重层与激活层的干预都只在 8B 上做过。
对大模型领域的影响
对混合推理模型的 no-think 后训练,这篇把「涨了多少分」改成了「涨的分里有多少是借来的」。直接影响是评测口径:一个 no-think checkpoint 报出 +22 分,其中有多少是模式控制的漂移,需要单独标出来,否则两个方法的对比只是在比谁漂移得更多。两篇独立工作给出 42%–79% 与 75% / 50% 这样一致的量级,说明这不是某个配置下的偶然。
更深一层是它对「RLVR 到底加了什么」这条长期争论的贡献方式。此前的证据形态是 pass@k 曲线、单样本训练、随机奖励——都是相关性。这篇把它推进到可干预的层面:子空间、单头、权重缩放。这条路线一旦成立,后训练论文的评审标准会多一条——你的增益在反事实干预下还剩多少。
5 实践启示
可以借鉴的技术
- 用 prompt 差异反推电路。两个条件只差几个 token 时,先找读这几个 token 的头,再问训练造成的变化走不走同一批头。这个套路可以搬到任何模板切换、指令切换、模式切换的场景。
- 双向 patching + 两个同维度对照。只做移除不够,反向转移能分离必要性与充分性;PCA 子空间回答「是不是随便一个同维子空间都行」,随机子空间回答「是不是容量本身在起作用」。
- 预注册。子空间维度、被替换的层、主比较在任何结果被看到之前固定。机制论文里极少见,成本很低。
- 权重缩放 当方向探针。不用再训练就能问更新指向哪里,顺带还能看越过目标之后是不是纯损耗。
- cross-fitting 处理共享项造成的上偏。只要 与 共用一项,就拆到不同的数据划分上各算一遍。
潜在应用场景
- 后训练评测的归因层:给每个 no-think checkpoint 配一份 leakage 预算,报净新增而不是毛增益。42%–79% 与 75% 这两个数说明该比例会随方法与 checkpoint 大幅波动,值得做成常规项。
- 模式控制的诊断:空 think block 由 5–7 个头维持这一事实,意味着模式边界是脆的,几个头就能把它推走。想让 no-think 模式真的不思考(省算力才是目的),盯住这几个头比只看输出长度有用。
- 训练信号审计:一步梯度对 的推动量配打乱与全 +1 两个对照,这套测法可以泛化成「检查奖励在无意中强化了什么」的常规工具,不限 think / no-think。
- 能力余量标定:把激活推到 拿到 0.683–0.694、think 模式是 0.74。这条「沿某方向走到底能到哪」的标定,对判断一个模型还剩多少余量有用。
读完最该补的实验
- 一条放开约束的对照臂:全参数、无 KL、跑几百步。现结论只在「小、低秩、贴着原模型」这个角落里成立。
- 附录 D 的 steering 补报 ,让加向量与 RL 训练在 think-likeness 的同一个刻度上对齐。
- §5.2 的 patching 在多个训练步上重跑,给出 leakage 占比随 的曲线。
- 组内 3.0 个百分位的差,控制响应长度后再算一次,并给显著性。
- 训练与评估的种子、wall-clock、GPU-hour。
- 换一个模型族(Llama-Nemotron 一类)与一个非数学基准,验证空 think block 那批头是不是 Qwen3 特有。
参考文献
Zhu, W., Liu, S., An, B., Aliev, A., Li, B., Yang, Y., & Ghanem, B. (2026). The Thinking Leakage in Reinforcement Learning for LLMs. arXiv:2610.14270 [cs.CL]. King Abdullah University of Science and Technology; Shanghai Jiao Tong University. v1 2026-10-09.
Liu, Z., & Honavar, V. G. (2026). Thinking Leakage: A Causal Audit of NoThink Post-Training in Hybrid Reasoning Models. arXiv:2609.28682. Pennsylvania State University. v1 2026-09-23.
相关精读
- 本篇把本专栏连续四十期的主线再挪一格:此前三十九期回答的是「挑哪些 token、挑哪些轨迹、信用按哪套口径记账、信号被消费时旧了多少、数据分布离基座多远、整条响应有没有资格参与这次更新、策略容量会不会被优化动力学耗光、教师分布里哪些位置允许比较、事后经验除了改行为还能不能改行动之前的那次预测、参考模型的 KL 该从哪条边进组相对更新、教师的意见从哪条通道进 RL、off-policy 校正的记账区间有多长、裁剪区间那两个端点由什么决定、干预落在流水线的哪一环、逐步信用从哪个模型里来」,这一期问的是一个已经报出来的增益该怎么拆账——不再提新算法,而是给一类 headline 数字做来源归因与上限标定:混合推理模型在 no-think 模式下做 GRPO 涨的那些点,有多少是从原模型 think 模式里漏过来的。
- 精读:LVRL——把价值函数从「训出来的部件」换成「冻结的前沿 LLM」
- 精读:RTI——把干预从优化期搬到采样期
- 精读:GPPO——把 PPO 的裁剪区间拆成「散度」与「估计器」两维
- 精读:TAPO——把状态校正的记账区间从两端挪到前缀
- 精读:Residual Advantage——让教师只重分信用,不改响应总分
- 精读:ZCPO——把参考 KL 从损失支搬进组内系数
- 精读:SRD——把事后回顾蒸成事前先见
- 精读:跨分词器 OPD——把对齐覆盖度补满反而掉点
- 精读:Mesh Learning——把 RLVR 的坍塌解释成策略容量的供需冲突
- 精读:CARM——把响应级掩码的判据从净位移换成双向漂移
- 精读:把 off-policy 专家数据 MCMC 投影成 on-policy 数据
- 精读:GMC-GRPO——把重要性比从逐条裁剪换成整组收缩
- 精读:SCAPO——用「扰动下不动」给 token 记一笔负账
- 精读:ARCUS——prompt 的选择也有一条弧
- 精读:把中间那一步的信号从模型里搬进环境——用沙箱回滚跑出免费过程奖励
- 精读:把特权信息从损失搬到采样器——多轮 agent 里自蒸馏为什么会崩
- 精读:OC-GRPO 与离上下文重要性校正
- 精读:不跑 RL,先把新奖励的结果预测出来
- 精读:给 token 级信用一个唯一解,然后把它求和掉
- 精读:把后训练配方本身当成果,再逐阶段对账
- 精读:STAR-E——按惊讶度给 token 重加权 advantage
- 精读:按梯度可估性给 token 分配蒸馏监督
- 精读:TrimSFT——按 logit 间隔剪掉 SFT 里的低信息 token
- 精读:ESFT 与端点 SFT 对中段推理链的裁剪
- 精读:把中间状态的价值估计整体消掉
- 精读:ActObs——把被 mask 掉的那 45% 观察 token 重新纳入损失
- 精读:SP³O——一条响应里只给三个位置价值监督
- 精读:教师引导的课程 RLVR——把解不出的题变成可解的题
- 精读:DataFlex-RL 与均匀采样的替代策略
- 精读:NGU 与 RL 里的马太效应
- 精读:按排序可分辨性做 RLVR 数据联合工程
- 精读:模型与外壳共演化时的同策略校正
- 精读:OPD-then-RL——顺序摆信号胜过同 step 混信号
- 精读:One-Shot OPD 与状态覆盖吸收率
- 精读:Compile by Training——把 LLM 降级为构建期依赖
- 精读:Terminal-Universe——轨迹反向造环境
- 精读:OPSA——无教师的同策略自适应
- 精读:SPADE——把优化对象从轨迹上移到生成器
- 精读:DART-SD——标注单元从轨迹换成状态图