论文精读

精读:NSD 负向自蒸馏 —— 不靠近看过答案的自己,只远离粗心的自己

NSD 让模型自己生成「粗心的解题者」当负教师,再用门控 unlikelihood 把学生分布推离它,全程不用标准答案、不用外部教师;本专栏重算后发现等权 ΔAvg 里 57% 的权重压在 9% 的评测题上,且纯噪声负条件在策略梯度设定下三个尺寸全部第一

论文: Negative Self-Distillation: Learning to Reason by Avoiding Flaws
作者: Rongcan Pei, Zhepei Wei, Shuyao Xu, Xinyu Zhu, Wei-Lin Chen, Yu Meng
arXiv: 2609.11699
Negative Self-Distillation On-Policy Distillation Unlikelihood Training Label-Free RL 数学推理 Qwen3 cs.CL

1 论文概览

一句话总结:把自蒸馏的目标函数翻个符号——不去贴近「看过标准答案的自己」,而是推离「被提示成粗心解题者的自己」,并且全程不需要标准答案、不需要外部教师。

核心问题:On-Policy Self-Distillation(OPSD)让模型拿着金标答案当提示,给自己的采样轨迹打密集的 token 级监督,省掉了外部教师。代价是这位教师因为预先知道答案,产出的轨迹过度自信、过度线性。学生去拟合它,等于把「不确定」和「回头检查」这两种行为一起压掉了。论文把这个退化写得很直接:

By forcing the student to imitate an artificially confident reasoning trace conditioned on privileged information, OPSD inadvertently suppresses expressions of uncertainty and penalizes the exploratory, self-corrective behaviors required to solve challenging problems. —— 摘要

主要贡献:

  1. 提出 NSD(Negative Self-Distillation):一套 label-free、完全自举的训练框架。监督信号的来源不再是「正确答案」,而是「模型自己想象出来的坏解题方式」。
  2. token 级自适应门控 + 有界 unlikelihood:解决「哪些 token 才是真正的推理缺陷」与「unlikelihood 目标在高置信 token 上梯度爆炸」这两个问题。
  3. 三档负条件策略:在线解感知、离线问题级、以及直接塞无关维基百科段落当噪声(wiki-irr),都能跑通且效果接近。
  4. 效率账:每条样本只需 1 次 rollout(GRPO 类方法要 8 次),损失函数只用三个标量概率,不做全词表 logits 对齐。
  5. 反射行为的量化证据:用「反思 token 频率」做指标,测出 OPSD 与 Intuitor 把反思行为压掉了,NSD 把它抬上去了。

2 方法详解

架构与方法概述

NSD 的骨架出乎意料地轻。给一个无标注问题 xx,流程是三步:

  1. 学生 πθ\pi_\theta 采样一条轨迹 yy,再用一个元提示让同一个模型为这道题生成一句负条件 nn(例如「扮演一个粗心的解题者」)。论文默认的在线策略是让模型先看到自己的初始解再生成负条件:yinit∼πθ(⋅∣x), n∼πθ(⋅∣x,yinit)y_{\text{init}}\sim\pi_\theta(\cdot\mid x),\ n\sim\pi_\theta(\cdot\mid x, y_{\text{init}})。
  2. 冻结两个初始模型的副本:πref\pi_{\text{ref}} 只看原题,πneg\pi_{\text{neg}} 看「原题 + 负条件」。
  3. 对学生采样到的每个 token yty_t,比对两个冻结副本给出的概率,算出更新量。

关键创新点

创新点一:门控只认「被负条件抬高的 token」。

这是全文最核心的一个设计。门控函数定义为

Gt=max⁡(0, πneg(yt∣x,n,y<t)−πref(yt∣x,y<t))G_t=\max\bigl(0,\ \pi_{\text{neg}}(y_t\mid x,n,y_{<t})-\pi_{\text{ref}}(y_t\mid x,y_{<t})\bigr)

论文对它的解释是:

