作者:Escapist
https://zhuanlan.zhihu.com/p/2009410859999437740
Introduction
从 SFT、RLHF/RLVR 到 On-Policy Distillation
大语言模型的后训练在很长一段时间内有两种主要的方式。
第一个是监督微调(SFT)/ off-Policy Distillation。它以高密度 token 监督换取训练稳定性,但训练分布由数据集或教师采样固定给定,是一种 off-policy 的训练;
第二条主线是强化学习(RLHF/RLVR),它以 on-policy 采样直接优化当前策略的行为,但奖励通常是稀疏、延迟且高方差的。
On-policy distillation 的关键意义在于把两种方法的优点进行组合:采样来自当前学生策略,监督却来自教师分布的密集 token 级信号,从而同时具备了 On-policy 和奖励密集的两个优点。
七篇论文对 On-Policy Distillation 在算法和工程上进行了探索:从 GKD 的 on-policy KD 统一化,到 MiniLLM 的 sequence-level reverse KL,再到 G-OPD 的奖励外推、OPSD/SDFT/SDPO 的自蒸馏扩展,以及工程化经验总结。
Preliminary
Forward KL 与 MLE/SFT 的等价关系
设真实或教师分布为 P,学生模型分布为 Q_\theta。前向散度定义为
由于 \mathbb{E}_{P}[\log P(y)] 与 \theta 无关,可得
这正是最大似然估计(MLE)与 SFT 的数学形式。因此 SFT 可以被严格解释为“用 one-hot 目标最小化前向 KL”的特殊情形,标准 KD 则是把 one-hot 换成教师 soft label,但仍然保持前向 KL 结构。
前向 KL 的期望是在教师/数据分布上取的,P 中概率越高的区域在目标里权重越大;如果学生在这些区域给出过低概率,会产生明显惩罚。
与此同时,前向 KL 对“学生在低概率区域的质量分配”的权重较低,容忍度较高,因此整体表现出来 mode covering 的行为。因此在容量受限,无法完全拟合大模型的小模型上,常见现象是模型把概率摊平以尽量覆盖更多模式。
这个“尽量不漏掉主模态”的倾向在摘要、翻译等需要覆盖多种合理表达的任务上通常有利,但在推理任务中可能带来过度平滑,表现为输出峰值不够尖锐、幻觉概率上升。
Reverse KL、mode-seeking 与支持集约束
反向散度定义为
与前向 KL 的差异不仅是两个概率分布的位置交换,最根本的差异在于期望测度变成了 Q_\theta,也就是“当前学生真实会走到哪里,就在哪里产生训练信号”。这一点使 reverse KL 具备 on-policy 属性。
同时,reverse KL 会带来 mode-seeking 倾向:若 P(y) 在某区域极低而 Q_\theta(y) 却给出质量,项 \log\frac{Q_\theta(y)}{P(y)} 会迅速增大,模型会被强烈驱离该区域,从而把概率质量收缩到教师模型的高概率峰附近,即 reverse KL 会严厉惩罚“学生去了教师几乎不去的地方”。
又由于模型中的概率分布是连续的,如果小模型覆盖了大模型多个高概率的地方,那么很大可能会存在低谷的点,导致较强的惩罚。因此学生模型会倾向于覆盖较少的高概率区域
reverse KL 的代价是多样性通常下降,但在数学、代码等“正确解峰值窄、错误代价高”的任务中,这种保守收缩往往更匹配目标。
反向 KL 的有效性依赖支持集重叠:如果学生分布几乎从不采到教师高价值区域,那么再精致的反向 KL 也难以把质量搬运过去,这正是实践中常需“先做领域 mid-training 再做 OPD”的理论原因。
JSD / generalized JSD 的对称性与稳定性
Jensen-Shannon divergence 定义为
它是对称且有界的,避免了纯 forward or reverse KL 在 P\to 0 区域的数值爆炸。更一般地,引入权重 \alpha\in(0,1) 可得
该形式可被解释为在 mode-covering 与 mode-seeking 之间做连续插值,为 GKD 一类方法提供了任务可调的散度族。摘要翻译等强调覆盖性的任务常更偏向较大的 \alpha ,而数学推理等强调稳定正确峰值的任务常偏向较小 \alpha 或 reverse KL。
梯度分解、score function 与 bias-variance
考虑一般目标
对其求导得到(
第一项是“直接梯度项”,第二项是“score function 项(策略梯度项)”。许多 on-policy KD 方法在工程上会忽略第二项,把采样轨迹当固定数据,这会引入偏差但显著降方差;
而 sequence-level RL 风格方法保留第二项,可获得无偏估计但训练波动更大。后文 GKD 与 MiniLLM 的分歧,本质上就是对这两项是否同时优化的不同立场。
GKD:广义的蒸馏框架与散度选择
传统蒸馏通常在真实答案前缀或教师前缀上对齐学生 next-token 分布,这在分类任务中问题不大,但在自回归生成中会产生结构性偏差:训练时看见的前缀不是学生推理时会经历的前缀,导致“会在训练前缀上答对,但在自己前缀上崩溃”。
GKD 的理论起点正是把对齐位置从“数据/教师分布上的前缀”移动到“学生当前分布上的前缀”,即让学生先 roll out,再由教师给这些轨迹上的 token 提供监督,从而达到 on-policy 的效果。
对输入 x,学生从 p_S(\cdot|x) 采样序列 y,教师在相同前缀上给出条件分布 p_T(\cdot|x,y_{< t}),然后计算每步散度并对时间平均。若记任意散度算子为 D ,可写作
这里监督信号来自教师,采样分布来自学生,得到 on-policy 且 dense 的训练信号。它也可以写成监督 KD 与 on-policy KD 的混合形式,以平衡稳定性与分布对齐速度。在 GKD 的框架中,我们不对采样的分布求导,因此没有策略梯度项。
当 D 取 forward KL 时,GKD 倾向覆盖教师所有重要模式,适合表达多样性要求较高的任务,但在小模型容量受限时易出现概率摊平。
取 reverse KL 时,GKD 会更强烈地抑制学生进入教师低概率区域,生成更保守集中,通常对数学与代码类“正确峰值窄”的任务更有利。
取 JSD 或 generalized JSD 时,可以在两者之间连续调节,并通过有界性改善训练数值稳定。由此可见,GKD 的核心不只是“on-policy”,而是“on-policy + 任意散度”的统一框架。
GKD 可自然与 RL 目标并联,形成
直观上,RL 提供偏好或可验证结果导向,GKD 保持教师知识结构与语言行为约束。该联合式的意义在于:同一批 on-policy 轨迹可同时承载奖励学习与蒸馏学习,减少纯 RL 中“只知道好坏不知道哪里错”的稀疏监督缺陷,也减少纯蒸馏中“只会模仿不对齐外部 reward 目标”的问题。
MiniLLM:Sequence-level Reverse KL 与无偏梯度路径
GKD 主要在 token 局部散度上训练,而 MiniLLM 的主要创新是把训练目标提升为序列分布级别
这里 x 是输入,y 是一整条输出序列。这一步的动机是,真实生成质量往往由跨步依赖决定,仅 next-token prediction 的对齐不足以约束整段推理轨迹。
sequence-level 目标直接惩罚整条轨迹的分布偏差。落到具体算法层面,主要有两点区别:
- MiniLLM 会对采样分布求导,因此会有策略梯度项
- MiniLLM 使用的 Sequence-Level Reverse KL,通过 reward-to-go,使得第 n 步的更新强度取决于第 n 步之后所有步骤的分布偏差,从而显式建模这一步对未来推理轨迹的影响。
从头开始推导,目标函数
对 \theta 求导并使用 \nabla q=q\nabla\log q ,得
若定义序列奖励 R_{\mathrm{seq}}(y)=\log p_T(y)-\log q_\theta(y) ,则
其中常数 1 来自对 q\log q 求导的解析项,形式上类似于强化学习中常用的 baseline。进一步利用自回归分解 \log q_\theta(y)=\sum_t\log q_\theta(y_t|y_{< t},x) 以及因果性,可将序列奖励替换为 reward-to-go
降低了 reward 项的方差。
文章还有如下创新点,保证训练稳定:
- 为了使 R_t 的数值不随序列的长度而变化,因此引入了 length normalization
- 在 Sequence-level KL 的同时,也没有落下 Token-level KL,每一个 time step 在进行 next token 预测时,在整个词表的范围上,求 Teacher 和 Student Model 的 KL 散度。
- Student Model 可能无法采样出高质量的序列,因此在采样的时候按一定比例加权混合了 Teacher Model 的概率分布
并引入了 Important Sampling 项
降低方差,可以近似为
最终的 objective 是
若从统一梯度分解看,MiniLLM 更接近完整优化 \mathbb{E}[f\nabla\log q] + \mathbb{E}[\nabla f],因此理论上更忠于 sequence-level reverse KL;
GKD 类方法常近似只优化 \mathbb{E}[\nabla f],因此更稳定但有偏。
二者并非简单优劣关系,而是针对不同训练预算与任务结构的估计器选择:当需要严格序列级最优性且可承受复杂训练时,MiniLLM 路线更有吸引力;当需要高稳定、高吞吐工程落地时,GKD 路线更实用。
Learning beyond Teacher(G-OPD / ExOPD):奖励外推与超越教师
标准 OPD 可写为
其中 \pi^* 是 teacher model。等价地
引入参考策略 \pi_{\mathrm{ref}} 并加减其对数项,可得
第二项对应对 \pi_\theta 相对 \pi_{\mathrm{ref}} 的 KL 正则,因此 OPD 被重写为“隐式奖励 + KL 约束”的 RL 目标。这个等价性是 G-OPD 的理论基石。
若直接把教师当唯一参照,奖励会混合“教师后训练增量能力”与“教师基础先验偏好”。引入 \pi_{\mathrm{ref}} 后,隐式奖励
可被解释为“相对于参考模型的能力增量”。在强到弱蒸馏场景,若 \pi_{\mathrm{ref}} 选择教师的 pre-RL/base 版本,奖励更接近纯净的后训练增益信号,从而减小容量差异引入的噪声偏差。
直到这一步,还是跟原始的 OPD 数值上相等。G-OPD 引入一个缩放系数 \lambda 在 reward 项上:
由推导,其闭式最优策略满足
当 \lambda=1 退化为标准 OPD;当 0<\lambda<1 为保守插值,在教师和参考策略中进行插值;
当 \lambda>1 时,学生沿着“教师相对参考策略的增益方向”进一步外推,这就是 ExOPD 的数学定义。该外推不是凭空超越,而是对增量结构做指数放大。
“超越教师”并不意味着任何条件下都成立,它依赖至少三个前提:
- 其一,教师相对参考的优势方向在学生容量内可表达;
- 其二,外推系数不过度放大噪声;
- 其三,采样探索仍能覆盖关键区域。
若这些条件不满足,外推会从“放大有用增量”转为“放大误差”。因此 G-OPD 的工程难点不在公式本身,而在参考模型选择、\lambda 调度和稳定训练策略三者的耦合设计。
OPSD:特权信息条件下的单模型自蒸馏(推理)
OPSD 采用了 Self-Distillation 的方式,没有一个更大的 Teacher Model,而是让 Student Model 自己蒸馏自己。核心思想是把“外部大教师”替换为“同一模型在更强条件下的版本”。学生策略为
教师策略为
其中 y^* 是标准答案或已验证推理轨迹。教师之所以更强,不是因为参数更大,而是因为条件信息更充分。这样做把蒸馏问题重写为“同一模型内部条件能力迁移”。
训练时先由学生 on-policy 生成轨迹,再让特权条件下的教师在这些轨迹前缀上给出 token 分布,最后最小化二者散度。
该流程同时满足分布一致性和监督密度:一致性来自学生自采样,密度来自教师全词表概率。相比先生成离线伪标签再做 SFT,OPSD 避免了静态数据分布冻结造成的失配。
笔记中的实证结论指出,在数学推理任务上,全词表蒸馏(忽略策略梯度项)往往比 sampled token policy-gradient(保留策略项) 更有效。其原因并不神秘:推理任务的局部 token 决策容错率低,低方差的全词表监督能更快逼近稳定解;
而 sampled policy-gradient 虽更无偏,但在有限算力下常被方差拖慢。这一结论与 GKD/MiniLLM 的偏差-方差框架完全一致。
在数学场景中,答案正确性通常对中间步骤高度敏感。OPSD 通过特权条件把“正确推理结构”投射到学生当前会走到的状态上,相当于将本应通过大量 trial-and-error 才获得的梯度,压缩为一次轨迹上密集 token 信号,因此在单位 token 预算下可获得更高有效学习率。这也是其相对纯 RL 方法实现显著 token efficiency 提升的根本原因。
SDFT-CL:持续学习中的自蒸馏与抗遗忘
该论文主要聚焦于蒸馏的方法,探讨其能否让模型具备更好的持续学习能力与抗遗忘特性。SDFT 不使用标准答案作为特权信息,而使用 demonstrations 作为上下文条件。
教师是同一模型的“带演示版本” \pi(\cdot|x,c),学生是“裸问题版本” \pi_\theta(\cdot|x)。该机制依赖一个关键假设:在不少任务中,ICL 能让同一参数模型瞬时表现出更接近目标策略的行为,因此可充当训练时的软教师。
SDFT 的目标通常可写为
由于教师来自同一模型家族且受演示锚定,学生被拉向的目标分布与原模型不会相距过远。与直接在新任务数据上做 SFT 相比,这种“带锚点的 reverse KL”更像信赖域更新,能在获得新能力的同时抑制参数漂移。
SFT 在连续任务中常把梯度几乎全部分配给新任务 token,旧任务缺乏反向约束,导致遗忘;RL 虽可 on-policy 修正,但需要可靠奖励设计,实际成本高且不稳定。
SDFT 的特殊价值在于既不依赖外部奖励建模,又能保持 on-policy 特性,并通过教师锚定形成隐式正则,因此更契合“持续积累而非阶段性替换”的学习目标。
顺序学习可视为一系列策略更新 \pi_0\to\pi_1\to\cdots\to\pi_K 。若每一步都只最优化新任务似然,更新方向可能与旧任务梯度近似正交甚至相反。
SDFT 通过“学生靠近 demonstration-conditioned 教师”的约束,在每一步都保留对历史能力结构的投影,等价于在参数空间中引入软几何限制。其效果不是绝对不遗忘,而是显著降低遗忘速率并提升新旧任务的联合可行解概率。
SDPO:利用 Rich Feedback 的自蒸馏强化学习
在可验证任务中,传统 RLVR 常只提供成功/失败标量,这在长序列推理或代码生成中会导致严重信用分配问题:模型知道“错了”,但不知道“哪一行、哪一步、哪个 token 错了”。这种稀疏监督会迫使优化器依赖高方差估计,样本效率低。
SDPO 的关键创新是构造反馈条件教师
其中 f 是编译错误、执行日志、评测反馈或由成功轨迹构造的隐式反馈。学生先生成 y ,环境返回 f ,随后教师在 (x,y,f) 条件下重评每一步 token 合理性,再将该分布蒸馏回学生 \pi_S(\cdot|x)。
这一步本质上是 hindsight re-evaluation:利用“事后知道结果”的信息把全局失败定位到局部决策。
若记学生与反馈教师间的散度损失为
则即使原环境仅输出一个标量结果,蒸馏后也可得到每个时间步的密集学习信号。换言之,SDPO 不是替代 RL,而是把环境反馈通过“自教师重解释”投影成 token 级可学习结构,显著改善信用分配。
代码任务中 rich feedback 天然丰富,SDPO 可直接利用编译器与测试器信息;数学任务中即便反馈较弱,也可借成功轨迹对失败轨迹进行对照式蒸馏,得到隐式 dense signal。
该统一性说明 SDPO 的核心不是某一类奖励函数,而是“把后验诊断信息转成前向策略监督”的机制,这使其在不同验证环境中都具备样本效率优势。
TML-OPD:工程实践视角下的 OPD 配方与成本优势
这篇 Blog 首先对 On-policy RL、SFT、OPD 做了统一对比:采样是否 on-policy,监督是否 dense。
SFT 是 off-policy + dense,RL 是 on-policy + sparse,而 OPD 落在 on-policy + dense 的组合点。这个位置决定了它常能在较低训练不稳定性的前提下,显著缓解分布失配并保持较高样本利用率。
reverse KL 类 OPD 依赖支持集重叠。若学生在目标领域几乎无支撑,直接 OPD 会因“采不到好轨迹”而失效。
阶段化流程通常是先做领域 mid-training 扩大学生支撑,再用 OPD 把概率质量向教师高价值模式收拢。该流程与前文理论完全一致:先解决可达性,再做模式对齐。
工程上常见现象是:仅靠领域知识 SFT 会提升领域问答却损伤通用指令跟随。一个有效配方是先做领域的 mid-training,再使用“mid-training 前的基座模型”作为蒸馏参照,通过 OPD 把通用对话行为重新拉回,同时尽量保留领域增益。
这本质上是 reference model 思想在个性化场景的具体落地:增益与保真必须在同一目标里共同约束。
从信息密度角度,RL 的每次 rollout 仅获得一个 scalar reward,信息量为 O(1) ,而蒸馏在整个序列上获得了 dense 的监督,单位样本信息量更高,为 O(N),因此在相近预算下往往更快收敛到可用策略。
实际落地时,若任务可获得可靠教师分布,优先 OPD;若只能获得结果而无分布,可先构造 SDPO 式反馈教师;若目标是严格序列级最优,可采用 MiniLLM 式完整梯度并投入更多稳定化工程。
Conclusion
七篇工作的共同主线可以表述为一句话:把“学生真实会经历的状态分布”与“教师提供的密集结构化信号”对齐。关键分歧在于是否忽略策略梯度、如何构造教师、以及是否允许对教师增益进行外推。
GKD 强在统一与稳健,MiniLLM 强在目标忠实性,G-OPD 强在可调超越机制,OPSD/SDFT/SDPO 强在把外部教师需求转化为条件化 Self-Distillation。
未来可推进自适应散度调度,即让 forward/reverse/JSD 权重随训练阶段与样本难度动态变化,而非全程固定;
其次是多教师组合,把领域教师、通用教师与反馈教师纳入统一参考框架,学习可解释的权重分配;
再次是测试时自蒸馏与在线反思,把 SDPO/OPSD 的思想扩展到推理期,使模型在部署阶段也能进行低成本局部策略修正。