陶大程团队联合港大等发布最新综述:374篇文献全面解析大模型知识蒸馏

6af38c44da096d0b8a0112ac53f16caa.gif

©作者 | 机器之心编辑部

来源 | 机器之心

大语言模型(Large Language Models, LLMs)在过去两年内迅速发展,涌现出一些现象级的模型和产品,如 GPT-4、Gemini、Claude 等,但大多数是闭源的。研究界目前能接触到的大部分开源 LLMs 与闭源 LLMs 存在较大差距,因此提升开源 LLMs 及其他小模型的能力以减小其与闭源大模型的差距成为了该领域的研究热点。

LLM 的强大能力,特别是闭源 LLM,使得科研人员和工业界的从业者在训练自己的模型时都会利用到这些大模型的输出和知识。这一过程本质上是知识蒸馏(Knowledge, Distillation, KD)的过程,即从教师模型(如 GPT-4)中蒸馏知识到较小的模型(如 Llama)中,显著提升了小模型的能力。可以看出,大语言模型的知识蒸馏技术无处不在,且对于研究人员来说是一种性价比高、有效的方法,有助于训练和提升自己的模型。

那么,当前的工作如何利用闭源 LLM 进行知识蒸馏和获取数据?如何有效地将这些知识训练到小模型中?小模型能够获取教师模型的哪些强大技能?在具有领域特点的工业界,LLM 的知识蒸馏如何发挥作用?这些问题值得深入思考和研究。

早在 2020 年,陶大程团队就发布了《Knowledge Distillation: A Survey》,详细介绍了知识蒸馏在深度学习中的应用,主要用于模型压缩和加速。随着大语言模型的出现,知识蒸馏的作用范围不断扩大,逐渐扩展到了用于提升小模型的性能以及模型的自我提升。

2024 年初,陶大程团队与香港大学和马里兰大学等合作,发表了最新综述《A Survey on Knowledge Distillation of Large Language Models》,总结了 374 篇相关工作,探讨了如何从大语言模型中获取知识,训练较小模型,以及知识蒸馏在模型压缩和自我训练中的作用。同时,该综述也涵盖了对大语言模型技能的蒸馏以及垂直领域的蒸馏,帮助研究者全面了解如何训练和提升自己的模型。

9ca9df23b48e96240ea564c75a5d6517.png

论文题目:

A Survey on Knowledge Distillation of Large Language Models

论文链接:

https://arxiv.org/abs/2402.13116

项目链接:

https://github.com/Tebmer/Awesome-Knowledge-Distillation-of-LLMs

8422936ef936bc18270d3799075faeb9.png

综述架构

大语言模型知识蒸馏的整体框架总结如下图所示:

9f8938b02e87ae67ef0fd6864368fb63.png

首先,根据大语言模型知识蒸馏的流程,该综述将知识蒸馏分解为了两个步骤:

1. 知识获取(Knowledge Elicitation):即如何从教师模型中获取知识。其过程主要包括:

a) 首先构建指令来确定要从教师模型中蒸馏的技能或垂直领域的能力。

b) 然后使用种子知识(如某个数据集)作为输入来驱动教师模型,生成对应的回应,从而将相应的知识引导出来。

c) 同时,知识的获取包含一些具体技术:标注、扩展、合成、抽取特征、反馈、自身知识。

2. 蒸馏算法(Distillation Algorithms):即如何将获取的知识注入到学生模型中。该部分具体算法包括:有监督微调、散度及相似度、强化学习(即来自 AI 反馈的强化学习,RLAIF)、排序优化。

该综述的分类方法根据此过程,将相关工作从三个维度进行了总结:知识蒸馏的算法、技能蒸馏、以及垂直领域的蒸馏。后两者都基于知识蒸馏算法来进行蒸馏。该分类的细节以及对应的相关工作总结如下图所示。

d7f4461ad88fcbe3df6095c5bc60fe32.png

77268fefc599e301f461f592a9235c4a.png

知识蒸馏算法

知识获取 (Knowledge Elicitation)