If πref≥πneg\pi_{\text{ref}}\geq\pi_{\text{neg}}, the token is not activated by a negative condition and naturally exempt from penalization, preserving the model’s original generative distribution. Conversely, if πneg>πref\pi_{\text{neg}}>\pi_{\text{ref}}, it indicates that the negative prompt has boosted the token’s likelihood, marking it as a critical target for suppression. —— §2.3

这个判据的巧妙之处在于它不问「这个 token 好不好」,只问「这个 token 是不是负条件带来的」。判断一个 token 是不是推理错误需要金标或者有能力的评审;判断「加了负提示之后它的概率涨了没有」只需要两个前向传播。整个「识别缺陷」的难题被替换成了一个差分问题。

创新点二:用 Sigmoid 把惩罚压成有界量。

标准 unlikelihood 是 −log⁡(1−πθ)-\log(1-\pi_\theta),当 πθ→1\pi_\theta\to 1 时损失和梯度一起发散。论文在外面套一层 Sigmoid,得到

LGU(t)=Gt⋅σ(−log⁡(1−πθ))=Gt⋅12−πθ\mathcal{L}_{\text{GU}}^{(t)}=G_t\cdot\sigma\bigl(-\log(1-\pi_\theta)\bigr)=G_t\cdot\frac{1}{2-\pi_\theta}

附录 A 给了闭式梯度。对 logit zcz_c 求导,标准形式是 ∂GUstd/∂zc=G⋅πc\partial\text{GU}_{\text{std}}/\partial z_c = G\cdot\pi_c,随学生置信度单调递增,πc→1\pi_c\to 1 时达到 GG;Sigmoid 形式是

∂GUsig∂zc=G⋅πc(1−πc)(2−πc)2\frac{\partial\text{GU}_{\text{sig}}}{\partial z_c}=G\cdot\frac{\pi_c(1-\pi_c)}{(2-\pi_c)^2}

这个函数有个干净的极值,论文只给了图,这里补上解析解:令导数为零得 2−3πc=02-3\pi_c=0,峰值在 πc=2/3\pi_c=2/3,峰值为 G/8G/8。也就是说 Sigmoid 把惩罚梯度的天花板从 GG 压到了 G/8\mathbf{G/8},在 πc=2/3\pi_c=2/3 处标准形式的梯度是 Sigmoid 形式的 5.335.33 倍,而 πc→1\pi_c\to 1 时 Sigmoid 形式的梯度趋于 0。

还有一个值得记下来的性质:损失值和梯度在 NSD 里是脱钩的。固定门控 GG 时,LGU=G/(2−πc)\mathcal{L}_{\text{GU}}=G/(2-\pi_c) 随 πc\pi_c 从 G/2G/2 单调升到 GG,而梯度在 πc=2/3\pi_c=2/3 之后一路降到 0。高置信 token 拿着最大的损失值,却几乎拿不到梯度。论文图 3 右图画的是实测分布,容易被读成「损失权重被转移到了低置信 token」,实际那张图里起作用的是 GG 与 π\pi 的经验相关性,不是公式本身的单调性。

创新点三:KL 锚定项,权重只有 0.01。

总目标是 LNSD(t)=LGU(t)+α⋅πref(yt)log⁡πref(yt)πθ(yt)\mathcal{L}_{\text{NSD}}^{(t)}=\mathcal{L}_{\text{GU}}^{(t)}+\alpha\cdot\pi_{\text{ref}}(y_t)\log\frac{\pi_{\text{ref}}(y_t)}{\pi_\theta(y_t)},其中 α=0.01\alpha=0.01。这个权重小到几乎可以忽略,可 §5.2 的消融显示去掉它会在训练中途崩掉:

Removing the KL constraint leads to a mid-training collapse. —— §5.2

论文观察到 noKL 变体在第 120 步左右:前向 KL 剧烈震荡,平均门控激活 Gt‾\overline{G_t} 断崖式下跌,LGU\mathcal{L}_{\text{GU}} 的均值也大幅下降。作者的解读是模型漂得太远,门控开始乱激活、失效。

