
在探索如何更好地对齐大型语言模型行为时,我们常常会接触到几种看似不同但实则紧密相关的方法:监督微调(SFT)、离策略蒸馏(Off-Policy Distillation)、强化学习(RL)以及同策略蒸馏(On-Policy Distillation)。这篇文章尝试从一个统一的梯度视角来解析它们之间的联系与区别,让你理解这些不同“配方”背后的核心逻辑。
简单来说,可以观察到两个有趣的现象:
- 在RL还未如此流行时,人们提到“蒸馏”几乎都指代Off-Policy Distillation。SFT 和 Off-Policy Distillation 都属于“离策略”(使用固定数据集),并且通常后者训练出的模型效果优于SFT。
- 随着RL(尤其是基于人类反馈的强化学习RLHF)的兴起,如今讨论的“蒸馏”更多是指 On-Policy Distillation。RL和On-Policy Distillation都属于“同策略”(采样依赖模型自身行为),并且后者常被认为比RL更具优势。
Off-Policy Distillation 到 On-Policy Distillation 的转变比较容易理解,核心区别在于学生策略(student)和教师策略(teacher)是在不同的数据分布下进行对齐。那么,SFT 到 RL 又该如何理解呢?一个直观的想法是:RL 可以被看作是 On-Policy 版本的 SFT。我们可以从策略梯度公式中找到支撑这一观点的证据。

