大语言模型的压缩:综述

23年8月来自国内中科院和人大的综述论文“A Survey on Model Compression for Large Language Models“。

大语言模型(LLM)在自然语言处理任务取得了显著的成功。然而,其过大的规模和计算需求给实际部署带来了重大挑战,尤其是在资源受限的环境中。随着这些挑战变得越来越重要,模型压缩已经成为缓解这些限制的关键领域。本文对LLM量身定制的模型压缩技术进行了综述。为了满足高效部署的迫切需求,深入研究了各种方法,包括量化、修剪、知识蒸馏等。在每一种技术中,强调了最近的进步和创新的方法,这些方法有助于LLM研究的发展。此外,还探讨了基准评分策略和评估指标,这些策略和指标对评估压缩LLM的有效性至关重要。

如图是压缩方法分类:

添加图片注释,不超过 140 字(可选)

剪枝是一种删除不必要或冗余组件来减小模型大小或复杂度的有效技术 [LeCun et al., 1989; Han et al., 2015; Li et al., 2017]。众所周知,许多冗余参数对模型的性能影响很小甚至没有影响,因此,直接剪枝这些冗余参数后,模型性能的下降最小。同时,剪枝可以使模型存储友好 [Ardakani et al., 2019]、内存效率 [Han et al., 2015; Yang et al., 2017]和计算效率 [Li et al., 2017]提高。剪枝可以分为非结构化剪枝 [Zhang et al., 2018; Gordon et al., 2020] 和结构化剪枝 [Anwar et al., 2017; Fang 等,2023]。结构化剪枝和非结构化剪枝的主要区别在于剪枝目标和由此产生的网络结构。结构化剪枝根据特定规则删除连接或层次结构,同时保留整体网络结构。另一方面,非结构化剪枝会修剪单个参数,从而产生不规则的稀疏结构。最近的研究致力于将 LLM 与剪枝技术相结合,旨在解决 LLM 的巨大规模和计算成本问题。

知识蒸馏(KD)[Hinton2015;Kim&Rush,2016;Tung&Mori,2019]是一种有价值的机器学习技术,旨在提高模型性能和泛化能力。它将知识从一个复杂的模型(称为教师模型)迁移到一个更简单的模型(即学生模型)。KD背后的核心思想是,将教师模型的综合知识转化为更流畅、更有效的表示。根据这些方法的阶段是否是将LLM的涌现能力(EA)提取到小语言模型(SLM)中来对其进行分类。因此,方法分为两类:标准KD和基于EA的KD。如图提供了LLM知识蒸馏的简要分类:

添加图片注释,不超过 140 字(可选)

基于EA的KD超越了从LLM迁移公共知识的思路,还包括提取其独特的涌现能力。最近的研究[Wei2022a;Schaeffer2023;Zhao2023]强调,尽管增加模型大小,但与BERT(330M参数)和GPT-2(1.5B参数)等较小模型相比,GPT-3(175B参数)和PaLM(540B参数)表现出独特的行为。这些LLM在处理复杂任务时表现出令人惊讶的能力,被称为涌现能力,包括几个有趣的方面,包括上下文学习(ICL)[Dong 2023;Wang2023b]、思维链(CoT)[Wei 2022;Wang2023c;Shi2023]和指令跟从(IF)[Ouyang 2021;Brooks2023]。如图提供了基于EA的知识蒸馏概念的简明表示。

添加图片注释,不超过 140 字(可选)

上下文学习(ICL)采用结构化的自然语言提示,其中包含任务描述,可能还有一些任务示例作为演示。通过这些任务示例,LLM可以在不需要显式梯度更新的情况下掌握和执行新任务。(Huang2022)的工作介绍了ICL蒸馏,将上下文中的少样本学习和语言建模能力从LLM迁移到SLM。这是上下文学习目标与传统语言建模目标相结合。为了实现这一点,在两种少样本学习范式下探索ICL的提炼:元上下文调整(Meta-ICT)和多任务上下文调整(Multitask-ICT)。在Meta-ICT技术中,语言模型用上下文学习目标在不同任务中进行元训练。这使它能够通过上下文学习来适应未见过的任务,从而扩展其解决问题的能力。另一方面,Multi-task ICT使用ICL目标和一些示例对模型进行微调。随后,它采用上下文学习来进行预测。比较这两种范式,多任务-ICT技术表现出优于元-ICT技术的性能。然而,在任务调整过程中,它确实需要更多的计算资源,使其计算更加密集。