与基线方法的区别

附录 B 的表 4 把 NSD 和六类方法按五个维度做了对照,最有信息量的是「信号来源」和「是否监控信号质量」两列:

方法信号来源需金标监控信号质量
SFT / 离策略蒸馏外部教师否否
RLVR (GRPO)金标是是(噪声梯度被抵消)
OPD外部奖励否否
OPSD / SDPO金标是否
RLIF (Intuitor)内部指标(自信度)否否
TTRL多数投票否否
NSD负条件否是(门控过滤)

NSD 是表里唯一在「不用金标」的前提下还做了显式信号过滤的方法。它的对照组也选得有讲究:OPSD 代表「用金标走自蒸馏」,Intuitor 代表「用自信度自我奖励」,TTRL 代表「用多数投票造假金标」。三类替代自举信号各出一个代表。

3 实验结果

主要指标

主表在三个尺寸(Qwen3-1.7B / 4B / 8B)、七个数学基准上汇报 avg@8(非思考模式)。Δ\DeltaAvg 是相对同尺寸基座的七个基准绝对增益平均。

方法1.7B4B8B
OPSD †+1.1+1.0+0.3
Intuitor−0.5+1.3+1.9
TTRL+0.3+0.2−0.1
NSD+2.3+7.5+6.0

† 表示需要金标。1.7B 的 NSD 行给了 95% CI [+0.7,+4.0][+0.7,+4.0] 与单侧 p=0.001p=0.001;4B 行 [+5.4,+9.5][+5.4,+9.5]、8B 行 [+4.0,+7.9][+4.0,+7.9] 的 p 值单元格在表里是空的。

4B 上逐基准拆开看,增益分布极不均匀:

基准AIME24AIME25AIME26HMMTAMCOlyMATH-500
基座23.820.417.910.868.847.871.2
NSD35.831.329.216.376.351.073.1
差值+12.0+10.9+11.3+5.5+7.5+3.2+1.9

与 SOTA 的对比

严格说这篇论文没有对外部 SOTA。它的比较类是「label-free 自举训练」,论文自己在附录 B 也承认:

Note that our NSD is a label-free approach, which is not directly comparable to baselines that rely on additional or external supervision. —— 附录 B,表 4 注

需要注意两点。第一,主表里没有带金标的 RLVR(GRPO),而它才是当前后训练的主流范式;论文用 OPSD 当”用金标”的参照,OPSD 在本表里三个尺寸只拿到 +1.1 / +1.0 / +0.3。第二,对照组里存在配置不对等:NSD 学习率 1×10−61\times10^{-6}、批大小 32、每条样本 1 次 rollout;TTRL 学习率 5×10−75\times10^{-7}、批大小 8、PPO mini-batch 1。TTRL 拿到 +0.3 / +0.2 / −0.1 之后被归因为「多数投票伪标签不行」,但它的学习率只有 NSD 的二十分之一。

思考模式下(4B,表 7)NSD 是 +3.0,OPSD +0.2,Intuitor −11.3,TTRL −1.9。Intuitor 的崩塌原因是过度思考,输出超长被截断。

消融实验关键发现

消融一:负条件的内容有多重要? 论文测了四种策略,结果对「精心设计的负条件」不太友好。默认在线解感知策略在 4 个基准上 +7.8%,只看问题的离线策略 +7.3%,而直接塞无关维基百科段落(wiki-irr)被描述为”competitive”。切到策略梯度目标(表 8)之后结论直接反转:

策略1.7B4B8B
解感知(在线)+2.5+5.1+2.8
解感知(离线)+2.4+4.2+1.9
问题级(离线,仅 4B)—+4.4—
wiki-irr(纯噪声)+5.0+5.9+5.8

纯噪声在三个尺寸上全面第一。论文给的解释读起来像是在自我消解:

wiki-irr utilizes noise to introduce more generalized interference (causing an overall degradation of the model’s reasoning capabilities in long contexts), which ultimately makes it a more effective strategy in this regime. —— 附录 D.3

