什么是知识提炼?

作者

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

什么是知识提炼?

知识提炼是一种机器学习技术,旨在将大型预先训练的“教师模型”的学习转移到较小的“学生模型”。它在深度学习中用作模型压缩和知识转移的一种形式,特别是对于大规模深度神经网络。

知识提炼的目标是训练出一个更紧凑的模型,来模拟更大、更复杂的模型。传统深度学习的目标是训练人工神经网络,使其预测更接近训练数据集中提供的输出示例,而提炼知识的主要目标是训练学生网络以匹配教师网络做出的预测。

知识提炼 (KD) 最常应用于具有多层和可学习模型参数的大型深度神经网络。这一过程使其与具有数十亿参数的大规模生成式 AI 模型的持续激增息息相关。

这一概念源于 2006 年一篇名为“模型压缩”的论文。Caruana 等人使用当时最先进的分类模型,即一个由数百个基本级分类器组成的大型集成模型来标记一个大型数据集,然后通过传统的监督学习在新标记的数据集上训练单个神经网络。这个紧凑型模型“体积小一千倍,速度快一千倍”,性能堪比整个系统。1

此后,知识提炼技术已成功应用于多个领域,包括自然语言处理 (NLP)语音识别、图像识别和对象检测。近年来,知识提炼研究对大型语言模型 (LLM) 尤为重要。对于 LLM 来说,KD 已经成为将高级功能从领先的专有模型转移到更小、更易于访问的开源模型的有效手段。

专家为您带来最新的 AI 趋势

获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此处管理您的订阅或取消订阅。有关更多信息,请参阅我们的 IBM 隐私声明

为什么知识蒸馏很重要?

在许多现实世界的环境中,人工智能模型的准确性和容量本身不足以使模型变得有用:它还必须适合可用的时间、内存、金钱和计算资源预算。

对于大多数实际用例来说,给定任务的顶级性能模型通常太大、太慢或太昂贵,但通常具有独特的品质,这些品质来自其规模和对大量训练数据进行预训练的能力。这些涌现的能力在自回归语言模型(如 GPTLlama)中尤为明显,这些模型表现出的能力超出了其明确的训练目标,即简单地预测序列中的下一个单词。相反,小型模型速度更快、计算要求更低,但缺乏具有更多参数的大型模型的准确性、精细度和知识能力。

在 2015 年的开创性论文“在神经网络中提炼知识”中,Hinton 等人提出将训练分为具有两个不同目的的不同阶段,从而规避这些限制。作者做了个比喻:许多昆虫的幼虫形态经过优化,可从环境中获取能量和营养,而成虫形态完全不同,它们的优化是为了移动和繁殖。传统的深度学习在训练和部署阶段都使用相同的模型,但是它们有不同的要求。

Hinton 等人从自然界和 Caruana 等人的工作中汲取灵感,提出如果训练繁琐的大型模型是从数据中提取结构的最佳方式,那么这种方法就是值得的,但引入了一种不同的训练,即提炼,将这些知识迁移到更适合实时部署的小型模型中。2

知识提炼技术不仅要复制教师模型的输出,还要模仿它们的“思维过程”。在 LLM 的时代,知识提炼使风格、推理能力以及与人类偏好和价值观保持一致等抽象品质的迁移成为可能。3

此外,从根本上说,较小的模型更容易解释:在具有数千亿个参数的模型中,很难解读神经网络不同部分的贡献。将大型“黑匣”模型学习的表示转移到更简单的模型有助于阐明医学诊断和分子发现等领域的变革性洞察。4

AI 学院

面向企业的生成式 AI 的兴起

了解生成式 AI 的历史兴起及其对企业的意义。

知识提炼是如何进行的?

知识提炼 (KD) 不依赖于任何特定的神经网络架构,甚至也不要求教师网络和学生网络具有相同的架构:它可以应用于任何深度学习模型。

KD 利用人工神经网络是“通用近似器”这一事实:只要有足够多的训练数据和足够大的隐藏层,神经网络就可以将任何函数近似到任意精度。5

在传统的机器学习中,经训练模型的“知识”是通过它学习的参数进行识别的:应用于整个神经网络中发生的不同数学运算的可变权重(和偏差),这些权重和偏差会放大或减弱网络输出的某一部分对另一部分的影响。这种知识观使得很难看出一个模型如何吸收另一个不同大小和结构的模型的知识。

Hinton 等人改为应用了一种更抽象、更灵活的知识观,认为知识只是“从输入向量到输出向量的学习映射”。换言之,知识提炼不是将模型的知识解释为它在训练中学习的严格数学参数,而是解释它如何在训练后推广到新数据

通过这种对知识的另一种理解,知识提炼方法旨在训练学生模型,使其不仅能模仿教师模型对给定输入的最终输出,还能模仿教师模型得出最终输出的推理步骤。从概念上讲,这与通过以下方式进行指令调整的工作方式类似:思维链 (CoT) 提示,通过教 LLM 表达它们的“逐步式”基本原理来提高 LLM 响应的质量。

