Knowledge Distillation(知识蒸馏)

用一个更强的”教师模型”去训练一个较小/较弱的”学生模型”,让学生模仿教师的行为——不仅是最终答案,更是教师对输出的概率判断

是什么

Knowledge Distillation(KD)最早由 Hinton et al. (2015) 提出。核心思想是:

  • 教师模型(Teacher):一个已训练好的大模型,对输入 输出概率分布
  • 学生模型(Student):一个较小的模型,学习目标是

学生不仅学”正确答案是什么”,还学教师对不同答案的概率判断——这种隐藏在 softmax 输出中的细粒度信息被称为 dark knowledge(暗知识)

Dark Knowledge 的直觉

普通 SFT 用 hard label 训练:

输入:法国首都是哪里?
标签:巴黎 ✓,其他 ✗

模型只知道”巴黎正确,其他都错”。

KD 中,教师给出 soft label(概率分布):

巴黎:0.92
马赛:0.03
里昂:0.02
柏林:0.001

这告诉学生:

  • “巴黎”最对
  • “马赛/里昂”虽不对,但至少是法国城市,比”柏林”更接近
  • 不同错误之间存在相似度层级——这就是 dark knowledge

为什么重要

  1. 模型压缩:将大模型能力迁移到小模型,降低推理成本
  2. 信息效率:soft label 比 hard label 包含更丰富的监督信号( vs 为词表大小)
  3. 泛化提升:学生学到教师分布中的归纳偏置,往往比单独训练效果更好
  4. 能力迁移:将特定能力(数学、代码、安全、工具调用)从强模型蒸馏到弱模型

工作原理

三种主要蒸馏形式

1. Response-Level KD / Sequence-Level KD

教师先生成完整回答,学生用这些回答做 SFT。

Prompt: 解释一下牛顿第二定律
Teacher → "牛顿第二定律指出,物体的加速度与所受合外力成正比……"
Student → 用教师答案做 SFT

优点:简单、常用、不需要教师输出 logits 缺点:本质是”用教师数据做监督微调”,学生只看到最终答案,没学到推理过程

2. Logit KD / Token-Level KD

教师不仅给最终文本,还给每个 token 的概率分布。训练目标通常是最小化 KL 散度:

这是 Forward KL:mean-seeking,推动学生覆盖教师的所有高概率模式。

优点:信息密度高,能传递完整分布 缺点:需要教师 full logits(计算/存储成本高),师生 tokenizer 不同时麻烦

3. Reasoning Distillation

对于推理模型,蒸馏目标扩展为:

  • Chain-of-Thought 推理步骤
  • 数学证明路径
  • 代码推理过程
  • 工具调用轨迹
  • Agent planning 过程

让小模型不仅学会答案,更学会”大模型是怎么一步步思考的”。

Forward KL vs Reverse KL

KL 方向公式性质适用场景
Forward KLMean-seeking,覆盖教师所有模式传统 logit distillation
Reverse KLMode-seeking,锁定单一模式On-Policy Distillation,RL 结合

Reverse KL 的优势在于:只需教师对学生已采样 token 的 logprob,计算比 full distribution 便宜,且天然适合 policy-gradient 框架。但若学生从不采样教师想要的 token,reverse KL 难以”凭空教会”。

MiniLLM (Gu et al., 2023) 论证了 reverse KL 比 forward KL 更适合生成式 LLM 蒸馏,可缓解学生过度估计教师低概率区域的问题。

与相邻概念的区别

方法学什么信号形式轨迹来源
SFT人类/教师的标准答案Hard label(固定文本)教师或人类
KD教师的概率分布/行为Soft label(logits/logprobs)教师或静态数据
RL (PPO/GRPO)根据奖励优化行为标量 reward(稀疏)学生自己
OPD(On-Policy Distillation)在学生轨迹上蒸馏教师Token-level KD(密集)学生自己
DMD(分布匹配蒸馏)教师 score + fake score分布匹配(密集)学生自己

KD 与 SFT 的核心区别

SFT 教学生”答案是什么”;KD 教学生”老师是怎么判断的”。

KD 与 OPD 的关系

KD 是大类,OPD 是一种特殊的 on-policy KD:

  • 普通 KD:教师生成答案 → 学生模仿教师答案(off-policy)
  • OPD:学生先自己生成答案 → 教师在学生的生成轨迹上给信号 → 学生学习(on-policy)

所以:KD 是蒸馏方法的总称,OPD 是在 on-policy 条件下做 KD 的一种具体方法。

历史与演进

  • Hinton et al. (2015):提出 Knowledge Distillation 概念,引入 dark knowledge 和 temperature scaling
  • Sequence-Level KD (2019+):用教师生成的数据做 SFT,广泛用于 LLM 预训练/deployment
  • MiniLLM (Gu et al., 2023):论证 reverse KL 更适合生成式 LLM 蒸馏
  • On-Policy Distillation (2025):Thinking Machines Lab 系统化研究,将 KD 与 on-policy 采样结合
  • DMD / DiffRO (2025-2026):扩散/流匹配领域的分布蒸馏,token 级可微后训练

常见误解

  • “KD 就是用小模型模仿大模型” → 这只是最常见的用法。KD 也可以用于同规模模型的知识迁移、能力恢复、多教师蒸馏等场景。
  • “KD 一定比直接训练好” → 教师和学生能力差距太大时,KD 效果可能不如直接训练(学生”听不懂”教师)。
  • “KD 和 SFT 是同一回事” → SFT 用 hard label,KD 用 soft label(概率分布)。信息量差 vs
  • “Forward KL 和 Reverse KL 等价” → Forward KL 是 mean-seeking(覆盖所有模式),Reverse KL 是 mode-seeking(锁定单一模式)。在生成式任务中行为差异显著。

相关