Skip to content

知识蒸馏(Knowledge Distillation)入门

📅 主题:把“大模型能力”迁移到“小模型”的核心方法

一、什么是知识蒸馏

知识蒸馏(Knowledge Distillation) 是一种模型压缩与能力迁移方法:
让一个性能更强的 教师模型(Teacher) 指导一个更小、更快的 学生模型(Student) 学习,从而在较低成本下保留尽可能多的效果。

核心目标是三件事:

  1. 降成本:推理更快、显存占用更低
  2. 保效果:尽量接近教师模型性能
  3. 易部署:适配边缘端、移动端或高并发服务

二、为什么蒸馏有效

直接用硬标签训练(只告诉“对/错”)信息很少。
教师模型给学生的“软目标”通常更丰富,例如:

  • 类别概率分布(不仅是 top1)
  • 中间层表示
  • 注意力模式

这些信号包含“类间相似性”和教师的归纳偏好,能帮助学生学习到更平滑、更泛化的决策边界。


三、基本训练范式

经典蒸馏损失通常由两部分组成:

  1. 监督损失(学生 vs 真实标签)
  2. 蒸馏损失(学生 vs 教师输出)

常见形式(分类):

  • 总损失 = α * CE(y_true, y_student) + (1-α) * KL(p_teacher^T || p_student^T)
  • T 是温度(Temperature),用于软化概率分布

温度 T 的作用

  • T 越高,分布越平滑,能暴露更多“次优类别信息”
  • 训练后推理时通常用 T=1

四、常见蒸馏类型

4.1 响应蒸馏(Logits Distillation)

最常见,学生拟合教师输出 logits 或 softmax 分布。
实现简单,适合作为基线。

4.2 特征蒸馏(Feature Distillation)

学生对齐教师中间层特征(hidden states)。
适合提升表示学习能力,常用于视觉、语音、NLP 编码器任务。

4.3 注意力蒸馏(Attention Distillation)

让学生学习教师的注意力图或关系矩阵。
常用于 Transformer 系列模型压缩。

4.4 任务蒸馏(Task-specific Distillation)

在特定任务数据上蒸馏(如检索、分类、问答),可获得更高任务收益。


五、LLM 场景下的蒸馏实践

在大模型时代,蒸馏常见用途:

  1. 离线批量生成伪标签
    用强模型给数据打标,学生学习这些高质量“教师答案”。

  2. 指令蒸馏(Instruction Distillation)
    教师在大量指令任务上生成输出,学生学习“遵循指令”的行为模式。

  3. 推理链蒸馏(Reasoning Distillation)
    学习教师的解题步骤或结构化推理过程(可配合 CoT / 自检策略)。

  4. 多任务蒸馏
    一个学生统一吸收多个任务或多个教师模型能力。


六、蒸馏 vs 微调 vs 量化

方法主要目标典型收益典型代价
蒸馏小模型学大模型能力速度快、部署友好需要教师推理与蒸馏训练
微调让模型适配特定任务精度提升明显推理成本不一定下降
量化降低模型精度位宽显存/吞吐优化可能有精度损失

实际工程中常组合使用:

  • 先蒸馏得到小模型
  • 再做量化与推理优化

七、工程落地要点

7.1 先定义目标指标

蒸馏不是“越像教师越好”,要看业务目标:

  • 延迟(P95)
  • 吞吐(QPS)
  • 成本(GPU/CPU 单位请求成本)
  • 任务准确率 / 召回率 / 用户满意度

7.2 数据质量比技巧更重要

高质量蒸馏数据(覆盖场景、标签可靠)往往比复杂损失设计更关键。

7.3 学生模型容量要合适

学生太小会出现“容量瓶颈”,学不动教师能力;
太大又失去降本意义。要在效果与成本间平衡。

7.4 分阶段训练更稳

可采用:

  1. 先做 logits 蒸馏(打基础)
  2. 再加任务监督或特征蒸馏(提上限)

八、常见问题与规避

  1. 学生学不动

    • 调整温度 T、loss 权重 α
    • 增加学生容量或改蒸馏层对齐策略
  2. 离线指标好,线上效果差

    • 训练集分布与线上不一致
    • 需做线上回放数据蒸馏和 A/B 验证
  3. 蒸馏后任务偏科

    • 多任务数据不平衡
    • 需重采样或任务加权
  4. 收益不明显

    • 仅做蒸馏未做推理侧优化
    • 结合量化、编译优化、缓存策略才能放大收益

九、小结

  1. 知识蒸馏的本质是“让小模型学习大模型的知识分布与行为模式”。
  2. 经典做法是监督损失 + 蒸馏损失,温度 T 用于软化信息。
  3. 在 LLM 场景中,指令蒸馏和推理蒸馏是高价值方向。
  4. 蒸馏不是孤立技术,通常与量化、推理优化联合使用。
  5. 成功落地的关键是:明确业务指标、保证数据质量、做线上闭环验证。

当你想在成本受限条件下保留大模型体验,知识蒸馏通常是第一批应考虑的核心手段。

Released under the MIT License.