在传统的监督自监督学习中,损失函数产生一个向量,表示模型输出与不同输入的“正确”输出(或地面真实值)之间的差异(或损失)。通过梯度下降等优化算法调整模型参数以最小化该向量的斜率(或梯度 ),模型的输出更接近这些正确的输出。尽管模型的推理步骤是“重要”的,因为它们会影响其最终输出,但它们通常不是用传统的损失函数来衡量的。

相反,知识提炼也训练学生模型通过添加一种特殊类型的损失函数(提炼损失)来模仿教师模型的推理过程,该函数使用离散推理步骤作为优化的软目标

软目标

任何 AI 模型的输出都可以理解为预测:自回归 LLM 可预测指定序列中的下一个单词;用于图像分类的计算机视觉模型可预测特定图像的类别。为了得出这些最终预测,在这种情况下称为“硬目标”,深度学习模型通常会进行多个初步预测,并使用 softmax 函数输出具有最高概率的预测。在训练期间,使用交叉熵损失函数来最大化分配给正确输出的概率,并最小化分配给错误输出的概率。

例如,图像分类模型预测输入图像属于训练该模型来识别的每个已知类别的概率,然后输出具有最高概率值的类别。在机器学习的数学术语中,这些单独的分类预测被称为 logit。与此类似,自回归 LLM 预测每个下一个单词的多种可能性,并(取决于其温度设置)对其输出的其中一种可能性进行采样。

在知识提炼过程中,教师模型生成的这些中间预测——“软目标”——往往为学生模型提供了主要的训练数据。分配给这些初步预测的相对概率为教师模型如何趋向于推广提供了有价值的洞察分析。例如,图像分类模型将狐狸图像错误分类为“狗”的可能性比将图像错误分类为“三明治”的可能性高很多倍。因此,软目标在每个训练案例中提供的信息比单独的硬目标要多得多。

软目标也能提供比硬目标更高的一致性:模型的最终预测最终可能取决于两个 logit 值之间的微小差异,但 logit 值本身在每个训练示例之间的梯度差异要小得多。

由于软目标提供的信息的丰富性和稳定性,学生模型可以在更少的训练样本上进行训练,使用更高的学习率,而不是用于训练原始教师模型。

提炼损失

为了使学生网络的泛化趋势更接近教师网络的泛化趋势,知识提炼通常使用两个损失函数。第一种是标准损失函数,它基于“硬损失”进行操作,根据真值标签(在监督学习中)或原始数据样本(在自监督学习中)测量学生模型的最终输出。其次是提炼损失,即“软损失”,衡量学生模型的软目标与教师模型的软目标之间的差距。

由于每个训练实例可能有多个软目标,因此提炼损失测量的是教师网络的软目标概率分布与学生网络的软目标概率分布之间的差异。Kullback-Leibler 散度(或“KL 散度”)通常用于此目的。

知识提炼中的知识类型

虽然日志是师生知识转移的典型焦点,但“知识”可以通过多种方式在深度神经网络中表现出来。其他知识提炼方法侧重于网络隐藏层的权重和激活,或网络不同部分之间的关系。

这些不同形式的知识通常分为三类之一基于响应的知识基于特征的知识基于关系的知识。

基于响应的知识

基于响应的知识是知识提炼最常见的类型,侧重于从教师模型的最终输出层传输信息。在典型的基于响应的知识提炼方法中,学生模型经过训练以输出与教师模型的预测相匹配的 logits。

