type
status
date
slug
summary
tags
category
icon
password
导读
在 LLM 的后训练(Post-Training)阶段,我们往往面临两难选择:是选择简单直接的 SFT(监督微调),还是选择效果更好但昂贵且不稳定的 RL(强化学习)?
Thinking Machines Lab 最新发布的博文提出了一种“鱼与熊掌兼得”的方案——On-Policy Distillation(在线蒸馏)。它结合了 RL 的在线探索优势和蒸馏的密集奖励信号,在数学推理任务上以 1/10 的成本 达到了与 RL 相当甚至更好的效果。
🔍 核心痛点:SFT 与 RL 的局限性
要训练一个特定领域的专家小模型(Student),我们通常依赖更强的教师模型(Teacher)。目前主流的方法主要分为两类:
- Off-policy Training (如 SFT/离线蒸馏):
- 做法: 学生模仿老师生成的完美答案(Trajectories)。
- 缺点: 存在分布偏移(Distribution Shift)。学生模型是在老师的“舒适区”学习,一旦学生自己推理时犯错,进入了老师未曾涉足的状态,就会因为不知道如何挽救而导致错误累积。就像学下棋只看大师对弈,自己下的时候一旦走偏就崩盘。
- On-policy Training (如 RL):
- 做法: 学生自己尝试生成答案,根据结果给予奖励。
- 缺点: 反馈稀疏。RL 通常只在结尾给出一个分数(对/错),信息量极低(每个 Episode 仅 1 bit 信息)。学生知道“错了”,但不知道具体哪一步错了。且训练极其昂贵。
💡 新解法:On-Policy Distillation (在线蒸馏)
On-Policy Distillation 的核心理念非常直观:让学生模型自己生成回答(On-policy),然后由教师模型对每一个 Token 进行评分(Distillation)。
打个比方:
- RL 像是你独自下棋,没人指导,只有输赢结果。
- 离线蒸馏 像是你在旁边看特级大师下棋,但没机会上手。
- On-Policy Distillation 像是特级大师坐在你旁边看你下棋。你走的每一步(Token),大师都会立刻告诉你这步是“妙手”还是“臭棋”(通过计算 Reverse KL 散度)。
这种方法结合了 RL 的相关性(纠正学生自己的错误)和蒸馏的高密度反馈(每一步都有指导)。
📊 实验效果:降本增效
文章在数学推理任务(Qwen3-8B-Base 学生模型,Qwen3-32B 教师模型)上进行了验证,结果令人印象深刻:
1. 性能比肩 RL,成本仅为 1/10
在 AIME'24 基准测试中:
- SFT (Off-policy): 55.0% (基线)
- RL (强化学习): 67.6% (消耗 17,920 GPU hours)
- On-Policy Distillation: 74.4% (仅消耗 1,800 GPU hours)
通过计算 Reverse KL(反向 KL 散度)作为损失函数,学生模型能迅速逼近教师模型的分布。
2. 计算效率提升 30 倍
相比于为了提升 SFT 效果而盲目堆砌数百万条数据,On-Policy Distillation 在给定 SFT 初始化的情况下,能实现 9-30 倍 的计算成本缩减。
3. 拯救“灾难性遗忘”
在企业私有化部署场景中,我们常遇到一个难题:微调模型学习内部文档(新知识)后,往往会丧失通用的指令遵循(Chat)能力。
实验表明,利用 On-Policy Distillation,可以让模型在学习领域知识的同时,恢复接近 100% 的指令遵循能力(IF-eval)。它就像一个强力的正则化工具,确保模型在学习新知识时不会“变傻”。
🛠️ 技术实现细节
实现逻辑其实非常简洁,完全构建在现有的 RL 框架之上:
- 采样 (Sample): 学生模型生成一条轨迹(Trajectory)。
- 打分 (Reward): 教师模型计算该轨迹上每个 Token 的对数概率(Logprobs)。
- 计算损失: 使用 Reverse KL 作为 Loss。
$$KL(\pi_\theta || \pi_{teacher}) = E[\log \pi_\theta - \log \pi_{teacher}]$$
简单来说,就是惩罚学生产生“老师认为概率很低”的 Token。
- 更新: 通过 RL 的算法(如重要性采样)更新学生模型。
代码片段示意:
Python
💭 深度思考:为什么它有效?
文章最后提出了几个发人深省的观点:
- RL 是在搜索语义策略 (Semantic Strategies): RL 的计算量大部分花在了“搜索”上(Rollout),而不是参数更新。一旦 RL 找到了好的策略,用蒸馏的方法教给学生是最高效的。
- 密集奖励的价值: RL 每个 Episode 只提供 O(1) 的信息量,而 On-Policy Distillation 提供 O(N) 的信息量(N 为 Token 数)。这就是为什么它收敛速度比 RL 快 10 倍以上的原因。
- 持续学习的利器: 传统的 SFT 在使用模型生成的数据进行自我训练时,容易出现模型坍塌或偏差累积。而 On-Policy Distillation 锚定了一个固定的教师分布,非常适合作为持续学习(Continual Learning)的手段。
总结
Thinking Machines 的这项工作证明,On-Policy Distillation 是 Post-Training 阶段极具性价比的选择。 它不需要复杂的 Reward Model,不需要昂贵的 PPO 调优,只需要一个好的 Teacher 模型和简单的 KL 散度约束,就能让小模型快速具备专家能力。
对于大多数没有几千张卡资源的团队来说,这或许是训练垂直领域模型的最佳实践。