ROSE: Reordered SparseGPT for More Accurate One-Shot Large Language Models Pruning
作者: Mingluo Su, Huan Wang
分类: cs.CL, cs.LG
发布日期: 2026-03-06
备注: CPAL 2026 oral
🔗 代码/项目: GITHUB
💡 一句话要点
ROSE:重排序的SparseGPT,提升大语言模型单次剪枝的准确性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型剪枝 SparseGPT 模型压缩 权重重排序 二阶梯度 Hessian矩阵 单次剪枝 模型优化
📋 核心要点
- SparseGPT等方法在LLM剪枝中表现出潜力,但其固定的剪枝顺序在处理具有列状模式的权重时存在性能瓶颈。
- ROSE通过预剪枝估计剪枝损失,并基于列和块损失对权重进行两级重排序,从而优化剪枝顺序。
- 实验表明,ROSE在多个LLM上优于SparseGPT和其他剪枝方法,验证了重排序策略的有效性。
📝 摘要(中文)
剪枝是降低大型语言模型(LLMs)参数量,从而提高部署和推理效率的有效方法。一种经典且突出的LLM单次剪枝方法是利用二阶梯度(即Hessian矩阵),以SparseGPT为代表。然而,SparseGPT中预定义的从左到右的剪枝顺序在权重呈现列状模式时会导致次优性能。本文研究了SparseGPT框架下剪枝顺序的影响,并提出了ROSE,一种重排序的SparseGPT方法,优先剪枝具有较大潜在剪枝误差的权重。ROSE首先执行预剪枝以识别要移除的候选权重,并估计列和块剪枝损失。随后,执行两级重排序:每个块内的列按列损失降序重新排序,而块则基于块损失重新排序。我们引入块损失的相对范围作为识别列状层的指标,从而实现整个模型的自适应重排序。在主流LLM(LLaMA2-7B/13B/70B,LLaMA3-8B,Mistral-7B)上的大量实验结果表明,ROSE超越了原始SparseGPT和其他同类剪枝方法。
🔬 方法详解
问题定义:SparseGPT在对大语言模型进行一次性剪枝时,采用预定义的从左到右的剪枝顺序。这种固定的顺序忽略了权重矩阵中可能存在的列状模式,导致在某些层中剪枝效果不佳,最终影响模型的整体性能。因此,如何优化剪枝顺序以适应不同权重的特性,是本文要解决的核心问题。
核心思路:ROSE的核心思路是根据权重的重要性(通过估计剪枝损失来衡量)动态地调整剪枝顺序。具体来说,ROSE优先剪枝那些潜在剪枝误差较大的权重,因为这些权重的移除对模型性能的影响相对较小。通过这种方式,ROSE试图在剪枝过程中保留更重要的权重,从而最大限度地减少性能损失。
技术框架:ROSE的整体框架包括以下几个主要阶段:1) 预剪枝:对模型进行初步剪枝,识别出待剪枝的候选权重。2) 损失估计:估计列剪枝损失和块剪枝损失,用于后续的重排序。3) 两级重排序:首先在每个块内,根据列损失对列进行降序重排序;然后,根据块损失对块进行重排序。4) 自适应重排序:使用块损失的相对范围来识别列状层,并根据识别结果进行自适应重排序。
关键创新:ROSE的关键创新在于其动态重排序的剪枝策略。与SparseGPT等方法采用的固定剪枝顺序不同,ROSE能够根据权重的重要性自适应地调整剪枝顺序,从而更好地适应不同权重的特性。此外,ROSE提出的两级重排序策略和自适应重排序机制,进一步提高了剪枝的准确性和效率。
关键设计:ROSE的关键设计包括:1) 列损失和块损失的估计方法:具体如何计算这些损失,论文中应该有详细描述,但摘要中未提及。2) 块损失相对范围的计算方法:用于识别列状层,并决定是否进行自适应重排序。3) 两级重排序的具体实现方式:包括如何对列和块进行排序,以及如何将重排序后的顺序应用到剪枝过程中。
🖼️ 关键图片
📊 实验亮点
ROSE在 LLaMA2-7B/13B/70B, LLaMA3-8B, Mistral-7B 等多个主流 LLM 上进行了实验,结果表明 ROSE 显著优于原始 SparseGPT 和其他同类剪枝方法。具体的性能提升数据需要在论文中查找,摘要中未提供量化结果。ROSE 证明了通过优化剪枝顺序可以显著提高 LLM 剪枝的准确性。
🎯 应用场景
ROSE的研究成果可广泛应用于大语言模型的压缩和加速领域。通过更有效地减少模型参数量,ROSE能够降低LLM的部署成本,提高推理速度,使其更易于在资源受限的设备上运行。这对于移动设备、边缘计算等场景具有重要意义,有助于推动LLM在更广泛的应用领域落地。
📄 摘要(原文)
Pruning is widely recognized as an effective method for reducing the parameters of large language models (LLMs), potentially leading to more efficient deployment and inference. One classic and prominent path of LLM one-shot pruning is to leverage second-order gradients (i.e., Hessian), represented by the pioneering work SparseGPT. However, the predefined left-to-right pruning order in SparseGPT leads to suboptimal performance when the weights exhibit columnar patterns. This paper studies the effect of pruning order under the SparseGPT framework. The analyses lead us to propose ROSE, a reordered SparseGPT method that prioritizes weights with larger potential pruning errors to be pruned earlier. ROSE first performs pre-pruning to identify candidate weights for removal, and estimates both column and block pruning loss. Subsequently, two-level reordering is performed: columns within each block are reordered in descending order of column loss, while blocks are reordered based on block loss. We introduce the relative range of block loss as a metric to identify columnar layers, enabling adaptive reordering across the entire model. Substantial empirical results on prevalent LLMs (LLaMA2-7B/13B/70B, LLaMA3-8B, Mistral-7B) demonstrate that ROSE surpasses the original SparseGPT and other counterpart pruning methods. Our code is available at https://github.com/mingluo-su/ROSE.