AB
AiBoss站
百科

什么是 LLM-Pruner?一种面向大语言模型的任务无关结构化剪枝方法

LLM-Pruner 是 arXiv 论文《LLM-Pruner: On the Structural Pruning of Large Language Models》提出的一种大语言模型压缩方法。它采用结构化剪枝,依据梯度信息有选择地移除不关键的耦合结构,并以 LoRA 微调在少量数据上快速恢复性能,目标是任务无关地保留原模型的多任务求解与文本生成能力。

LLM-Pruner 是一种面向大语言模型(Large Language Model,LLM)的结构化剪枝(structural pruning)方法,由论文《LLM-Pruner: On the Structural Pruning of Large Language Models》提出。按该论文的表述,它依据梯度信息有选择地移除模型中不关键的耦合结构,从而在压缩模型规模的同时尽量保留原有功能;剪枝后的模型可以通过 LoRA(Low-Rank Adaptation)微调在少量数据上快速恢复性能。它要解决的问题是:大语言模型能力虽强,但模型体积庞大,给部署、推理和训练都带来明显压力,而直接压缩又容易破坏模型作为通用任务求解器的多任务能力。

为什么重要

论文指出,大语言模型在语言理解与生成上表现突出,但这种能力通常伴随着可观的模型规模,在部署、推理与训练三个阶段都构成挑战。当模型被当作通用任务求解器使用时,压缩的目标就不只是「在某个下游任务上还能用」,而是尽量保留原来的多任务求解与语言生成能力,也就是论文所说的任务无关(task-agnostic)压缩。

论文同时点出了实现这一目标的现实障碍:大语言模型的训练语料规模极其庞大,使得数据搬运和模型后训练都变得过于沉重。因此该工作把压缩问题限定在两个约束之内:一是任务无关,二是尽量减少对原始训练数据集的依赖。这两条约束决定了方法不能走「针对单一任务重新训练一个小模型」的路线,也不能依赖大规模原始语料做长时间的重训。

在这一设定下,结构化剪枝的意义在于它直接改动模型结构本身,而不是只做数值层面的近似;配合轻量的后训练恢复,才有可能在有限算力与有限数据条件下得到一个结构上更小、但仍可用的模型。

工作机制

按论文摘要的描述,LLM-Pruner 的核心流程可以拆成以下几个要点:

  • 结构化剪枝而非非结构化稀疏。方法选择移除模型中的「耦合结构」(coupled structures),即整组相互关联的参数单元,而不是逐个孤立的权重。这样得到的是结构上真正变小的模型,而不是仅含大量零值的稠密模型。
  • 以梯度信息判断重要性。哪些结构属于「非关键」,由梯度信息给出依据。论文的表述是「基于梯度信息有选择地移除非关键的耦合结构」,即利用梯度所反映的敏感程度来排序和筛选待移除的结构。
  • 以任务无关为目标。剪枝过程不针对特定下游任务定制,目的是最大程度保留原大语言模型的功能,使其在剪枝后仍具备多任务求解与语言生成能力。
  • 用 LoRA 做性能恢复。剪枝不可避免地带来能力损失,论文通过 LoRA 微调对剪枝后的模型进行恢复。摘要给出的条件是:仅需 50K 数据,约 3 小时即可完成恢复调优。
  • 降低对原始训练数据的依赖。恢复阶段使用的是小规模数据而非原始预训练语料,这正是论文所设定的第二条约束的体现。

需要说明的是,上述「3 小时」「50K 数据」是论文作者在其实验设置下报告的结果,属于该论文的主张,并非对所有硬件环境、所有模型规模都成立的通用结论。

典型例子

论文在三个大语言模型上验证了 LLM-Pruner,分别是 LLaMA、Vicuna 与 ChatGLM。据摘要,压缩后的模型在零样本分类(zero-shot classification)与生成任务上仍表现出令人满意的能力。这是该论文给出的验证范围与结论,具体数值与实验配置需以原文为准。

从使用形态上看,这一方法对应的典型场景是:手头有一个通用大语言模型,希望在保持其通用性的前提下减小模型体积,并且不具备重跑原始预训练流程的数据与算力条件,于是采用结构化剪枝加轻量后训练恢复的组合。论文摘要提到代码已公开,但本条目不引用其代码地址。

边界与常见误解

第一,LLM-Pruner 不等于「训练一个小模型」。它是在已有大语言模型的基础上做结构删减,再用 LoRA 做恢复,而不是从头预训练一个更小的模型;论文强调的任务无关性也正建立在「保留原模型能力」这一前提上。

第二,结构化剪枝不等于非结构化稀疏。后者往往只带来存储上的稀疏格式收益,需要专门的稀疏算子才能兑现速度;LLM-Pruner 移除的是耦合结构,但论文摘要并未就推理加速幅度给出承诺,因此不应把「剪枝」直接等同于「按比例提速」。

第三,性能恢复是有条件的。论文给出的「50K 数据、约 3 小时」是在其特定模型与实验设置下得到的,不能外推为任意模型、任意剪枝比例下的通用保证;剪枝比例越高,能力损失与恢复难度通常越大。

第四,任务无关不等于任务无损。论文的结论是压缩模型在零样本分类与生成上「仍表现出令人满意的能力」,这是一种相对表述,并不意味着与原模型完全等价,具体差距应参考原文的评测结果。

第五,该方法的适用对象是大语言模型的结构压缩,论文未将其主张扩展到大语言模型之外的其他模型类型,也未声称可以替代量化、蒸馏等其他压缩手段。

参考资料