优化大型语言模型:LLM压缩技术的前沿研究

2023年09月19日 由 daydream 发表 603 0

大型语言模型(LLM)在许多任务中表现出色,引起了巨大的关注。然而,这些令人印象深刻的能力伴随着昂贵的计算成本。


微信截图_20230919132139


像LLaMA 2和Falcon这样的顶级模型可能需要数十乃至数百千兆字节的GPU内存。这不仅使它们的运行成本昂贵,而且在设置方面也具有重大挑战。此外,它们对资源的密集需求使得几乎不可能在边缘设备上运行它们,除非能够访问强大的云服务器。


为了克服这些障碍,研究人员一直在开发一系列创新的压缩技术。这些方法旨在使LLM更加紧凑,使其能够适用于资源有限的设备。此外,它们还可以提高这些模型的速度,减少推理延迟,使其更加高效。


在本文中,我们将深入探讨LLM压缩技术的世界。我们将探索它们的工作原理、涉及的权衡以及它们对LLM应用的影响。


LLM剪枝


微信截图_20230919133930


与其他深度神经网络一样,大型语言模型由许多组件组成。然而,并不是所有这些组件对模型的输出有重要影响。实际上,有些组件可能根本没有什么影响。这些非关键组件可以剪枝,使得模型更加紧凑,同时保持模型的性能。


有几种方法可以进行LLM剪枝,每种方法都具有自己的一些优点和挑战。非结构化剪枝是一种在不考虑模型结构的情况下去除不相关参数的方法。简单来说,非结构化剪枝将小于某个阈值的参数设置为零,从而有效地消除它们的影响。这样就可以得到一个稀疏模型,其中零和非零权重是随机分布的。


非结构化剪枝易于实施。然而,非结构化剪枝中权重的随机分布使得很难利用硬件优化。它需要额外的计算和处理步骤来压缩稀疏模型。此外,压缩后的模型通常需要进一步重新训练以实现最佳性能。


尽管存在这些挑战,非结构化剪枝已经取得了显著进展。IST Austria的研究人员开发了一种名为SparseGPT的技术,可以在诸如BLOOM和OPT之类的大型转换模型上进行一次性剪枝,从而消除了重新训练的需要。


另一种技术是LoRAPrune,它将低秩调整(LoRA)与剪枝相结合,以提高LLM在下游任务中的性能。LoRA是一种参数高效的微调(PEFT)技术,它仅更新基础模型的一小部分参数。这使得它成为一种提高模型性能的高效方法。


另一方面,结构化剪枝涉及去除模型的整个部分,如神经元、通道或层。结构化剪枝的优点在于简化了模型压缩并提高了硬件效率。例如,去除一个完整的层可以降低模型的计算复杂性,而不会引入模型结构的不规则性。


然而,结构化剪枝需要对模型的架构以及不同部分对整体性能的贡献有深入了解。删除整个神经元或层的风险更大,因为这可能会消除重要的学习特征,并且对模型的准确性的影响更大。


一个有希望的结构化剪枝技术是LLM-Pruner。这种任务不可知的方法最大程度地减少了对原始训练数据的依赖,并且根据梯度信息有选择性地去除非关键的耦合结构。这种方法最大程度地保留了LLM的大部分功能,使其成为一种有效的模型压缩工具。


LLM知识蒸馏


微信截图_20230919133957


知识蒸馏是一种机器学习技术,通过训练一个更小、更简单的“学生”模型来模拟一个更大、更复杂的“教师”模型的行为。在训练过程中,知识从教师模型传输到学生模型,创建一个更紧凑且功能更强的模型。


在LLM领域,知识蒸馏技术分为两个主要类别。第一类是标准知识蒸馏,旨在将教师模型的通用知识转移到学生模型上。例如,可以从ChatGPT中收集一系列提示和响应,并用它们来训练一个较小的开源LLM。然而,需要注意的是,使用从商业模型收集的数据训练LLM存在限制。


标准知识蒸馏的挑战在于准确捕捉底层数据分布。清华大学和微软研究院的研究人员开发了一种名为MiniLLM的技术来解决这个问题。它使用为LLM专门设计的不同目标和优化函数,增强了蒸馏过程的有效性。


第二类是新生能力蒸馏,旨在提取教师模型学到的特定能力,并将其转移给学生模型。新生能力是大型模型拥有但较小模型不具备的能力。例如,可以从GPT-4中收集数学或推理问题的提示和响应,并尝试将它们转移到像Vicuna这样的较小模型上。新生能力蒸馏的优点是它更容易衡量,因为它专注于一组狭窄的任务。然而,必须记住,LLM模型在模拟较大模型的新生行为方面的能力是有限的。


LLM量化


微信截图_20230919134023


像GPT-3这样的LLM通常将其参数存储为浮点数值。在半精度下,每个参数占用两个字节,导致一个GPT-3大小的模型需要数百千兆字节的内存。量化是一种压缩技术,将这些参数转换为单字节或更小的整数,显著减小LLM的大小。


量化由于使开源的LLM能够在笔记本电脑和台式计算机等日常设备上运行而变得流行。 GPT4All和Llama.cpp是利用这种技术有效应用的两个显著例子。


量化可以应用于模型训练周期的各个阶段。在量化感知训练(QAT)中,量化被整合到训练过程中。这种方法允许模型从一开始就学习低精度表示,减少了量化引起的精度损失。然而,QAT的缺点是它需要从头开始训练模型,这可能需要大量资源和成本。


量化感知微调(QAFT)是另一种方法,其中一个预训练的高精度模型被改编以使用低精度权重来维持其质量。QLoRA和参数高效和量化感知适应(PEQA)是常用于QAFT的技术。


最后,后训练量化(PTQ)涉及在模型训练完成后将LLM的参数转换为较低精度的数据类型。PTQ旨在减少模型的复杂性,而不会改变架构或重新训练模型。它的主要优点是简单高效,因为它不需要任何额外的训练。但是,它可能不像其他技术那样有效地保留原始模型的准确性。


文章来源:https://bdtechtalks.com/2023/09/18/what-is-llm-compression/
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消