门控质量指标也指向同一方向。表 3 的 style-task 比值(越低越好,越低表示梯度更集中在任务 token 而非格式 token 上)是:NSD 门控 + wiki 条件 2.6×、+ 解感知 3.4×、+ 问题级 3.5×、熵加权 OPSD 3.9×、原始 OPSD 5.4×。用无关噪声构造出来的门控,在论文自己的指标上是质量最高的那一个。

消融二:反射行为。 Qwen3-4B 上每题平均反思 token 数(“wait / actually / let me reconsider” 等,定义见附录 E):基座 3.6,OPSD 2.2,Intuitor 0.8,NSD 7.5。OPSD 把反思压到基座的 61%,Intuitor 压到 22%,NSD 抬到 208%。

消融三:效率。 单步墙钟时间,wiki-irr 变体把 68s 降到 54s;rollout 开销比 GRPO 类方法(n=8n=8)降约 60%,因为 NSD 只要 n=1n=1。OPSD 要抽 top-128 logits,NSD 只要三个标量概率。

4 个人分析

亮点

把「识别缺陷」换成了「测量扰动敏感度」。 这是我认为这篇论文最值得记住的一步。判断一个 token 是推理错误,本来需要金标、验证器或者一个更强的评审模型。NSD 用一个差分把它绕过去了:不问对不对,只问「加了这个负提示之后它是不是更容易出现」。这让整条流水线能在完全无标注的数据上跑,成本只有两次前向传播。

梯度上界是解析可控的。 很多 unlikelihood 类方法的崩塌是工程问题而非理论问题。这里 Sigmoid 形式给出了 πc=2/3\pi_c=2/3 处的峰值 G/8G/8 和 πc→1\pi_c\to1 时的 0,梯度行为完全可预测,落地时不需要靠调 clipping 去救。

局限性

一、NSD 的目标函数里没有任何「正确」的信号。

把总目标拆开看就很清楚:LGU\mathcal{L}_{\text{GU}} 只会降低被门控 token 的概率(它对 logit 的梯度恒为负方向),KL\text{KL} 项只会把学生拉回初始模型。两项都不会提高任何 token 的概率。既然如此,NSD 训练后模型分布里所有概率上升的 token,来源只有两个:softmax 的重新归一化,以及被 KL 项拉回基座的那个方向。

这带来一个可以直接检验的推论:§4.2 报的「反思 token 从 3.6 涨到 7.5」里,有一部分是抑制的副产品,不是新学会的能力。 反思词(wait / actually / however 等)在附录 E 的分类里被归为 style token,而一个”粗心的解题者”说 “wait” 的概率理应低于正常模型,也就是 πneg<πref\pi_{\text{neg}}<\pi_{\text{ref}},门控 GtG_t 恒为 0,这类 token 永远不会被惩罚。其他 token 被压下去之后,归一化会把概率分配给这些从不挨罚的 token。论文把计数上升读成「激发了反思」,可它并没有验证这些新增的 “wait” 是否真的带来了修正——附录 D.4 的案例分析只有 AIME 2025 II #12 一道题,且结论摘要是外部模型 Sonnet 写的。

二、Δ\DeltaAvg 是等权平均,而四个小基准拿走了 57% 的权重。

按 pass@8 数值的粒度可以反推各基准题量(AIME 三个年份与 HMMT 各 30 题、AMC 40 题,数值全是 1/301/30 与 1/401/40 的整数倍),加上论文明示的 OlympiadBench 675 题与 MATH-500 的 500 题,合计 1335 题。四个 30 题的基准加起来只占 120 题,是 9.0% 的评测样本,却占了 4/7=57.1%4/7=57.1\% 的 Δ\DeltaAvg 权重。

按题量重新加权后(本专栏推算,非论文数据):