当教师模型的软目标具有低熵时(换句话说,当预测非常“自信”时,例如,如果分类模型输出一个非常接近 1(表示确定性)的 logit,而所有其他类的 logit 接近 0,它们不会提供那么多的信息。因此,基于响应的方法通常会对模型输出使用较高的温度设置,从而增加模型预测的熵。这确保了概率分布的可变性更高,从而可以从每个训练示例中获得更多信息。

基于特征的知识

基于特征的知识侧重于在神经网络的中间层或“隐藏层”中传达的信息。这时,神经网络往往会进行特征提取,即识别输入数据中与当前任务相关的明显特征和模式。

例如,在主要用于图像分割等计算机视觉任务的卷积神经网络中,随着数据在网络中传输,每个连续的隐藏层都会捕获越来越丰富的细节。在用于按物种对动物图像进行分类的模型中,最早的隐藏层可能只是辨别出照片某个部分中是否存在动物形状;中间的隐藏层可能辨别出该动物是鸟类;最后的隐藏层(就在输出层之前)会辨别出一种鸟类与另一种密切相关物种之间的细微差别。

因此,基于特征的知识提炼方法的目标是训练学生模型学习与教师网络相同的特征。基于特征的提炼损失函数用于测量并最小化两个网络的功能激活之间的差异。

基于关系的知识

基于响应和基于特征的知识都侧重于特定模型层的输出,而基于关系的知识提炼则侧重于不同层之间,或是代表不同层次或位置激活的特征图之间的关系。

从本质上讲,基于关系的知识也许代表了训练学生网络以模仿教师模型“思维过程”的综合方法。这些关系和相关性可以通过各种方式进行建模,包括特征映射之间的相关性、表示不同层之间相似性的矩阵、特征嵌入或特征表示的概率分布。

知识提炼模式

知识提炼方法也可以根据它们对教师网络的影响进行分类。虽然 Hinton 等人最初提出的提炼过程以及该方法的许多后续演变仅旨在训练学生网络,但其他提炼方案也需要同时更新教师网络权重。

离线提炼

在离线提炼中,教师网络已经过预先训练,并且其模型权重被冻结以防止进一步发生变化。离线提炼是许多 LLM KD 方法的典型特征,其中教师通常是一个更大的专有模型,其模型权重无法更改。

在线提炼

在某些情况下,可能无法获得经过适当预训练且性能良好的教师模型,或者数据科学家可能希望根据其特定用例定制教师网络。在线提炼模式旨在同时训练教师和学生网络。

例如,Cioppa 等人提出了一种在线提炼方案,用于现场体育赛事中使用的语义分割模型,其中视觉环境可能会在整个比赛中发生变化。它旨在通过不断训练一个缓慢、性能良好的模型来规避较小网络的速度和较大的网络准确性之间的权衡,同时将该较大模型的知识提炼成一个规模更小、速度更快的模型,部署以实时生成输出。6

自我提炼

在自我提炼中,一个网络既当老师,又当学生。传统知识提炼需要将知识从一个模型转移到另一个模型,而自我提炼可以理解为知识从网络的深层转移到同一网络的浅层。7

在自我提炼中,多个基于注意力机制的“浅层分类器”以不同的深度添加到模型的中间层。在训练过程中,更深层次的分类器充当教师模型,并通过两种提炼损失来指导其他基于注意力的模块的训练:输出上的 KL 散度指标损失和特征图上的 L2 正则化损失

在模型经过训练并准备好进行推理后,所有这些浅层分类器都会从模型中删除。从本质上讲,这允许模型在训练期间变大并具有更大的模式识别能力,但随后模型会变小,因此在部署时速度更快、效率更高。

知识提炼和 LLM

随着 LLM 的出现,知识提炼已成为将大型模型(通常是专有模型)的高级功能转移到较小模型(通常是开源模型)的重要手段。因此,它已成为生成式 AI 民主化的重要工具。

大多数情况下,具有最高能力的 LLM 成本过高且计算要求过高,因此许多潜在用户(如业余爱好者、初创企业或研究机构)无法使用。此外,尽管专有 LLM 具有先进的性能和独特的能力,但其本质上无法针对小众应用和特定用例进行定制。

此外,大多数商业上可行的 LLM 都规模太大,而且计算要求很高,无法在手机或其他边缘设备上本地使用。这带来了各种后勤、计算和隐私方面的复杂性,这些问题可以通过可直接在移动设备上运行的较小模型来规避。因此,知识提炼的模型压缩提供了一种很有前途的方法,可以将大型模型的涌现特性迁移到足够小的模型,以便在设备上运行。

LLM 知识提炼的其他常见用途包括:

  • 让 LLM 多语言化,例如使用多个教师模型(每个模型都专门研究一种不同的语言)将语言知识转移到单个学生模型8,或者使用不同的语言对模型进行共同训练,为同一句子生成相似的嵌入。9

  • 使用更大的专有 LLM 生成数据集,用于较小模型的指令调整。例如 Microsoft 的 Orca 模型“从 GPT-4 的丰富信号中学习,包括解释轨迹、逐步思维过程和其他复杂指令”。10

  • 使用教师模型对学生的输出进行排名,通过基于人类反馈的强化学习 (RLHF) 的变体(称为基于 AI 反馈的强化学习 (RLAIF))来提炼其偏好和对齐设置。11
相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
人工智能服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示
脚注

1 “Model compression”Proceedings of the Twelfth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 23 August 2006

2 “Distilling the Knowledge in a Neural Network”, arXiv, 9 March 2015
3 “A Survey on Knowledge Distillation of Large Language Models”, arXiv, 8 March 2024
4 “Improving drug-target affinity prediction via feature fusion and knowledge distillation”Briefings in Bioinformatics, May 2023
5 “A three layer neural network can represent any multivariate function”, arXiv, 16 January 2022
6 “ARTHuS: Adaptive Real-Time Human Segmentation in Sports Through Online Distillation”2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2019
7 “Self-Distillation: Towards Efficient and Compact Neural Networks”IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 44, no. 8, pp. 4388-4403, 1 August 2022
8 “Multilingual Neural Machine Translation with Knowledge Distillation”, arXiv, 30 April 2019
9 “Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation”, arXiv, 21 April 2020
10 “Orca: Progressive Learning from Complex Explanation Traces of GPT-4”, Hugging Face, 5 June 2023
11 “RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback”, arXiv, 1 September 2023