本文是LLM系列文章,针对《LoRAPrune: Structured Pruning Meets Low-Rank Parameter-Efficient Fine-Tuning》的翻译。
摘要
大型语言模型(LLM),如LLaMA和T5,通过微调在各种任务中表现出卓越的性能。尽管低秩自适应(LoRA)已经出现,可以在下游任务上廉价地微调这些LLM,但它们的部署仍然受到巨大的模型规模和计算成本的阻碍。训练后模型修剪提供了一种压缩LLM的方法。然而,目前为LLM设计的修剪方法与LoRA不兼容。这是由于它们在LLM上使用了非结构化修剪,阻碍了LoRA权重的合并,或者它们依赖于预训练权重的梯度来指导修剪,这可能会带来巨大的内存开销。为此,我们提出了LoRAPrune,这是一个新的框架,它以高内存效率的方式提供了一个精确的结构化修剪模型。具体来说,我们首先设计了一个LoRA引导的修剪标准,该标准使用LoRA的权重和梯度,而不是预训练权重的梯度进行重要性估计。随后,我们将此标准整合到迭代修剪过程中,有效地去除了冗余的通道和头部。大量的实验结果表明,我们的LoRAPrune在LLaMA系列模型上的性能优于现有方法。在50%的压缩率下,LoRAPrune的性能优于LLM Pruner,在WikiText2和PTB上分别将困惑度降低了4.81和3.46,同时还将内存使用率降低了52.6%。此外,LoRAPrune还可以跨多个LLM匹配半结构化修剪,证明了其广泛的适用性。该代码可在以下https://github.com/aim-uofa/LoRAPrune网址获得。