与ICL相比,思维链(CoT)采用了一种不同的方法,它将中间推理步骤(可以导致最终输出)合并到提示中,而不是使用简单的输入-输出对。MT-COT[Li 2022]旨在利用LLM产生的解释来加强对小型推理的训练。它利用多任务学习框架,为较小的模型提供强大的推理能力和生成解释的能力。Fintune-CoT[Ho 2023]通过随机采样从LLM生成多个推理解决方案。训练数据的增加有助于学生模型的学习过程。(Fu2023a/b)在语言模型的多维能力之间进行了权衡,并提出了对指令调整模型进行微调的建议。其从大型教师模型中蒸馏出CoT推理路径,改进分布外(OOD)的泛化。(Hsieh2023)采用LLM原理作为在多任务框架内训练较小模型的额外引导。SOCRATIC CoT[Shridhar2023] 训练两个蒸馏模型:一个问题分解器和一个子问题求解器。分解器将原始问题分解为一系列子问题,而子问题求解器处理这些子问题的求解。DISCO[Chen 2023]介绍了一种基于LLM的全自动反事实知识蒸馏方法。工程师使用LLM提示生成短语扰动,然后通过特定任务的教师模型过滤这些扰动,提取高质量的反事实数据。对于基本原理的忠实性,SCOTT[Wang 2023a]采用对比解码,将每个推理与答案联系起来。它鼓励老师提出相关的理由。此外,引导学生进行反事实推理,并根据造成不同答案的理由进行预测。

指令跟从(IF)努力提高语言模型在执行新任务时的能力,它仅基于阅读任务描述,而不依赖少样本示例。用一系列以指令形式表示的任务进行微调,语言模型展示了准确执行以前未见指令中所描述任务的能力。例如,Lion[Jiang 2023]利用LLM的适应性来提高学生模型的性能。它提示LLM识别并生成“硬”指令,然后利用这些指令来增强学生模型的能力。这种方法开发LLM的多功能性来引导学生模型在处理复杂指令和任务时的学习。

量化压缩已成为一种广泛接受的技术,可以减轻深度学习模型的存储和计算开销 [Liu et al., 2021b; Gholami et al., 2022; Guo et al., 2020]。传统表示采用浮点数,而量化将其转换为整数或其他离散形式。这种转换显着降低了存储要求和计算复杂度。尽管固有一些精度损失,但谨慎的量化技术可以实现显着的模型压缩,而准确度下降幅度极小。量化可以分为三种主要方法:量化-觉察训练(QAT)[Tailor et al., 2021; Kim et al., 2022; Ding et al., 2022]、量化-觉察微调(QAF)【Cai et al., 2019】【Dong et al., 2019】和训练后量化(PTQ)[Liu et al., 2021b; Nagel et al., 2020; Fang et al., 2020]。这些方法的主要区别在于何时应用量化来压缩模型。QAT 在模型的训练过程中采用量化,QAF 在预训练模型的微调期间应用量化,而 PTQ 在模型完成训练后对其进行量化。最近的研究努力利用量化来压缩 LLM,并取得了令人瞩目的成果。这些努力分为上述三种方法:量化-觉察训练、量化-觉察微调和训练后量化。此外,下表是应用于 LLM 的量化方法的总结参考。该表根据 LLM 权重中的位数(精度)将这些工作分为 8 位量化和低位量化。

添加图片注释,不超过 140 字(可选)

低秩因子分解[Cheng 2017;Povey 2018;Idelbayev&Carreira Perpińán,2020]是一种模型压缩技术,旨在将给定的权重矩阵分解为两个或多维度显著较低的较小矩阵来逼近该矩阵。低秩因子分解背后的核心思想是,将大权重矩阵W分解为两个矩阵U和V,使得W≈UV,其中U是m×k矩阵,V是k×n矩阵,其中k远小于m和n。U和V的乘积近似于原始权重矩阵,从而显著减少了参数的数量和计算开销。

在LLM研究领域,低秩因子分解已被广泛用于有效地微调LLM,例如,LORA[Hu2022]及其变体[Valipour2023;Zhang2023b;Chavan2023]。本文关注的是使用低秩因子分解来压缩LLM。在LLM研究的模型压缩领域,研究人员经常将多种技术与低秩因子分解相结合,包括修剪、量化等,例如LoRAPrune[Zhang2023a]和ZeroQuant-FP[Wu2023],在保持性能的同时实现更有效的压缩。随着该领域研究的继续,在将低秩因子分解应用于LLM压缩方面可能会有进一步的发展,但似乎仍需要不断的探索和实验来充分利用其LLM的潜力。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值