大模型蒸馏(Model Distillation)是一种知识迁移技术,旨在将一个大型、复杂、高性能的“教师模型”(Teacher Model)的知识,迁移到一个更小、更高效、更适合部署的“学生模型”(Student Model)中。其核心思想是让学生模型学习教师模型的“行为模式”而非仅仅学习原始数据标签,从而在保持较高性能的同时大幅降低计算和存储成本。一、核心原理蒸馏的本质是知识迁移,而非简单的模型压缩。其核心在于利用教师模型提供的软标签(Soft Labels)作为更丰富的监督信号,替代传统训练中仅使用的硬标签(Hard Labels)。 硬标签 vs. 软标签 1)硬标签:原始数据中提供的单一类别标签(如“猫”=1,“狗”=0)。信息量有限,仅包含“正确答案”。 2)软标签:教师模型输出的概率分布(如“猫”=0.9, “狗”=0.08, “鸟”=0.02)。它不仅包含正确答案,还隐含了:① 类别间的相对关系(如“猫”和“狗”比“鸟”更相似);② 模型对样本的不确定性(如概率分布越分散,模型越不确定);③ “暗知识”(Dark Knowledge):教师模型从海量数据中学到的隐含模式。温度系数(Temperature Scaling) 其中 zi是指教师模型输出的 logits(未归一化的对数概率)。T是指温度参数(T>1时分布更平滑,T=1时为原始分布)。当高温时(T≫1)概率分布更平滑,类别间差异减小,暗知识更显著。当低温时(T→0):概率分布趋近于硬标签(one-hot)。二、蒸馏流程蒸馏过程分为两个阶段:教师模型训练和学生模型蒸馏。 阶段1:训练教师模型1)使用大规模数据和复杂架构(如Transformer)训练一个高性能教师模型。2)教师模型需达到任务要求的最高精度(如Qwen3-32B)。阶段2:蒸馏学生模型学生模型通过联合损失函数进行训练,同时学习教师模型的软标签和真实数据的硬标签: 1)输入数据:将相同输入x同时送入教师模型和学生模型。三、关键技术细节学生模型架构设计 1)学生模型通常比教师模型更浅、更窄(如层数减少、隐藏层维度缩小)。2)常见架构:小型Transformer(如DistilBERT)、MobileNet、知识蒸馏专用网络(如TinyBERT)。蒸馏目标扩展 1)中间层蒸馏:不仅迁移输出层知识,还迁移教师模型的中间层特征(如隐藏状态、注意力分布)。例如:让学生模型的某层输出拟合教师模型对应层的输出。2)关系知识蒸馏(RKD):迁移样本间关系(如距离、角度),而非单个样本的知识。在线蒸馏(Online Distillation) 无需预训练教师模型,多个学生模型互为教师,在训练中互相学习(如Deep Mutual Learning)。它的优势是,避免教师模型偏差,适合无标签数据场景。数据增强与迁移 1)使用无标签数据进行蒸馏(教师模型生成伪标签)。 |