找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3702

积分

0

好友

510

主题
发表于 19 小时前 | 查看: 1| 回复: 0

我们在此讨论SFT、Off-Policy Distillation、RL、On-Policy Distillation之间的联系和区别。

  • 在RL没火的时候,我们提到distillation几乎都是Off-Policy Distillation。SFT和Off-Policy Distillation都是Off-Policy的,并且Off-Policy Distillation训出的模型肯定比SFT好。
  • RL火了之后,我们提到distillation逐渐变成了全部都是On-Policy Distillation。RL和On-Policy Distillation 都是On-Policy的,并且On-Policy Distillation比RL更有优势。

Off-Policy Distillation到On-Policy Distillation好理解,核心区别是student策略和teacher策略在不同的数据集下进行对齐。那么SFT到RL怎么理解呢?我的想法是RL相当于On-Policy SFT,这可以从策略梯度上得到论证。

Objective回顾

1. SFT(Off-Policy SFT)

SFT的objective旨在最大化在Off-Policy数据集上的负对数似然:

SFT损失函数公式

展开有:

展开的SFT损失函数公式

2. Off-Policy Distillation

Off-Policy Distillation旨在最小化学生策略 π_θ 与教师策略 π_teacher 在固定数据集 D 上的KL散度:

Off-Policy Distillation损失函数公式

展开有:

展开的Off-Policy Distillation损失函数公式

KL散度有很多种,也有很多研究,最常见的是Forward KLD。在Forward KLD下,KL散度等价为交叉熵:

Forward KL散度等价交叉熵公式

3. RL (本质上是On-Policy SFT)

RL的objective是最大化在一个环境下的奖励:

强化学习奖励目标公式

特别地,GRPO的reward估计采用sequence-level的组内优势:

GRPO优势估计公式

其中 ρ_t(θ) 是重要性采样比率。

4. On-Policy Distillation

On-Policy Distillation旨在最小化学生策略 π_θ 与教师策略 π_teacher 在学生策略自身生成的轨迹分布上的KL散度:

On-Policy Distillation损失函数公式

展开为:

展开的On-Policy Distillation损失函数公式

采用Forward KL,但是有策略梯度不能直接写成CE:

On-Policy Forward KL公式

但是On-Policy通常不考虑这一项策略梯度(认为采样过程是stop gradient的),于是:

简化的On-Policy蒸馏损失公式

梯度对比

直观上上面四个目标联系不大,但如果我们从梯度的角度来分析,就能看出它们之间的关系。

1. SFT

Objective:

SFT损失函数公式

梯度推导:

SFT梯度公式

2. Off-Policy Distillation

Objective:

Off-Policy Distillation目标公式

梯度推导:

Off-Policy Distillation梯度公式

3. RL

Objective:

强化学习损失目标公式

梯度推导(策略梯度定理,分布中有 θ ):

强化学习策略梯度公式

GRPO:

GRPO策略梯度公式

其中 Â(x, y≤t) 是t时刻的(组内)优势估计。

4. On-Policy Distillation

Objective:

On-Policy Distillation目标函数

梯度推导(策略梯度定理,分布中有 θ ):

On-Policy Distillation梯度推导

KL散度公式

理论上上面是KL,但是简化成CE了。则梯度可以化简为:

化简后的On-Policy蒸馏梯度

但是第一项通常不优化(采样过程在蒸馏下被认为是stop gradient的),因此:

简化后的On-Policy蒸馏梯度最终形式

5. 结论

SFT与Off-Policy Distillation: 在 ∇_θ log π_θ 的基础上,SFT直接使用one-hot,Off-Policy Distillation则是使用教师模型输出的分布进行加权。

RL与On-Policy Distillation: RL直接使用Reward对 ∇_θ log π_θ 进行one-hot加权,只有被采样到的token才有reward,而On-Policy Distillation则更加密集。

【注】: 本文讨论Forward KL,因此是使用teacher加权。如果是Reverse KL则是student加权,并且后面还会有一项。

将梯度统一到On-Policy下

SFT和Off-Policy Distillation的期望都是从Off-Policy的Data中采样,和On-Policy不太可比,因此我们使用重要性采样进行变形:

重要性采样变换公式

其中 I(y=y*) 是指示函数。

SFT 梯度可重写为:

On-Policy视角下的SFT梯度

Off-Policy Distillation梯度可重写为:

On-Policy视角下的Off-Policy蒸馏梯度

RL的梯度为:

On-Policy视角下的RL梯度

On-Policy Distillation的梯度为:

On-Policy Distillation梯度公式

所以上面四个目标的不同之处在于,∇_θ log π_θ 前面的权重不同。SFT和强化学习是稀疏的(只有特定路径有非零权重),Distillation是稠密的(对所有可能的token都有权重)。SFT可以视为奖励模型是 I(y=y*) 的稀疏RL。

补充在Reverse KL下Distillation策略的梯度

Off-Policy Distillation梯度可重写为:

Reverse KL下的Off-Policy蒸馏梯度

On-Policy Distillation的梯度为:

Reverse KL下的On-Policy蒸馏梯度

其核心项也是含有 ∇_θ log π_θ ,只是前面的加权方式不一样。

Reference

[1] Self-Distilled Reasoner: On-Policy Self-Distillation for Large Language Models(On-policy和SFT)

[2] Self-Distillation Enables Continual Learning(On-policy和SFT)

[3] Reinforcement Learning via Self-Distillation(On-policy和RL)

[4] On the Generalization of SFT: A Reinforcement Learning Perspective with Reward Rectification(SFT和RL)




上一篇:AI Agent开发范式转移:从代码调试到轨迹分析的实战指南
下一篇:Python requests库网络请求入门指南:实战获取免费天气API数据
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 22:08 , Processed in 0.353428 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表