根据从教师模型中获取知识的方式,该综述将其技术分为标注 (Labeling)、扩展 (Expansion)、数据合成 (Data Curation)、特征抽取 (Feature)、反馈 (Feedback)、自生成的知识 (Self-Knowledge)。每个方式的示例如下图所示:

63cb8812c85cab5ad17a1f41938863ab.png

标注(Labeling):知识标注是指由教师 LLMs 根据指令或示例,对给定的输入作为种子知识,生成对应的输出。例如,种子知识为某一个数据集的输入,教师模型标注思维链输出。

扩展(Expansion):该技术的一个关键特征是利用 LLMs 的上下文学习能力,根据提供的种子示例,来生成与示例相似的数据。其优点在于通过示例能生成更加多样化和广泛的数据集。但是随着生成数据的继续增大,可能会造成数据同质化问题。

数据合成(Data Curation):数据合成的一个显著特点是其从零开始合成数据。其利用大量且多样的元信息(如话题、知文档、原始数据等)来作为多样且巨量的种子知识,以从教师 LLMs 中获取规模庞大而且质量高的数据集。

特征获取(Feature):获取特征知识的典型方法主要为将输入输出序列输出到教师 LLMs 中,然后抽取其内部表示。该方式主要适用于开源的 LLMs,常用于模型压缩。

反馈(Feedback):反馈知识通常为教师模型对学生的输出提供反馈,如提供偏好、评估或纠正信息来指导学生生成更好输出。

自生成知识(Self-Knowledge):知识也可以从学生自身中获取,称之为自生成知识。在这种情况下,同一个模型既充当教师又充当学生,通过蒸馏技术以及改进自己先前生成的输出来迭代地改进自己。该方式非常适用于开源 LLMs。

总结:目前,扩展方法仍然被广泛应用,数据合成方式因为能够生成大量高质量的数据而逐渐成为主流。反馈方法能够提供有利于学生模型提升对齐能力的知识。特征获取和自生成知识的方式因为将开源大模型作为教师模型而变得流行起来。特征获取方式有助于压缩开源模型,而自生成知识的方式能够持续地提升大语言模型。重要的是,以上方法可以有效地组合,研究人员可以探索不同方式的组合来引导出更有效的知识。

蒸馏算法(Distilling Algorithms)

获取知识之后,就需要将知识蒸馏到学生模型中。蒸馏的算法有:有监督微调、散度及相似度、强化学习,以及排序优化。示例如下图所示:

8a04cbfad78897be51349986330e072a.png

有监督微调:监督微调(SFT)通过最大化教师模型生成的序列的似然性来微调学生模型,让学生模型来模仿教师模型。这是目前 LLMs 知识蒸馏中最常用的一个技术。

散度及相似度(Divergence and Similarity):该算法将教师模型内部的参数知识作为学生模型训练的监督信号,适用于开源教师模型。基于散度与相似度的方法分别对齐概率分布以及隐藏状态。

强化学习(Reinforcement Learning):该算法适用于利用教师的反馈知识来训练学生模型,即 RLAIF 技术。主要有两个方面:(1)使用教师生成的反馈数据训练一个学生奖励模型,(2)通过训练好的奖励模型,以最大化预期奖励来优化学生模型。教师也可以直接作为奖励模型。

排序优化(Rank Optimization):排序优化也可以将偏好知识注入到学生模型中,其优点在于稳定且计算效率高,一些经典算法如 DPO,RRHF 等。

96655bfdc97f156ea72d043ea5d8d70b.png

技能蒸馏

众所周知,大语言模型具有许多出色的能力。通过知识蒸馏技术,提供指令来控制教师生成包含对应技能的知识并训练学生模型,从而使其获取这些能力。这些能力主要包括遵循语境(如指令)、对齐、智能体、自然语言处理(NLP)任务和多模态等能力。

下表总结了技能蒸馏的经典的工作,同时总结了各个工作涉及到的技能、种子知识、教师模型、学生模型、知识获取方式、蒸馏算法。

537d9d356f7eb9fd8cbdd934acbd4677.png

bd697ea231c13edc4958656c9340d808.png

垂直领域蒸馏

