@TheTuringPost: https://x.com/TheTuringPost/status/2068474648925216861
摘要
一篇关于知识蒸馏的教育性概述,涵盖其历史、核心概念(如softmax和温度)、类型、缩放定律以及包括DeepSeek-R1在内的实际示例。
查看缓存全文
缓存时间: 2026/06/21 04:33
关于知识蒸馏你需要知道的一切
最热门的基础话题之一。了解其核心理念、类型、扩展定律、实际案例以及深入学习的实用资源
在上一期,我们讨论了 “Smol” 系列模型以及它们通过高质量数据集混合来高效训练小型语言模型的策略。今天,我们将进一步探索小型模型的训练技术,因此正是讨论知识蒸馏 (KD) 的好时机。这一方法在十年前被提出,并持续演进。例如,DeepSeek 的进展,特别是 DeepSeek-R1 的高效蒸馏,近期为这一方法带来了广泛关注。
那么,KD 背后的核心理念是什么?它能够将知识从较大的模型(称为教师)迁移到较小的模型(称为学生)。这个过程使得小型模型能够继承大型模型的强大能力,避免了从头开始训练,让强大的模型更加易于获取。让我们来探索知识蒸馏如何随时间演变、如今存在的不同蒸馏类型、实现有效模型蒸馏的关键因素,以及掌握它的实用资源。
知识蒸馏作为一种技术是何时出现的?
知识蒸馏(KD)背后的思想可以追溯到 2006 年,当时 Bucilă、Caruana 和 Niculescu-Mizil 在他们的工作 “Model Compression” 中表明,一个模型集成可以压缩成一个更小且精度损失不大的单一模型。他们证明,一个笨重的模型(例如集成模型)可以有效地被一个更易于部署的精简模型替代。
后来在 2015 年,Geoffrey Hinton、Oriol Vinyals 和 Jeff Dean 在他们的论文 “Distilling the Knowledge in a Neural Network” 中创造了“蒸馏“这一术语。这个术语指的是将知识从一个大型复杂 AI 模型或集成迁移到一个更小、更快的 AI 模型(称为蒸馏模型)的过程。研究人员提出,不只是让小型模型在正确答案上训练,而是给它大型模型的概率分布。这有助于小型模型不仅学习正确答案是什么,还能学习大型模型对每个选项的置信度。这个训练概念与 softmax 函数密切相关,因此我们更精确地探讨一下其核心工作原理。
图片来源:“Knowledge Distillation: A Survey” 论文
图片来源:“Knowledge Distillation: A Survey” 论文
知识蒸馏的详细解释
首先,我们需要明确什么是 softmax。
它是一个在机器学习(尤其是神经网络)中使用的数学函数,用于将原始分数(称为 logits)转换为概率。它通过确保输出值之和为 1,使模型能够决定输入属于哪个类别,从而使结果可解释为概率。
softmax 中的一个重要参数是温度 (T)——它是一种控制模型预测置信度或不确定性的方式。它调整概率分布的尖锐程度——使其更自信(尖锐)或更不确定(平滑)。如果 T = 1,这是默认设置,表示正常的 softmax 行为,此时只有正确答案获得 100% 的概率。在这种情况下,softmax 产生硬目标。当温度升高 (T > 1) 时,softmax 产生软目标,意味着概率分布更分散或更平滑。
软目标对于蒸馏和训练非常有用,下面的蒸馏过程说明了原因。 它通常包括几个步骤:
-
首先,教师模型在原始任务和数据集上进行训练。
-
接着,教师模型产生 logits。这些 logits 通过使用较高温度的 softmax 函数转换为软目标,使概率分布更平滑。
-
然后,学生模型在这些软目标上训练,通常同时结合硬目标(真实标签),通过最小化学生输出分布与教师输出分布之间的差异来实现。
图片来源:“Knowledge Distillation: A Survey” 论文
图片来源:“Knowledge Distillation: A Survey” 论文
在这个过程中,学生不仅学会重现正确的答案,还学会教师对这些答案的相对置信度以及其错误。关于教师如何在错误类别间分配概率质量的知识,提供了丰富的信息,有助于学生更好地泛化。通过将真实标签上的标准训练损失与教师软标签上的蒸馏损失相结合,学生尽管参数远少于教师,仍能达到接近教师模型的准确率。
如果用一句话来总结核心理念,那就是:学生模型被优化以模仿教师的行为,而不仅仅是输出。
在 “Distilling the Knowledge in a Neural Network” 论文中还提出了另一种蒸馏方法,即匹配 logits。这种方法不是简单地复制概率,而是直接使小型模型的 logits 近似于大型模型的 logits。在高温设置下,该方法在数学上等价于标准蒸馏,两种方法都能带来类似的益处。
知识蒸馏的类型
我们探讨的只是该技术的两种选项,但 KD 可以根据从教师向学生迁移的是何种知识以多种方式应用。这些蒸馏类型在悉尼大学和伦敦大学研究人员的论文 “Knowledge Distillation: A Survey” 中得到了完美的阐述。因此常见技术包括:
-
基于响应的蒸馏(输出作为知识): 这正是我们上面讨论的方法。这种经典方法将教师的最终输出概率作为训练学生的目标。它在不同的 AI 任务中表现良好,如图像分类、目标检测和姿态估计。
-
基于特征的蒸馏(中间层作为知识): 学生不仅复制最终预测,还学习教师中间层或特征图的知识。这一思想在 “FitNets: Hints for Thin Deep Nets” 论文中被提出。可以将此技术视为学生学习教师逐步解决问题的过程。学生将其中间表示与教师的中间表示进行匹配,从而学习正确答案及其背后的推理。不同的方法,如注意力图、概率分布和层连接,有助于匹配教师和学生的特征。它特别能提升图像识别和目标检测等任务的性能。
3. 基于关系的蒸馏(关系作为知识): 学生模型学习模仿教师模型不同部分之间的关系——要么是层之间,要么是不同数据样本之间。例如,学生比较多个样本并学习它们的相似性。这种方法更复杂,但可以与多个教师模型协作,融合它们的知识。
这是基于蒸馏内容对三种概念的分类。但究竟如何在训练过程中迁移知识呢? 主要有三种方式:
-
离线蒸馏 —— 教师先训练好,然后教导学生。
-
在线蒸馏 —— 教师和学生一起学习。
-
自蒸馏 —— 学生向自身学习。
关于这些训练方案,你需要了解以下内容:
但这还不是全部。自从知识蒸馏概念出现以来,已经发展出许多不同的方法来改进知识迁移。
改进的算法……
阅读完整文章请点击此处 → https://www.turingpost.com/p/kd 以了解最有趣的先进算法、扩展定律以及知识蒸馏的优势与局限。
我们每周深入解释概念和方法。关注我们,第一时间了解最新的 AI 突破,并学习最重要的基础知识:https://www.turingpost.com/upgrade
相似文章
知识蒸馏中一致性信息丰富的软标签温度
提出CIST方法,在知识蒸馏中为教师和学生分配独立的样本自适应温度,生成一致性信息丰富的软标签,并放宽严格的logit尺度匹配。在视觉和语言任务上的实验表明,相比标准KD具有一致的改进。
重新思考温度在大语言模型蒸馏中的作用
本文重新审视了温度在大语言模型蒸馏中的作用,揭示出温度不对称地更有利于正向KL散度而非反向KL,使得简单的KL方法在较高温度下能够匹敌当前最先进的蒸馏方法。
@bqbrady: https://x.com/bqbrady/status/2064055370809778371
一篇关于现代深度学习的详细个人综述,聚焦于基础模型、视觉语言模型及其架构决策,面向那些希望获得直觉而非密集数学的读者。
@NielsRogge: 当前AI领域最热门的术语之一是"On-policy distillation"。这是一种后训练技术,其中学生模型…
On-policy distillation被强调为一种热门后训练技术,结合了蒸馏和在线RL,现已列入PapersWithCode,有183篇引用论文。
OPRD:在策略表示蒸馏
OPRD提出了一种新的知识蒸馏方法,该方法在策略部署期间跨层对齐学生和教师的隐藏状态,消除了来自词空间KL估计的采样方差。实验表明,OPRD在数学推理基准(AIME 2024/2025、AIMO)上优于输出空间基线,同时速度快1.44倍,内存使用减少54%。