本质上,这四者都是在优化某个分布下的对数似然 ∇θ log πθ(y_t | x, y_{<t}),只是在不同的优化目标下,对梯度项采用了不同的加权方式。上图清晰地对比了Sparse/Dense与Off-Policy/On-Policy两维划分下的四种方法及其数学形式。
1. 目标函数回顾
1.1 监督微调(SFT)
SFT的目标是最大化在离策略(固定)数据集 𝒟 上的对数似然,即最小化负对数似然损失:
ℒ_SFT(θ) = -𝔼_{(x,y*)~𝒟} [ log πθ(y* | x) ]
展开到token级别:
ℒ_SFT(θ) = -𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} log πθ(y*_t | x, y*_{<t}) ]
1.2 离策略蒸馏(Off-Policy Distillation)
离策略蒸馏的目标是最小化学生策略 π_θ 与教师策略 π_teacher 在固定数据集 𝒟 上的KL散度:
ℒ_off-policy(θ) = 𝔼_{(x,y*)~𝒟} [ D_KL( π_teacher(·|x, y*_{<t}) || π_θ(·|x, y*_{<t}) ) ]
展开到token级别:
ℒ_off-policy(θ) = 𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} Σ_{y'_t∈V} π_teacher(y'_t | x, y*_{<t}) log ( π_teacher(y'_t | x, y*_{<t}) / π_θ(y'_t | x, y*_{<t}) ) ]
在常用的前向KL散度(Forward KL)下,该目标等价于最小化交叉熵(Cross-Entropy, CE),因为教师分布是固定的:
ℒ_off-policy(θ) ≈ -𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} Σ_{y'_t∈V} π_teacher(y'_t | x, y*_{<t}) log π_θ(y'_t | x, y*_{<t}) ]
1.3 强化学习(RL)(本质上是同策略SFT)
RL的目标是最大化在某种环境或奖励函数下的期望回报:
ℒ_RL(θ) = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ r(x, y) ]
以GRPO(Group Relative Policy Optimization)为例,其奖励估计采用序列级别的组内优势(advantage):
ℒ_GRPO(θ) = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ A(x, y) ]
其中,优势函数 A(x,y) 的计算涉及重要性采样比率 ρ_t。
1.4 同策略蒸馏(On-Policy Distillation)
同策略蒸馏旨在最小化学生策略 π_θ 与教师策略 π_teacher 在学生策略自身生成的轨迹分布上 的KL散度:
ℒ_on-policy(θ) = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ D_KL( π_teacher(·|x, y_{<t}) || π_θ(·|x, y_{<t}) ) ]
展开为:
ℒ_on-policy(θ) = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) log ( π_teacher(y'_t | x, y_{<t}) / π_θ(y'_t | x, y_{<t}) ) ]
同样采用前向KL,但由于期望分布依赖于策略本身,其梯度不能简单地写成交叉熵损失。不过,在同策略蒸馏中,通常不对采样过程(即 y~π_θ 这一部分)求梯度(视为stop-gradient),因此最终优化的目标近似为:
ℒ_on-policy(θ) ≈ -𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) log π_θ(y'_t | x, y_{<t}) ]
2. 梯度对比
单看目标函数,上述四者的联系似乎不甚清晰。让我们从梯度的角度来审视它们的关系,这能揭示更本质的共性——它们都在调整模型输出对数概率的梯度方向,只是加权方式不同。
2.1 SFT 的梯度
目标函数:ℒ_SFT(θ) = -𝔼_{(x,y*)~𝒟} [ log πθ(y* | x) ]
梯度推导:
∇_θ ℒ_SFT = -𝔼_{(x,y*)~𝒟} [ ∇_θ log π_θ(y* | x) ]
= -𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} ∇_θ log π_θ(y*_t | x, y*_{<t}) ]
2.2 Off-Policy Distillation 的梯度
目标函数:ℒ_off-policy(θ) ≈ -𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} Σ_{y'_t∈V} π_teacher(y'_t | x, y*_{<t}) log π_θ(y'_t | x, y*_{<t}) ]
梯度推导:
∇_θ ℒ_off-policy ≈ -𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} Σ_{y'_t∈V} π_teacher(y'_t | x, y*_{<t}) ∇_θ log π_θ(y'_t | x, y*_{<t}) ]
2.3 RL 的梯度
目标函数:ℒ_RL(θ) = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ r(x, y) ]
梯度推导(策略梯度定理):
∇_θ ℒ_RL = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ r(x, y) ∇_θ log π_θ(y | x) ]
= 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} r(x, y) ∇_θ log π_θ(y_t | x, y_{<t}) ]
GRPO 形式:
∇_θ ℒ_GRPO = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} A(x, y_t) ∇_θ log π_θ(y_t | x, y_{<t}) ]
其中 A(x, y_t) 是 t 时刻的(组内)优势估计。
2.4 On-Policy Distillation 的梯度
目标函数:ℒ_on-policy(θ) ≈ -𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) log π_θ(y'_t | x, y_{<t}) ]
梯度推导(考虑stop-gradient后的简化形式):
记 CE_t = -Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) log π_θ(y'_t | x, y_{<t}),则梯度简化为:
∇_θ ℒ_on-policy ≈ -𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) ∇_θ log π_θ(y'_t | x, y_{<t}) ]
2.5 初步结论
- SFT 与 Off-Policy Distillation:
两者的梯度都基于固定的数据分布 (x,y*)~𝒟。区别在于,SFT使用一个“独热编码”(one-hot)式的加权,只优化标准答案 y*_t 对应的token对数概率;而Off-Policy Distillation则使用教师模型输出的完整概率分布 π_teacher(y'_t | ...) 进行加权,对所有可能的token都进行(不同程度的)优化,因此梯度信息更“稠密”。
- RL 与 On-Policy Distillation:
两者的梯度都基于模型自身采样得到的分布 (x~𝒟_x, y~π_θ)。RL使用一个标量奖励 r(x,y) 或优势 A(x, y_t) 对整条轨迹或每个时间步进行“稀疏”加权;而On-Policy Distillation则使用教师分布 π_teacher(y'_t | ...) 进行“稠密”加权。
注:本文讨论的是基于前向KL(Forward KL)的蒸馏,其核心是使用教师分布进行加权。如果是反向KL(Reverse KL),则变为使用学生分布进行加权,并且梯度公式中会多出一项。
3. 统一到同策略视角
为了进行更公平的比较,我们可以将SFT和Off-Policy Distillation的梯度(它们基于离策略数据)通过重要性采样(Importance Sampling)重写为同策略(on-policy)形式下的期望。
令重要性权重为 w(x,y) = π_θ(y|x) / π_ref(y|x),其中 π_ref 是生成原始数据 𝒟 的参考策略(对于SFT数据,可以视为某个专家策略或旧模型),I{(x,y)∈𝒟} 是指示函数,当 (x,y) 属于数据集 𝒟 时为1,否则为0。
SFT 梯度可重写为:
∇_θ ℒ_SFT = -𝔼_{x~𝒟_x, y~π_θ(·|x)} [ w(x,y) * I{(x,y)∈𝒟} * Σ_{t=1}^{|y|} one_hot(y_t) ∇_θ log π_θ(y_t | x, y_{<t}) ]
Off-Policy Distillation 梯度可重写为:
∇_θ ℒ_off-policy ≈ -𝔼_{x~𝒟_x, y~π_θ(·|x)} [ w(x,y) * I{(x,y)∈𝒟} * Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) ∇_θ log π_θ(y'_t | x, y_{<t}) ]
RL 的梯度为:
∇_θ ℒ_RL = 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} r(x, y_t) ∇_θ log π_θ(y_t | x, y_{<t}) ]
On-Policy Distillation 的梯度为:
∇_θ ℒ_on-policy ≈ -𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_teacher(y'_t | x, y_{<t}) ∇_θ log π_θ(y'_t | x, y_{<t}) ]
现在,这四种方法的梯度公式拥有了统一的形式框架:它们都是在模型自身采样分布下的期望,核心都是在优化 ∇_θ log π_θ(y_t | x, y_{<t}) 这一项,差别仅在于前面的加权系数不同。
- SFT 和 RL 是稀疏的:SFT只对数据集中出现的token进行加权(权重通过重要性采样调整),RL只对采样到的轨迹(或时间步)根据奖励进行加权。
- 两种 Distillation 是稠密的:它们利用教师模型,对词汇表中所有可能的token在每个时间步都根据其概率赋予了不同的优化权重。
- 从这个角度看,SFT 可以视为一种特殊的稀疏RL,其奖励函数为指示函数
I{(x,y)∈𝒟},即只对存在于高质量数据集中的序列给予正向奖励。
4. 补充:反向KL下的蒸馏梯度
对于更完整的理解,这里也给出在反向KL(Reverse KL)散度目标下,两种蒸馏方法的梯度形式(经过近似简化后):
Off-Policy Distillation (Reverse KL) 梯度近似为:
∇_θ ℒ_off-policy-RKL ≈ 𝔼_{(x,y*)~𝒟} [ Σ_{t=1}^{|y*|} Σ_{y'_t∈V} π_θ(y'_t | x, y*_{<t}) ∇_θ log π_θ(y'_t | x, y*_{<t}) ]
On-Policy Distillation (Reverse KL) 梯度近似为:
∇_θ ℒ_on-policy-RKL ≈ 𝔼_{x~𝒟_x, y~π_θ(·|x)} [ Σ_{t=1}^{|y|} Σ_{y'_t∈V} π_θ(y'_t | x, y_{<t}) ∇_θ log π_θ(y'_t | x, y_{<t}) ]
可以看到,在反向KL下,加权系数变成了学生模型自身的分布 π_θ,这与前向KL使用教师分布 π_teacher 加权的思路截然不同,也导致了不同的模型行为特性(例如前向KL倾向于覆盖教师的所有模式,而反向KL倾向于聚焦于一个主要模式)。
总结与参考
通过上述梯度视角的分析,我们可以将SFT、RL、离策略与同策略蒸馏统一到一个框架内来理解。它们本质都是通过梯度下降来调整模型策略 π_θ,差异核心在于梯度加权信号的来源与密度:是来自固定数据集的稀疏标准答案,是来自奖励模型的稀疏标量反馈,还是来自一个引导模型的稠密概率分布。理解这种内在联系,有助于我们在实际应用中根据数据、算力、模型目标灵活选择或组合这些深度学习与强化学习方法。
参考文献:
[1] Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models
https://arxiv.org/html/2601.18734v1
[2] Self-Distillation Enables Continual Learning
https://arxiv.org/html/2601.19897v1
[3] Reinforcement Learning via Self-Distillation
https://arxiv.org/html/2601.20802v1
[4] On the Generalization of SFT: A Reinforcement Learning Perspective with Reward Rectification
https://arxiv.org/abs/2508.05629
希望这篇从梯度角度进行的梳理,能帮助你更清晰地理解这些主流模型优化技术。如果你对这类统一视角下的技术分析感兴趣,欢迎在云栈社区参与更多讨论。