大型语言模型(LLMs)在各个领域都取得了显著的性能。许多前沿模型(Brown等人,2020年;Bubeck等人,2023年;Dubey等人,2024年;Touvron, Lavril, Izacard, Martinet, Lachaux, Lacroix, Rozière, Goyal, Hambro, Azhar等人;Touvron, Martin, Stone, Albert, Almahairi, Babaei, Bashlykov, Batra, Bhargava, Bhosale等人;Zhang等人,2022年)被广泛应用于自然语言理解、机器翻译和内容生成等任务(Mihaylov等人,2018年;Sakaguchi等人,2021年;Zellers等人,2019年;Zhang等人,2023年)。然而,LLMs的成功是以巨大的计算资源为代价的。通常,LLMs包含数十亿个参数,这意味着它们不仅需要大量的训练资源,部署预训练模型也会产生显著的成本。此外,LLMs还具有较高的内存和处理需求,这不仅增加了硬件成本,还提高了能耗。
为了解决上述问题,研究人员正在探索模型压缩技术以减少LLMs的规模和计算需求。已经提出了许多LLMs的压缩方法,包括剪枝、量化和知识蒸馏(Ashkboos等人,2024年;Frantar和Alistarh,2023年;Frantar等人,2022年;Hu等人,2021年;Lee等人,2023年;Lin等人,2023年;Xiao等人,2023年)。在这些方法中,剪枝被认为是一种有效减少模型参数数量和计算量的方法。剪枝通过移除参数来减小模型规模。根据参数移除的粒度,剪枝可以分为两类:结构化剪枝和非结构化剪枝。由于非结构化剪枝通常会导致不规则的稀疏模式,并且需要专门的硬件支持,我们主要关注结构化剪枝。再训练是结构化剪枝后恢复模型性能的主流方法(He等人,2018年;Ma等人,2023年)。然而,预训练-剪枝-再训练的框架通常需要大量的计算开销,因此不适合大规模的LLMs。因此,许多研究集中在无需再训练的LLMs剪枝方法上(An等人,2024年;Ashkboos等人,2024年;Frantar和Alistarh,2023年;Wang, Fan, Hu, Chen, Wang, Wang, Zheng, Wan, & Zhang)。
无需再训练的剪枝方法利用补偿过程来恢复剪枝后LLMs的性能,而不是进行再训练。与再训练不同,补偿过程的计算开销很小,只需要少量的样本。由于其高效率,这种方法更适合大规模的LLMs。然而,当前的LLMs剪枝补偿方法存在一些问题。首先,虽然像SlimGPT这样的最新方法(Ling等人,2024年)成功保持了原始的参数数量,但其他代表性的补偿技术会引入额外的参数。例如,基于波动的自适应结构化剪枝(FLAP)(An等人,2024年)和基于线性插值的自适应恢复(LIAR)(Wang等人,2024a)会在原本没有偏置的线性层中引入偏置,而SliceGPT(Ashkboos等人,2024年)则通过为每个跳跃连接添加一个新的线性层来进一步处理这个问题。引入额外参数的补偿方法违背了减少参数数量的核心目标,并可能影响后续的部署和推理。其次,由于LLMs激活值中特定通道存在异常值,现有的补偿方法在解决优化问题时经常会遇到病态矩阵,导致数值不稳定和计算效率低下。
为了更好地解决现有补偿技术中的问题,我们提出了“条件良好的线性重构”(WLR),这是一种无需再训练的结构化LLMs剪枝的补偿方法,不会引入额外参数。主要贡献如下:
- •
我们提出了一种不会引入额外参数的LLMs剪枝补偿方法,并提供了详细的数学推导。具体来说,我们通过保留通道的线性组合来补偿每个被剪枝的通道。
- •
我们通过将异常值导致的病态条件问题转化为条件良好的问题,改进了补偿方法中的优化问题,使其更容易解决。我们提供了优化问题存在解的数学证明。
- •
我们在包括OPT(Zhang等人,2022年)、LLLaMA-V1(Touvron等人,2023a)、LLLaMA-V2(Touvron等人,2023b)和LLLaMA-V3(Dubey等人,2024年)在内的多个LLMs上进行了一系列实验,涵盖了多种语言基准测试(Bisk等人,2020年;Clark等人,2018年;Mihaylov等人,2018年;Sakaguchi等人,2021年;Wang等人,2019年;Zellers等人,2019年)。与现有的最佳方法(SOTA)相比,我们的方法表现更优。