大模型蒸馏技术:让小模型拥有大智慧
知识蒸馏是连接大模型和小模型的桥梁——让小模型以更低的成本获得接近大模型的能力。2026年,蒸馏技术已经从简单的输出模仿发展到多维度的知识传递,成为模型部署流程中不可或缺的一环。
蒸馏的基本原理
知识蒸馏的核心思想是让student模型学习teacher模型的行为。最基础的形式是软标签蒸馏:teacher模型对每个输入输出一个概率分布(软标签),student模型不仅学习正确答案,还学习teacher的输出分布。
软标签比硬标签(正确答案)包含更多信息。例如,在情感分类中,teacher可能输出"正面:0.7, 中性:0.2, 负面:0.1"。这个分布告诉student:这个样本倾向于正面,但与中性也有一定相似度——这种"暗知识"是硬标签无法提供的。
蒸馏方法的演进
输出层蒸馏
最早的蒸馏方法只关注最终输出。KL散度损失函数让student的输出分布逼近teacher的输出分布:
L = α * KL(softmax(z_t/T) || softmax(z_s/T)) + (1-α) * CE(y, z_s)
其中z_t和z_s分别是teacher和student的logits,T是温度参数,α是损失权重。
温度T的作用至关重要。T=1时,蒸馏等同于标准训练;T较大时,软标签中的"暗知识"被放大,student能学到更多teacher的细微判断。最佳温度通常在2-10之间,需要根据任务调整。
中间层蒸馏
输出层蒸馏的局限是student只能在最终输出层面模仿teacher。但如果teacher和student的架构差异较大,输出层面的模仿可能不够有效。
中间层蒸馏让student的隐藏层表示逼近teacher的隐藏层表示。由于两个模型的隐藏层维度可能不同,通常需要一个线性映射将student的隐藏层投影到teacher的维度:
L_hidden = MSE(W * h_s, h_t)
其中W是可学习的映射矩阵,h_s和h_t分别是student和teacher的隐藏层输出。
中间层蒸馏显著提升了student的性能——在我们的实验中,相比纯输出蒸馏,中间层蒸馏让student在推理任务上的准确率额外提升5-8个百分点。
注意力蒸馏
注意力蒸馏让student学习teacher的注意力分布。teacher的注意力模式包含了它"关注什么"的信息——这对理解teacher的推理过程很有价值。
注意力蒸馏在机器翻译等任务上特别有效,因为对齐信息(源语言的哪个词对应目标语言的哪个词)主要体现在注意力分布中。
渐进式蒸馏
渐进式蒸馏不是一次性蒸馏,而是分阶段进行:先用简单任务蒸馏,再逐步引入更复杂的任务。这类似于人类学习的"从易到难"过程。
在渐进式蒸馏中,每个阶段的teacher可以提供不同形式的指导:简单阶段提供软标签,复杂阶段提供推理过程(CoT),最复杂阶段提供完整的解题轨迹。
蒸馏大模型到小模型
选择合适的teacher-student对
不是所有大模型都适合做teacher,也不是所有小模型都适合做student。选择原则:
Teacher选择:选择在目标任务上表现最好、输出分布最平滑的模型。输出分布越平滑,暗知识越丰富。经过RLHF训练的模型输出分布往往较尖锐(过度自信),不是最佳teacher。我们通常使用base模型(未经RLHF)作为teacher。
Student选择:student的架构应与teacher尽量相似,以最大化知识迁移效率。如果teacher是Transformer decoder,student也应该是。层数和宽度可以缩减,但基本结构应保持一致。
数据选择
蒸馏数据的质量和多样性比数量更重要。我们使用以下策略构建蒸馏数据集:
Teacher生成数据:让teacher模型生成大量高质量的回答,作为student的训练数据。这比使用原始训练数据更有效,因为teacher的输出已经包含了它的"知识"。
难度分层:按任务难度对数据进行分层,确保student逐步学习从简单到复杂的模式。
领域覆盖:确保蒸馏数据覆盖student需要处理的所有领域。如果student主要用于代码生成,蒸馏数据应以代码为主。
实践效果
我们将一个70B模型蒸馏到7B模型,结果如下:
| 指标 | Teacher (70B) | Student (7B) | Student (7B, 从头训练) |
|---|---|---|---|
| MMLU | 78.5 | 71.2 | 62.3 |
| GSM8K | 85.1 | 74.6 | 58.2 |
| HumanEval | 72.3 | 65.8 | 51.4 |
蒸馏相比从头训练的提升约9-16个百分点,且student的推理速度约为teacher的10倍。
Agent蒸馏
最新的蒸馏方向是"Agent蒸馏"——不只蒸馏模型的语言能力,还蒸馏其Agent行为。包括:
工具使用模式:让student学习teacher在什么情况下调用什么工具、如何构造工具参数。
推理链模式:让student学习teacher的推理步骤和决策逻辑。
错误恢复模式:让student学习teacher在遇到错误时如何调整策略。
Agent蒸馏比传统的文本蒸馏复杂得多,因为它需要蒸馏的是行为序列而非静态输出。但它也更有价值——Agent能力的提升对实际应用的影响更大。
结语
知识蒸馏是大模型时代的关键技术——它让大模型的能力以更低的成本惠及更广泛的应用场景。随着蒸馏技术的不断进步,小模型与大模型之间的能力差距正在缩小。未来的方向可能是"自适应蒸馏"——根据部署环境的资源约束,动态选择蒸馏程度,在能力和效率之间找到最优平衡点。
本文同步发布于 硅基AGI论坛