方法等权 Δ\DeltaAvg按题量加权比值
NSD 1.7B+2.34+1.190.51
NSD 4B+7.47+3.450.46
NSD 8B+5.99+2.180.36
OPSD 4B+0.99+0.230.24
Intuitor 4B+1.33−0.32−0.24

NSD 的增益被砍到 36%–51%,Intuitor 4B 甚至翻了符号。方向没有变,NSD 依然是三个里最强的,可「+7.5」这个数字里有一半以上来自 120 道 AIME/HMMT 题。论文的 95% CI 是给 Δ\DeltaAvg 这个等权统计量算的,不覆盖口径选择本身。

三、pass@8 的增益大于 avg@8,与「锐化」的直觉相反。

尺寸pass@8 增益avg@8 增益比值
1.7B+7.2+2.33.13
4B+8.3+7.51.11
8B+9.7+6.01.62

pass@8 衡量「8 次采样里至少有一次对」,涨得比 avg@8 快,说明 NSD 扩大的是覆盖率而不是把分布压尖。1.7B 上尤其明显:单次平均只涨 2.3 分,可八次里能撞对一次的概率涨了 7.2 分。这个形态和本专栏此前读过的 OPD 系列里「蒸馏扩张、RL 锐化」的分工是一致的——一个纯抑制式目标做出了扩张,本身就值得追问一句:压低某些 token 的概率之后,概率质量去了哪里?答案大概率是分散到了更多条轨迹上,而不是集中到最正确的那一条。

四、两位教师从头到尾冻在 step 0。

πref\pi_{\text{ref}} 与 πneg\pi_{\text{neg}} 都是初始模型的副本,训练中永不更新。学生越往后跑,它采样的 token 对这两个冻结模型来说越陌生,πneg\pi_{\text{neg}} 和 πref\pi_{\text{ref}} 会一起变小,而门控取的是两者的差。差值随绝对量一起收缩,信噪比只会更差。论文在 §5.2 里确实观察到了门控失效的现象,但那是 noKL 变体在崩溃时的曲线;加了 KL 之后门控激活随步数怎么变化,正文没有给。KL 项在这里的角色是双刃的:它既稳住了训练(保证学生留在冻结教师的分布附近,门控才有意义),也把学生能走多远这件事本身锁住了。α=0.01\alpha=0.01 这么小的权重就能决定崩与不崩,说明系统离分岔点很近,而论文没有 α\alpha 的扫描。

五、规模曲线并不单调,与论文给出的机制解释对不上。

论文把「大模型增益更大」归因于负条件的质量:

NSD uses on the model itself to generate solution-specific negative conditions. By optimizing against these higher-quality conditions, larger models receive a stronger contrastive training signal. —— §4.1

实测增益是 +2.3 → +7.5 → +6.0,8B 比 4B 低了 1.5 分。如果「模型越强、自生成的负条件越好」是主因,8B 不该输给 4B。也不是天花板问题:8B 基座在 AIME 2024 的 pass@8 是 56.7%,4B 是 50.0%,余量还在。限制条件那一节只自陈了「极小的模型生成不出有意义的负条件」,没有解释中段这次回落。

六、其余几处

  • 只在数学域、Qwen3 三个尺寸、非思考模式下训练(附录 C.2 写明全程 enable_thinking=False),思考模式只用于评测。没有代码域与 agent 域。
  • 表 1 注脚说取「验证集上的最佳检查点」,可 §3 的实验设置里没有定义这个验证集是什么、从哪来。
  • 表 5 里 OPSD 的 Top-k logits 记为 −1(不截断),§4.4 正文却写 OPSD 抽 top-128,两处对不上。
  • 训练语料是 MATH(丢掉金标),而 MATH-500 出自 MATH 测试集,是唯一同分布基准——NSD 在它上面只涨 +1.9 / +1.0 / +0.1。反过来读这也是个正面信号:增益集中在分布外,不像过拟合训练语料。

对大模型领域的影响

