分布视角深度分析
所有后训练方法本质上都在做同一件事:重塑语言模型的输出分布。理解这个视角,就能看清方法之间真正的异同。
一、分布视角:LM = 分布,后训练 = 分布重塑
为什么这个思维模型很强大
语言模型本质上是一个在 token 序列上的概率分布 。后训练的所有方法——无论是 SFT、RL 还是蒸馏——最终都在修改这个分布。
这个视角的威力在于:
- 统一框架: 不同的后训练方法不再是黑箱,而是在分布空间中的不同”算子”。可以比较它们的梯度方向、更新范围、KL 走向。
- 遗忘本质变得清晰: 遗忘 = 分布在新旧任务之间发生了不可逆的偏移。SFT 的均匀梯度把所有概率质量拉向目标分布,旧分布的模式如果没有被目标分布覆盖就会被丢弃。
- 泛化差异可解释: SFT 只在教师分布的状态上学习,测试时学生分布与训练分布不匹配 → 复合误差(Ross et al.)。RL/OPD 在自己的分布上学习 → 状态分布匹配 → 更强的 rollout 稳定性。
分布重塑的几何直觉
想象模型分布是概率单纯形上的一个点。SFT 直接向目标分布”拉”,没有约束离起始点多远。RL 则是”在当前点的邻域内找最优的可行点”。OPD 让学生自行探索邻域,教师在这个邻域内进行校正。
二、前向 KL vs 反向 KL:模式覆盖 vs 模式寻求
数学定义
对于目标分布 和模型分布 :
-
前向 KL:
- 大的地方如果 小,惩罚重 → 强制 覆盖 的所有模式
- 等价于 SFT 的交叉熵损失
-
反向 KL:
- 大的地方如果 小,惩罚重 → 强制 只在 有支持的区域放置概率
- RL 隐式使用(奖励信号引导)
几何直觉
前向 KL (SFT): P ──────→ Q 全面覆盖,牺牲旧模式
反向 KL (RL): P → 最近的 Q 模式寻求,保留结构
└──邻域内搜索──┘
关键洞察:KL 惩罚移除后 RL 仍抗遗忘
作者做了一个重要的消融:即使移除 RL 中的显式 KL 惩罚项,RL 仍然比 SFT 遗忘更少。这意味着抗遗忘的关键不在于 KL 惩罚本身,而在于 on-policy 采样的隐式正则化效果——模型只能在自己生成的数据上学习,自然被约束在当前分布邻域内。
三、On-policy 作为隐式 KL 正则化
RL with binary reward ≈ rejection sampling
当奖励函数是二元的(0/1,即答案正确/错误)时:
- 从当前策略 采样大量 responses
- 保留 reward = 1 的样本,丢弃 reward = 0 的样本
- 在这些正样本上做监督学习
这正是 rejection sampling(拒绝采样)。可以证明,这个过程收敛到的策略是:
其中 是所有能解决任务的策略集合。即:在所有能解决问题的策略中,选择距离原始策略最近的。
约束条件的内在性
这个约束是内在的(intrinsic),不是人为添加的 KL 惩罚项。原因:
- Rejection sampling 只能从当前策略采样,无法探索分布远端
- 正样本在分布空间中聚集在策略附近
- 更新方向自然朝向最近的最优策略
与 SFT 的本质区别
SFT 假设存在一个”黄金标准”分布,然后把模型往那个方向拉——不管有多远。这忽略了两个事实:
- 可能有很多不同的分布都能解决同一个任务(最优策略不唯一)
- 距离越远的分布更新,对已有能力的破坏越大
四、为什么学生能超越教师
分布塑造(Distributional Shaping)
OPD 中,学生在自己前缀上接收教师信号。几个机制共同作用:
-
状态对齐: 教师在学生前缀上预测——这是学生实际会遇到的分布,而非教师的分布。避免了 SFT 中的分布失配。
-
模式坍缩可以是好事: 对于特定任务,如果模型围绕正确答案发生”模式坍缩”(减少替代选择的概率),这在评估指标上体现为性能提升。
-
教师提供置信度信息: KL 匹配保留了教师的整体分布结构——包括教师对各个 token 的不确定性、风格偏好、多解可能性。纯奖励信号只告诉你”对/错”,丢失了大量信息。
-
针对性监督: OPD 的梯度更新集中在学生实际生成的区域,而非教师分布的全空间。
教师质量的影响上限
实验中最惊人的发现:OPD 学生从 SFT 教师(pass@1=0.775,严重遗忘)和 RL 教师(pass@1=0.792,保持通用能力)学习,学生表现几乎相同。教师的质量差异没有传导给学生。
这意味着:只要教师能提供”足够好”的 token 级别分布监督,on-policy 属性主导了最终效果。教师的作用更多是提供”正确的方向感”,而非”完美的分布”。
五、信用分配问题
为什么信用分配是核心难题
对于推理任务,最终的 outcome reward(答案对/错)必须在数十到数千个 token 上分配信用。目前的方法各有局限:
| 方法 | 信用分配方式 | 问题 |
|---|---|---|
| Outcome Reward (RL) | 均匀化到所有 token | 信号过于稀疏;风格 token 和推理 token 被同等对待 |
| Process Reward Model (PRM) | 每个步骤评 reward | 标注成本高,难以扩展到开放领域任务 |
| Logit Distillation | 逐 token KL 匹配 | 系统性偏误:教师偏差、风格偏差、会强化教师错误 |
为什么 OPD 的信用分配更好(但不完美)
OPD 通过逐 token KL 匹配进行信用分配,比纯 outcome reward 密集,但比 SFT 更聚焦:
- 学生自己的生成过程决定了”哪些 token 需要监督”
- 教师提供全分布监督,而非标量奖励 → 信息更丰富
- 但核心问题仍在:如何区分”推理关键 token”和”风格无关 token”
作者的理想算法愿景
结合三种方法的长处:
- 蒸馏的密度:逐 token 丰富信号
- RL 的无偏性:on-policy 采样,不受教师分布约束
- On-policy 的约束性:自然保持分布接近,抗遗忘
目前尚无方法能完美结合三者。
六、SFT / RL / OPD 对比总表
| 维度 | SFT | RL | OPD |
|---|---|---|---|
| 目标分布 | 固定外部数据集 | 隐式:最近的最优策略 | 教师分布(on-policy 前缀上) |
| 数据来源 | 离线数据集 | On-policy 采样 | On-policy 采样 |
| KL 方向 | 前向 KL (mode-covering) | 反向 KL (mode-seeking) | 前向 KL(但 on-policy) |
| 遗忘程度 | 高(灾难性遗忘) | 低 | 低 |
| 泛化 | 差(分布失配 → 复合误差) | 好(状态分布匹配) | 好(状态分布匹配) |
| 更新密度 | 密集(每个 token 均匀) | 稀疏(仅正样本的 token) | 密集(但仅在 on-policy 区域) |
| 信用分配 | Token 级均匀 | 标量奖励(稀疏) | Token 级 KL(较丰富) |
| 教师依赖 | 强依赖数据质量 | 不依赖教师 | 依赖但上限较低 |
相关笔记
- summary — 博客文章概览
- method-comparison — 三种方法详细拆解与实现