我需要继续理解蒸馏的具体实现方式和优缺点。知识蒸馏的核心思路:大模型(教师)的输出概率分布包含了"软知识"——它知道"猫"的概率是0.7、“狗"是0.2、“老虎"是0.09。这些概率关系本身就是知识。让学生模型学习这些软标签,而不是只学硬标签。
蒸馏损失函数
总损失 = α × KL散度(学生输出, 教师输出) + (1-α) × 交叉熵(学生输出, 真实标签)。温度参数T控制softmax的平滑程度,T越高概率分布越"软”,学生能学到更多暗知识。通常T设为2-5。
实战流程
用教师模型对训练数据生成软标签。同时用真实标签训练学生模型。loss结合两种信号。训练完成后学生模型在推理时不需要教师模型。
蒸馏LLM
用GPT-4生成高质量的指令跟随数据,用这些数据微调Qwen-7B。虽然不是严格的概率蒸馏,但效果很好——这就是目前最流行的"蒸馏"方式。
效果预期
7B模型通过蒸馏可以在特定任务上接近70B模型的效果。关键是教师模型的质量和训练数据的覆盖度。蒸馏不损失推理速度,是性价比最高的模型优化方式之一。