一句话定义
在线策略蒸馏(On-Policy AI 词典:Distillation">Distillation,OPD)是一种把大模型能力迁移给小模型的训练方式:训练数据不是老师写好的标准答案,而是学生模型自己生成的轨迹,老师模型在这条轨迹的每一个 token 位置上给出打分或分布监督,学生据此更新。
普通蒸馏为什么不够
普通的知识蒸馏(Knowledge Distillation)大多是离线的:老师模型先跑一遍,生成一大批输入-输出对,学生做监督微调(SFT)去模仿。问题是学生学的全是老师走过的路——老师的用词、老师的中间状态。可一到推理,学生只能自己走,训练时见到的状态和推理时见到的状态对不上。它一旦在某个位置选了一个老师从没选过的词,就滑进了老师没示范过的区域,错误会一步步累积。这就是常说的暴露偏差(exposure bias)。
在线策略蒸馏怎么修
把顺序倒过来。先让学生自己 rollout,生成它自己的轨迹,哪怕写得磕磕绊绊;再把这条轨迹交回老师,在每一个前缀状态下问老师:"这个位置你会怎么分布?" 学生被训练去贴近老师在"学生当前状态"下的分布,而不是死记老师那句话。也有实现把老师的逐 token 打分当作奖励信号,放进强化学习(RL)的框架里做。
打个比方:学做菜。离线蒸馏是把大厨的菜谱抄十遍,考试时自己下厨;在线策略蒸馏是你站在灶台前做,大厨在旁边看着,你每放一勺盐他都纠正一句"咸了""这个火候该翻面"。纠的是你手上的动作,而且发生在你真实会走到的那条路上。
和相邻概念的区别
| 维度 | 离线/普通蒸馏 | 在线策略蒸馏 |
|---|---|---|
| 训练数据来自 | 老师模型 | 学生模型 |
| 纠错发生在 | 老师走过的状态 | 学生自己走到的状态 |
| 有没有采样循环 | 通常没有 | 有,每轮都要 rollout |
| 成本 | 较低,数据可复用 | 较高,每步都要老师前向 |
| 主要收益 | 学会模仿 | 缓解误差累积,对齐推理分布 |
它和 RLHF、RLVR 的区别在于:奖励信号来自老师模型,而不是人类标注或可验证规则。它和 SFT 的区别在于:数据分布是学生自己的"当前策略"——这正是 on-policy 这个词的来源。
对你的意义
对从业者:训练循环里多了一个采样环节,算力主要花在"学生生成 + 老师前向"上;工程上还要处理师生词表不一致的问题,常见做法是共享词表或做 logits 映射。这类方法常被用来把大模型的推理、代码、agent 能力搬进小模型,也用于模型压缩后的能力恢复。具体实现与超参以各家官方技术文档为准。
对普通人:端侧和中小参数模型这两年变聪明,一部分功劳就在这里——不是硬把小模型喂大,而是让它在自己真正会犯的错上被反复纠正。