除了在通用领域的大语言模型,现在有很多工作训练垂直领域的大语言模型,这有助于研究界以及工业界对大语言模型的应用与部署。而大语言模型(如 GPT-4)在垂直领域上虽然具备的领域知识是有限的,但是仍能够提供一些领域知识、能力或者增强已有的领域数据集。这里涉及到的领域主要有(1)法律,(2)医疗健康,(3)金融,(4)科学,以及一些其他领域。该部分的分类学以及相关工作如下图所示:

d771ca7ffa83945aa4ddc02e1b4ae037.png

6e923116937370c99f9df01d000e5bd2.png

未来方向

该综述探讨了目前大语言模型知识蒸馏的问题以及潜在的未来研究方向,主要包括:

  • 数据选择:如何自动选择数据以实现更好的蒸馏效果?

  • 多教师蒸馏:探究将不同教师模型的知识蒸馏到一个学生模型中。

  • 教师模型中更丰富的知识:可以探索教师模型中更丰富的知识,包括反馈和特征知识,以及探索多种知识获取方法的组合。

  • 克服蒸馏过程中的灾难性遗忘:在知识蒸馏或迁移过程中有效地保留原始模型的能力仍然是一个具有挑战性的问题。

  • 可信知识蒸馏:目前 KD 主要集中在蒸馏各种技能,对于大模型可信度方面的关注相对较少。

  • 弱到强的蒸馏(Weak-to-Strong Distillation)。OpenAI 提出了 “弱到强泛化” 概念,这需要探索创新的技术策略,使较弱的模型能够有效地引导较强的模型的学习过程。

  • 自我对齐(自蒸馏)。可以设计指令使得学生模型通过生成反馈、批评和解释等内容使其自主地改进、对齐其生成内容。

c52ea69466f750b72df66ec744acbfc5.png

总结

该综述对如何利用大语言模型的知识来提升学生模型,如开源大语言模型,进行了全面且系统地总结,同时包括了近期较流行的自蒸馏的技术。该综述将知识蒸馏分为了两个步骤:知识获取以及蒸馏算法,同时总结了技能蒸馏以及垂直领域蒸馏。最后,该综述探讨了蒸馏大语言模型的未来方向,希望推动大语言模型知识蒸馏的边界,得到更易获取、高效、有效、可信的大语言模型。

更多阅读

fa911306ebf1ee7ea5eb77b6594a1de6.png

3a195c2014c6295e9304c9c5a0cd90ac.png

15ef5b0d66161d6673d883bfc1f871ba.png

649f6aa65b5d19d375fdf7e2df0e4344.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

7fd5e707e32b82578fc97afd9250efc0.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

f69560b9c41d4fcbdaa9f89d7a35efbb.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识蒸馏是一种知识增强技术,已经受到越来越多的关注。在大语言模型中,知识蒸馏可以通过将一个大模型(教师模型)的知识传授给一个小模型(学生模型)来提高性能。知识蒸馏的关键问题是如何从教师模型中提取丰富的知识,并将这些知识转移到学生模型的训练中。知识蒸馏系统通常由三个主要部分组成:知识、蒸馏算法和师生架构。\[1\]\[2\] 对于大语言模型知识蒸馏,有许多挑战需要解决。首先是知识的均等性,即如何确保从教师模型中提取的知识能够平衡地传递给学生模型。其次是蒸馏的类型,不同的蒸馏策略可以选择不同的知识传递方式,例如软标签、相似性约束等。此外,师生体系结构的设计也是一个重要的问题,需要考虑如何构建一个有效的师生模型来实现知识的传递。最后,知识蒸馏的理论基础也是一个研究的重点,研究人员正在探索知识蒸馏的原理和机制。\[2\] 关于知识蒸馏的研究和应用已经有很多论文和技术。如果你对知识蒸馏感兴趣,可以查阅《Knowledge Distillation: A Survey》这综述论文,或者参考这个GitHub仓库中的分类论文列表,其中包含了一系列经典的知识蒸馏技术。\[3\] #### 引用[.reference_title] - *1* *2* *3* [万字综述 | 一文读懂知识蒸馏](https://blog.csdn.net/u012347027/article/details/111415197)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值