在大型语言模型中,蒸馏通常发生在两个阶段:

1. 预训练阶段:

同时训练大型的“教师模型”和较小的“学生模型”。
例如,Llama 4 就采用了这种方式。

2. 后训练阶段:

先训练好大型的“教师模型”,再将其知识蒸馏到小模型中。
例如,DeepSeek 团队就将 DeepSeek-R1 的知识蒸馏到了 Qwen 和 Llama 3.1 中。

你也可以在两个阶段都应用蒸馏,就像 Gemma 3 所做的那样。

三种常用的蒸馏技术:

3.1 软标签蒸馏(Soft-label Distillation)

使用一个已训练好的教师模型对整份语料生成 softmax 概率分布(即“软标签”)。
同时也将相同的数据输入未经训练的学生模型,获取它的 softmax 概率分布。
训练学生模型,使其输出尽可能匹配教师模型的概率分布。
可见的 softmax 概率可以最大化地实现知识(或推理能力)的迁移。

不过,这种方法有个问题:
你必须能访问教师模型的权重,才能获取完整的输出概率分布。
即使你能访问,还有另一个挑战:
假设你的词表大小是 10 万个 token,语料总量为 5 万亿个 token。
由于每个 token 都需要生成整个词表上的 softmax 概率,在 float8 精度下,存储所有“软标签”大约需要 500 万 GB 的内存。

这时,就可以考虑第二种技术。

3.2 硬标签蒸馏(Hard-label Distillation)

使用一个固定的已训练教师模型,只获取最终预测的 one-hot 输出 token(即“硬标签”)。
使用未经训练的学生模型对相同数据获取 softmax 概率。
训练学生模型,使其输出概率尽可能匹配教师模型的 one-hot 标签。
DeepSeek 就是采用这种方式,将 DeepSeek-R1 蒸馏到了 Qwen 和 Llama 3.1 中。

3.3 协同蒸馏(Co-distillation)

从一个未经训练的教师模型和一个未经训练的学生模型开始。
对当前 batch 的输入,两者都生成 softmax 概率分布。
教师模型按常规使用“硬标签”训练。
学生模型则训练使其概率分布尽可能匹配教师模型的 softmax 输出。
Llama 4 就是用这种方式,从 Llama 4 Behemoth 中训练出了 Llama 4 Scout 和 Maverick。

当然,在初始阶段,教师模型本身的 softmax 输出也不太准确。
因此,学生模型的训练会同时参考教师的“软标签”与真实的“硬标签”。

温度系数调节

温度系数(Temperature Scaling)
作用:调节软标签的“平滑度”,暴露更多暗知识。
在这里插入图片描述其中 zi是指教师模型输出的 logits(未归一化的对数概率)。T是指温度参数(T>1时分布更平滑,T=1时为原始分布)。

  • 当高温时(T≫1)概率分布更平滑,类别间差异减小,暗知识更显著。
  • 当低温时(T→0):概率分布趋近于硬标签(one-hot)。

知识传递的方式与策略

在具体的蒸馏过程中,可以根据不同的需求选择多种策略:

离线蒸馏

教师模型在训练完成后保持固定状态,学生模型单独进行训练。
这种模式类似于传统的教学方式,教师的知识已经固化,学生通过模仿学习掌握技能。

  • 优点:易于实现,适合大规模部署
  • 缺点:需要大量标注数据

GPT 提供的蒸馏方案,就属于这种类型的。
链接:https://arxiv.org/abs/2212.10560
链接:https://platform.openai.com/docs/guides/distillation

在线蒸馏

教师和学生模型同时参与训练过程,两者互相影响、共同优化。
这种方法更接近于师生互动的教学场景。

  • 优点:能够充分利用教师的实时反馈
  • 缺点:实现复杂度较高

自蒸馏

同一个模型既当老师又当学生,即同一模型的不同部分之间进行知识传递,例如利用中间层特征作为监督信号。

  • 优点:不需要额外的教师模型
  • 缺点:需要精心设计内部结构

在选择具体策略时,需要综合考虑计算资源、数据规模和性能需求等因素。
案例:Target-driven Self-Distillation for Partial Observed Trajectories Forecasting 提出了一种目标驱动的自蒸馏方法,用于部分观测轨迹预测任务,通过自蒸馏使模型能够从自身预测结果中学习,提升预测精度

知识的载体与形式

模型蒸馏不仅仅是简单的参数复制,更涉及到多维度的知识传递。
常见的知识表示形式包括:

结果型知识(输出层知识)

这是最直接的方式,通过对比教师和学生的输出概率分布来衡量差异。
这种方法适用于分类等任务。
示例:用户商品偏好知识学习。
Preference-Consistent Knowledge Distillation for Recommender System 链接:https://arxiv.org/pdf/2311.04549

特征型知识(中间层特征)

基于特征的知识蒸馏方法的目标是训练学生模型学习与教师网络相同的特征。
基于特征的蒸馏损失函数用于测量,然后最小化两个网络的特征激活之间的差异。
例如,在主要用于图像分割等计算机视觉任务的卷积神经网络中,随着数据在网络中传输,每个连续的隐藏层都会逐渐捕获更丰富的细节。
在用于按物种对动物图像进行分类的模型中,最早的隐藏层可能只是辨别照片的一部分中存在动物形状;中间的隐藏层可能会辨别出动物是鸟类;最后的隐藏层(就在输出层之前)将辨别出区分一种鸟类与另一种密切相关物种的细微细节。
示例:Contrastive Learning Rivals Masked Image Modeling in Fine-tuning via Feature Distillation 地址:https://arxiv.org/abs/2205.14141

规律型知识(关系知识)

捕捉样本之间的关系或特征间的关联性,例如通过对比学习的方式传递相似性信息。代表了训练学生网络以模拟教师模型的“思维过程”的综合方法。
这些关系和相关性可以通过多种方式进行建模,包括特征图之间的相关性、表示不同层之间相似性的矩阵、特征嵌入或特征表示的概率分布。
示例:A Unified View of Masked Image Modeling一种基于语言辅助表示的掩码图像预训练方法,旨在通过利用图像的文本描述来减少对大规模标注数据集的依赖。 链接:https://arxiv.org/abs/2210.10615

模型蒸馏的落地应用

实际场景中的成功案例

  • 移动端自然语言处理:使用蒸馏技术将大规模语言模型压缩为适合手机运行的小模型。用户可以在本地完成文本生成、机器翻译等任务,无需依赖云端。
  • 工业界的应用探索:在图像识别领域,通过蒸馏优化边缘设备的部署效率。在推荐系统中,利用蒸馏技术提升实时响应速度。

如何衡量蒸馏效果?

性能评估:对比蒸馏前后的模型在相同任务上的准确率、F1值等指标。
资源消耗分析:比较两者的计算资源需求(如GPU内存占用、推理时间等)。

实际应用中的挑战知识传递的完整性:

如何确保学生模型能够继承教师的所有关键知识点?
蒸馏效率的优化:如何在有限的时间内完成高效的蒸馏过程?

未来发展的可能性

与其它技术的结合联邦学习(Federated Learning):

在数据隐私保护的前提下,通过蒸馏技术实现知识共享。
边缘计算(Edge Computing):利用蒸馏模型提升边缘设备的智能化水平。(

更高效的蒸馏方法

自适应蒸馏:根据具体任务需求动态调整蒸馏策略。
多教师学习:引入多个教师模型,进一步丰富知识来源。

应用场景的拓展

跨模态学习在图像、文本等多种数据类型之间进行知识传递。
参考论文地址:https://arxiv.org/pdf/2305.1765

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