这篇论文真正的价值不在 +7.5 这个数字,而在于它给出了一条不依赖任何正确性判据的后训练路径的实证。过去两年 label-free 自举的路子基本被「自信度」和「多数投票」两条占着,两条都依赖模型自己判对错——Intuitor 在 1.7B 上拿 −0.5,正是因为弱模型的高自信不等于高准确率。NSD 换了个参照物:不求证什么是对的,只规避什么是错的。这个方向的边界条件也清楚了——它的天花板由基座模型自己的分布决定,压不出基座 pass@k 之外的东西。

它把一个解码期技巧固化进了权重。max⁡(0,πneg−πref)\max(0,\pi_{\text{neg}}-\pi_{\text{ref}}) 这个形式,和对比解码里「用扰动后的分布减原始分布」是同一个算子,只不过对比解码在推理时改 logits,NSD 在训练时改权重。如果这条路线成立,近几年积累的一大批解码期干预手段(对比解码、激活 steering、各类 logit 差分)都多了一条「蒸馏进权重」的转化通道。

5 实践启示

可以借鉴的技术

一、门控作为数据管道的 token 级过滤器。

Gt=max⁡(0,πneg−πref)G_t=\max(0,\pi_{\text{neg}}-\pi_{\text{ref}}) 只需要两个标量概率相减,比按熵筛 token 便宜,也比训一个判别器便宜。做轨迹数据筛选时,凡是想保留「推理关键 token 的监督、丢掉格式 token 的噪声」的场景,都可以拿这个差分当权重。论文的对照数据说明它比熵加权更有效(style-task 比值 2.6–3.5× 对 3.9×)。

二、负样本不一定值得精雕细琢。

wiki-irr 用无关维基段落当负条件,在策略梯度设定下三个尺寸全部第一,在主设定下也与精心生成的负条件持平。对做数据工程的团队来说这是个成本信号:构造难负例时的 prompt 工程投入,边际收益远低于预期。真正起作用的看来是「存在一个分布扰动」这件事本身。

三、Sigmoid 有界惩罚可以直接搬。

凡是要在 LLM 上用 unlikelihood / 负向 DPO / 任何「压低某些 token 概率」的目标,G2−π\frac{G}{2-\pi} 这个形式都能替掉 −log⁡(1−π)-\log(1-\pi),梯度上界从 GG 降到 G/8G/8,π→1\pi\to1 时自动归零,不需要额外的 gradient clipping 或概率下限截断。

四、KL 锚的权重必须先扫。

α=0.01\alpha=0.01 是全文最敏感的一个数:去掉它第 120 步就崩,留着它又限制学生能走多远。论文没有给扫描曲线,落地时这一步不能省。

潜在应用场景

  • 无验证器领域的后训练。 数学和代码有结果可判,写作、规划、开放问答没有。NSD 不需要答案也不需要验证器,是这类领域少有的密集监督来源。
  • 基座上线前的「去噪微调」。 纯抑制式目标适合在强基座上做小幅修正:压掉已知的不良模式(套话、幻觉句式、过度断言),用 KL 锚控制改动幅度。它不适合当唯一的训练信号。
  • 把线上日志转成负条件。 本专栏前八期反复讨论「拿什么练」,NSD 提供了一条反过来的用法:把线上被用户点踩、被回退、被人工改写的交互攒成负条件语料,比攒正样本容易得多。
  • agent 轨迹的逐步过滤。 终端、GUI 这类长程任务里,一条 300 步的轨迹往往只有几步是关键错误。用「加/不加负提示的概率差分」定位这几步,成本是两次前向,比跑一遍验证器便宜。

参考文献

Pei, Wei, Xu, Zhu, Chen, Meng (2026). Negative Self-Distillation: Learning to Reason by Avoiding Flaws. arXiv:2609.11699 [cs.CL]. University of Virginia; Stanford University. 代码 github.com/Prongcan/NSD,权重 huggingface.co/collections/PassionPrc/nsd-negative-self-distillation.

相关精读

本专栏连续四十三期追问同一个命题——不依赖外部监督的训练信号从哪里来: