LACE-SVD: 面向LLM压缩的损失感知SVD与累积误差纠正

arXiv cs.LG 论文

摘要

LACE-SVD是一种新颖的大语言模型低秩压缩方法,采用损失感知的秩分配策略和传播感知的纠正技术,以减轻残差流中的累积误差传播,在高压缩比下实现了比以往基于SVD的方法更好的困惑度。

arXiv:2607.03057v1 公告类型: 新提交 摘要: 随着大语言模型(LLM)参数规模的快速增长,对高效压缩技术的需求日益迫切。作为一种不依赖硬件且兼容性强的方案,低秩压缩已被广泛采用以降低内存占用和计算成本。然而,现有基于SVD的方法仍然主要受局部重建目标驱动,忽视了两个关键限制:秩预算的分配通常未显式考虑逐层损失敏感性,且局部近似误差会在残差流中传播和累积,导致与原始模型的全局偏差放大。为解决这些问题,我们提出了LACE-SVD——一种面向LLM压缩的损失感知SVD框架与累积误差纠正方法。LACE-SVD首先估计候选逐层压缩比所引起的校准负对数似然增加,并求解一个预算约束分配问题来分配秩预算;随后以闭式局部更新精炼压缩模型,并引入一种传播感知纠正技术作用于残差流输出模块,通过减小层输出差异作为累积误差传播的代理。实验结果表明,在高压缩比(0.6)下,我们的方法在LLaMA-7B上的WikiText-2困惑度(32.57)显著优于Dobi-SVD(46.18)。
查看原文
查看缓存全文

缓存时间: 2026/07/07 04:40

# LACE-SVD: 基于损失感知的奇异值分解与累积误差校正的大语言模型压缩方法
来源: https://arxiv.org/html/2607.03057
###### 摘要

随着大语言模型(LLMs)参数规模的快速增长,对高效压缩技术的需求日益迫切。作为一种硬件无关且兼容性高的方法,低秩压缩被广泛用于减少内存占用和计算成本。然而,现有的基于SVD的方法仍然主要受局部重构目标的驱动,忽略了两大关键限制:秩预算的分配往往没有明确考虑层级的损失敏感性;局部近似误差会通过残差流传播和累积,导致压缩模型与原始模型产生放大的全局偏差。为解决这些问题,我们提出LACE-SVD,一种用于大语言模型压缩的**损失感知SVD**框架,结合**累积误差校正**。LACE-SVD首先估计候选层级压缩比所引起的校准负对数似然增加,并求解一个受预算约束的分配问题来分配秩预算。随后,它通过闭式局部更新对压缩模型进行精炼,并针对残差流输出模块引入传播感知校正,从而减少层级输出差异,作为减轻累积误差传播的代理。实验结果表明,在高压缩比(0.6)下,我们的方法在LLaMA-7B上的WikiText-2困惑度(32.57)显著优于Dobi-SVD(46.18)。

LACE-SVD: 基于损失感知的奇异值分解与累积误差校正的大语言模型压缩方法

Zhuowen Liu¹, Longkun Hao², Shiyu Feng³, Xiaowen Chang⁴, Ruiqun Li⁵, Changqun Li⁶†

## 1 引言

大语言模型(LLMs),包括GPT系列(Achiam等,2023)、LLaMA系列(Touvron等,2023a;Grattafiori等,2024)以及Qwen系列(Bai等,2023;Yang等,2025),在常识推理、问答、文档理解和少样本学习等方面取得了显著性能。然而,其强大的能力伴随着巨大的内存和计算成本,使得数十亿参数的模型在实际延迟、内存和能耗约束下难以部署。为应对这一挑战,训练后压缩已成为一个重要研究方向,包括量化(Frantar等,2022;Hu等,2025)、剪枝(Ashkboos等,2024)、知识蒸馏(Hinton等,2015)和低秩分解(Golub等,1987;Yuan等,2023)。在这些方法中,基于奇异值分解(SVD)的压缩因其直接将稠密权重矩阵分解为低秩分量,同时减少模型规模和矩阵乘法成本,且无需大规模重新训练,而特别具有吸引力。

近年来,基于SVD的压缩方法(Yuan等,2023;Li等,2025;Wang等)通过使用激活统计信息或校准数据,在原始截断SVD基础上进行了改进。这些方法在分解前对权重矩阵进行重新缩放或白化处理,使得低秩近似更好地匹配每层的激活分布。尽管有效,但它们仍然主要受局部重构目标的驱动。也就是说,它们旨在在校准激活下保留每个压缩模块或层的输出,而全局的语言建模行为仅被间接考虑。

这种局部视角导致了两个局限性。首先,不同层对压缩的敏感度不同。统一的秩比率可能导致对损失关键层过度压缩,而对鲁棒层压缩不足,导致对全局参数预算的次优利用。其次,重构误差在各层之间并非孤立。一旦早期层被压缩,其输出扰动会进入残差流,改变后续层的输入分布。这些扰动可能通过注意力模块和MLP模块累积,使得即使每层单独的局部重构误差很小,压缩模型也会偏离原始模型。

基于这些观察,我们提出LACE-SVD,一种用于大语言模型压缩的**损失感知SVD**框架,结合**累积误差校正**。LACE-SVD从互补的角度解决上述两个问题。首先,它通过评估候选层级压缩比如何影响校准负对数似然,进行损失感知的逐层秩分配,然后在全局参数预算下为每层选择一个比率。这使得方法能够将更多容量分配给对语言建模质量更重要的层。其次,LACE-SVD在SVD分解后引入累积误差校正。我们使用全精度校准激活通过闭式局部更新来精炼低秩因子。此外,对于直接写入残差流的模块,如注意力输出投影和MLP下投影,我们引入了一种传播感知校正机制。该校正不直接优化语言建模损失;而是减少压缩层输出与原始层输出之间的差异,作为减轻累积误差传播的实用代理。一个接受门仅在改进校准数据上层级输出保真度时保留校正。实验证明,我们的方法在高压缩比下显著优于Dobi-SVD,在LLaMA-7B上(0.6比率)实现了32.57的WikiText-2困惑度,而Dobi-SVD为46.18。总之,LACE-SVD将训练后SVD压缩从纯粹的局部矩阵近似转向损失感知的预算分配和累积误差校正。我们的贡献如下:

- •我们指出现有的基于SVD的大语言模型压缩方法受限于启发式秩分配和跨层累积误差传播,表明仅最小化局部重构误差不足以保持端到端模型保真度。
- •我们提出一种损失感知的逐层秩分配策略,该策略使用校准负对数似然在全局参数预算下选择压缩比,将更多容量分配给对语言建模性能更关键的层。
- •我们通过针对残差流输出模块的传播感知局部更新引入累积误差校正,减少了压缩模型与原始模型之间的层级输出差异,而无需进行完整的端到端微调。

## 2 相关工作

大语言模型压缩。大语言模型压缩广泛涉及剪枝、量化、知识蒸馏和低秩近似。非结构化和结构化剪枝(Ashkboos等,2024;Zhang等,2023;Ma等,2023;Dettmers等,2024)通常在硬件效率与严重精度下降之间权衡。量化(Nagel等,2021;Frantar等,2022;Hu等,2025;Lin等,2024;Hu等,2024)提供了强大的内存节省,但在激进的低位设置下失去了灵活性和性能,而知识蒸馏(Hinton等,2015)需要昂贵的重新训练。相比之下,基于奇异值分解(SVD)的低秩近似(Yuan等,2023;Wang等)提供了一种训练后、硬件无关的解决方案,与其他压缩范式自然正交。

基于SVD的大语言模型压缩。SVD(Golub等,1987)通过截断最小的奇异值来减小矩阵尺寸。使用SVD进行低秩近似已被广泛研究作为压缩大语言模型的高效方法。早期工作主要集中于最小化每层截断损失。为了纳入参数重要性,FWSVD(Hsu等)引入Fisher信息来衡量参数重要性,但其复杂的梯度计算需要大量的计算和内存资源。为了解决激活分布的影响,ASVD(Yuan等,2023)用对角矩阵对权重矩阵进行缩放,以规范化输入通道的影响。SVD-LLM(Wang等)通过提出输入矩阵的数据白化策略来减轻其影响,实现了理论上的最小截断损失,取得了进一步进展。在此基础上,SVD-LLM v2(Wang等,2025b)通过基于理论损失动态分配唯一的逐层压缩比,进一步优化了截断过程。此外,Dobi-SVD(Wang等,2025a)通过引入可微分截断机制进行自适应秩搜索,解决了逐层秩分配和信息丢失的挑战。为了应对更广泛的架构问题,SAES-SVD(Hu等,2026)通过引入累积误差感知压缩目标以及一种自适应加权机制来动态抑制局部误差和传播误差,解决了跨层误差累积的问题。

图1: LACE-SVD的整体架构。原始大语言模型层首先通过激活白化SVD分解为初始低秩权重。然后,损失感知分配策略动态选择每层的最优秩比(r_g)。最后,一个包含局部更新和累积误差校正(CEC)的误差校正流程被应用于补偿累积误差,然后组装成压缩后的大语言模型。

图2: LLaMA-7B在不同目标下的逐层压缩比分配。损失感知分配策略动态地在32层之间分配压缩预算。与均匀基线(红色虚线)相比,该算法一致地在早期层(L00–L06,绿色区域)保留更多参数以维持基础的词汇和句法特征,并在最后层(L27–L31)也保留更多参数,这些层是词汇对齐的关键敏感瓶颈。相反,由于语义和秩冗余更大,中间层(L08–L26,红色区域)被激进地剪枝。这种独特的U形“保留两端,剪枝中间”模式在所有目标压缩约束(20%到80%)下保持稳健一致。

## 3 方法

### 3.1 概述

给定一个预训练的大语言模型f_θ,其中包含Transformer层{ F_ℓ }_{ℓ=1}^L,我们的目标是在目标全局压缩比ρ下获得一个压缩模型f_θ̂,同时保持全精度模型的行为。LACE-SVD遵循训练后压缩设置,不需要端到端微调。

该方法包含三个主要阶段。首先,我们使用校准激活为线性投影矩阵计算激活白化的低秩分解。其次,我们通过估计每层不同候选压缩比所引起的校准损失增加,进行损失感知的逐层秩分配。第三,在分解选定层之后,我们通过闭式局部更新精炼低秩因子,并进一步对残差流输出模块应用累积误差校正。算法描述在附录A中提供。

### 3.2 激活白化SVD

对于包含权重矩阵W ∈ ℝ^{d_out × d_in}和校准输入X ∈ ℝ^{n × d_in}的线性投影,传统的截断SVD最小化W自身的重构误差。然而,在大语言模型中,近似W的效果取决于其输入激活的分布。因此,我们使用激活白化分解。

我们首先估计输入协方差:

G = X^T X. (1)

令C为G的Cholesky因子,即:

G ≈ C C^T. (2)

然后我们分解激活缩放后的权重矩阵:

WC = U Σ V^T。 (3)

保留前k个奇异分量得到压缩近似:

Ŵ = U_k Σ_k V_k^T C^{-1}. (4)

这对应于实现中的剖析矩阵路径:累积校准激活以构建白化矩阵,然后在缩放后的权重矩阵上执行SVD,最后将近似映射回原始权重空间。

### 3.3 损失感知的逐层秩分配

对所有层统一分配相同的压缩比忽略了层对压缩的敏感度不同。因此,LACE-SVD使用校准负对数似然来逐层选择压缩比。

令R_ρ表示与目标预算ρ相关的候选保留比率集。对于每层ℓ和候选比率r ∈ R_ρ,我们临时仅压缩层ℓ,而保持其他层不变。然后,我们评估校准损失增加:

Δ_{ℓ,r} = L_calib(f_θ^{(ℓ,r)}) - L_calib(f_θ), (5)

其中f_θ是全精度模型,f_θ^{(ℓ,r)}表示其第ℓ层以比率r压缩后的模型。

在实现中,通过临时将层中的权重替换为其低秩重构后的稠密权重,测量校准损失,然后恢复原始权重,来评估候选比率。得到的每层表格包含元组:

(r, C_{ℓ,r}, Δ_{ℓ,r}), (6)

其中C_{ℓ,r}是以比率r压缩层ℓ的参数成本。

给定这些表格,LACE-SVD求解一个多选预算分配问题:

min_{ { r_ℓ }_{ℓ=1}^L } ∑_{ℓ=1}^L Δ_{ℓ, r_ℓ}, (7)

满足约束:

∑_{ℓ=1}^L C_{ℓ, r_ℓ} ≤ ρ C_full,   r_ℓ ∈ R_ρ。 (8)

这里C_full是总参数数量。

相似文章

LLaVA-UHD v4:高效视觉编码在 MLLMs 中的关键要素是什么?

Hugging Face Daily Papers

本文介绍了 LLaVA-UHD v4,该模型通过采用基于切片(slice-based)的编码和 ViT 内部早期压缩,提高了多模态大语言模型中的视觉编码效率。它在保持或提升高分辨率图像任务性能的同时,将计算成本降低了 55% 以上。

我们可以用SLMs压缩数据吗?

Reddit r/LocalLLaMA

探讨了是否可以通过刻意对训练数据进行过拟合来使用小型语言模型(SLMs)实现无损数据压缩,反思机器学习中通常对过拟合的厌恶。