GuidedQuant: Large Language Model Quantization via Exploiting End Loss Guidance¶
会议: ICML 2025
arXiv: 2505.07004
代码: snu-mllab/GuidedQuant
领域: 模型压缩
关键词: 后训练量化, Fisher信息矩阵, 非均匀标量量化, 端到端损失引导, LLM压缩
一句话总结¶
提出 GuidedQuant,通过将端到端损失的梯度信息融入逐层量化目标(保留输出通道内的权重交互),作为即插即用模块显著提升现有 SOTA PTQ 方法在标量/向量/权重-激活量化上的性能;同时提出 LNQ 算法用于非均匀标量量化,实现 2-bit 下 Llama-2-7B perplexity 从 39.58 降至 8.83。
研究背景与动机¶
现有 LLM 后训练量化(PTQ)方法主要依赖逐层输出重建误差作为代理目标,即最小化量化前后每层输出的 MSE:\(\|\mathbf{X}\mathbf{W} - \mathbf{X}\hat{\mathbf{W}}\|_F^2\)。这个目标存在关键缺陷:将所有隐藏特征视为同等重要,忽视了它们对最终损失的不同影响。
另一类方法如 SqueezeLLM 利用梯度信息计算每个权重的显著性分数(saliency score),通过 Fisher 信息矩阵的对角近似来衡量权重误差对端损失的影响。但对角近似过于粗糙——它忽略了权重之间的交互关系,而 Fisher 矩阵实际上具有显著的非对角结构(作者在 Llama-2-7B 上通过可视化验证)。
核心矛盾:要么忽视特征重要性差异(逐层重建),要么忽视权重交互(对角 Fisher 近似),两者都不够准确。
方法详解¶
整体框架¶
GuidedQuant 的核心思想是:用端到端损失对层输出的梯度来加权输出误差,同时保留输出通道内权重的交互依赖。
具体来说,对第 \(l\) 层,提出如下量化目标:
其中 \(\frac{\partial \ell}{\partial \mathbf{Z}^{(l)}}\) 是损失对该层输出的梯度,\(\odot\) 为逐元素乘积。直觉上,梯度大的输出维度对最终损失影响大,其量化误差应获得更高权重。
这个目标等价于一个更精细的二阶 Taylor 近似,其中 Hessian 采用 Fisher 信息矩阵的块对角近似——保留每个输出通道 \(j\) 内的 \(d_{in} \times d_{in}\) 块 \(\mathbf{F}_j^{(l)}\),丢弃跨通道和跨层的交互:
关键设计:Averaging Approximation¶
直接计算每个输出通道 \(j\) 的 Hessian \(\mathbf{H}_j^{(l)} = n\mathbf{F}_j^{(l)}\) 需要 \(O(d_{in}^2 \cdot d_{out})\) 存储——对现代 LLM(\(d_{in}, d_{out} > 10^3\))不可行。
核心近似:将 \(d_{out}\) 个输出通道分成 \(g\) 组(\(g \ll d_{out}\)),每组内的 Hessian 取平均:
利用链式法则,这等价于对梯度平方取平均:
这样每层只需存储 \(g\) 个 \(d_{in} \times d_{in}\) 矩阵,存储降为 \(O(d_{in}^2 \cdot g)\)。分组策略简单地将每 \(d_{out}/g\) 个连续通道归为一组。实践中梯度乘以 \(10^3\) 大常数防止下溢。
即插即用性:GuidedQuant 只需将现有逐层量化方法中的 Hessian \(\mathbf{H}^{(l)}\) 替换为分组平均的 \(\bar{\mathbf{H}}_k^{(l)}\),即可提升任何逐层输出型 PTQ 方法。
LNQ:Layer-wise Non-uniform Quantization¶
作者还提出了 LNQ 算法来改进非均匀标量量化中的优化过程。现有 SOTA(GPTVQ 1D)使用梯度下降优化 codebook + GPTQ 优化 assignment,两步都次优。
LNQ 采用交替最小化策略:
-
Codebook 优化(固定 assignment \(\mathbf{P}\)):标准最小二乘问题,存在闭式解: $\(\mathbf{c}^{(j)*} = (\mathbf{P}^{(j)} \mathbf{H} \mathbf{P}^{(j)\top})^{-1} \mathbf{P}^{(j)} \mathbf{H} \mathbf{w}_j\)$
-
Assignment 优化(固定 codebook \(\mathbf{c}\)):采用循环坐标下降(Cyclic CD)而非 GPTQ。CD 逐坐标最小化目标,每步有闭式解:量化到最近的 codebook 值,并补偿其他坐标的误差。
理论保证:LNQ 的目标函数值单调不增且收敛(Proposition 4.1)。
实现优化:CD 在 GPU 上通过三个技巧加速 4×——闭式坐标更新、预计算(precomputation)和惰性批量更新(lazy batch-updates)。
损失函数 / 训练策略¶
- 量化目标:分组加权的逐层输出重建误差(Eq. 7),梯度权重来自一次 backpropagation
- 仅需单次反向传播计算校准集上的梯度,存储开销 \(O(ngL)\)
- 总内存 \(O(Lg(d_{in}^2 + n))\),各组各层可完全并行
- 超参数简单:\(g=4\)(7B/13B),\(g=2\)(70B),\(g=1\)(权重-激活量化)
- LNQ 超参数:交替迭代 \(T=2\), CD 循环 \(K=4\)(7B/13B),\(T=1, K=4\)(70B)
实验关键数据¶
主实验¶
非均匀标量量化(Llama-2 系列,WikiText2 PPL,context=4096):
| 模型 | 方法 | Bits | Wiki2 ↓ | C4 ↓ |
|---|---|---|---|---|
| Llama-2-7B | SqueezeLLM | 2.01 | 39.58 | 44.05 |
| Llama-2-7B | LNQ | 2.01 | 23.31 | 26.71 |
| Llama-2-7B | LNQ + GQuant | 2.01 | 8.83 | 11.15 |
| Llama-2-13B | SqueezeLLM | 2.01 | 16.24 | 19.20 |
| Llama-2-13B | LNQ + GQuant | 2.01 | 7.26 | 9.17 |
| Llama-2-70B | SqueezeLLM | 2.01 | 9.17 | 13.03 |
| Llama-2-70B | LNQ + GQuant | 2.01 | 5.04 | 7.04 |
向量量化(QTIP + GuidedQuant):
| 模型 | 方法 | Bits | Wiki2 ↓ | C4 ↓ |
|---|---|---|---|---|
| Llama-2-7B | QTIP | 2.00 | 6.82 | 8.96 |
| Llama-2-7B | QTIP + GQuant | 2.00 | 6.11 | 7.99 |
| Llama-2-70B | QTIP | 2.00 | 3.87 | 5.69 |
| Llama-2-70B | QTIP + GQuant | 2.00 | 3.80 | 5.61 |
权重-激活量化(SpinQuant + GuidedQuant,W4A4KV4,Wiki2-2K):
| 模型 | 方法 | Wiki2 ↓ |
|---|---|---|
| Llama-2-7B | SpinQuant | 5.95 |
| Llama-2-7B | SpinQuant + GQuant | 5.89 |
| Llama-2-13B | SpinQuant | 5.24 |
| Llama-2-13B | SpinQuant + GQuant | 5.19 |
消融实验¶
| 配置 | Wiki2 (2-bit) | 说明 |
|---|---|---|
| LNQ (g=0, 无梯度引导) | 23.31 | 仅逐层重建目标 |
| LNQ + GQuant (g=1) | 9.00 | 单组平均已有大幅提升 |
| LNQ + GQuant (g=2) | 8.82 | 边际改善 |
| LNQ + GQuant (g=4) | 8.83 | 最佳,g 对高比特不敏感 |
| LNQ + GQuant (GPTQ 做 assignment) | 9.65 | CD 优于 GPTQ 做 assignment |
| LNQ + GQuant (CD 做 assignment) | 8.83 | 验证 CD 选择正确 |
关键发现¶
- GuidedQuant 在极低比特(2-bit)场景提升最大——7B 模型 PPL 从 39.58 → 8.83,降幅 78%
- Fisher 矩阵确实具有强块对角结构——可视化显示同一输出通道内的权重交互远强于跨通道
- LNQ 的闭式 codebook + CD assignment 优于 GPTVQ 的梯度下降 + GPTQ——单独使用 LNQ 即超越 GPTVQ 1D
- 推理吞吐量不受影响——GuidedQuant 只优化 codebook 和 assignment 值,复用现有 CUDA kernel
- Llama-3 上同样有效——Llama-3-8B 2-bit 从 SqueezeLLM 的 163k+ → LNQ+GQuant 的 30.80
- 量化成本合理——Llama-2-7B 全流程(含 Hessian 缓存)约 1-2 小时,可跨配置复用
亮点与洞察¶
- 理论优雅:从二阶 Taylor 展开自然推导出梯度加权输出误差 = 块对角 Fisher 近似,比对角(SqueezeLLM)和忽略梯度(GPTQ)都更准确
- 工程精妙:averaging approximation 将不可行的 \(O(d_{in}^2 d_{out})\) 降至 \(O(d_{in}^2 g)\),完美平衡精度与效率
- 通用性极强:作为即插即用模块适用于标量/向量/权重-激活三种量化格式
- LNQ 的 CD + 闭式 codebook 设计比现有 alternating minimization 方法更优,且有收敛保证
局限与展望¶
- 跨层和跨通道交互仍被忽略——当前块对角近似丢弃了这些信息,可能在跨层量化误差累积时损失精度
- 分组策略过于简单——仅按连续通道分组,更智能的聚类(如基于梯度相似性)可能进一步提升
- 需要一次完整的反向传播——对 70B 模型仍需 A100 级 GPU 做梯度缓存
- 非均匀标量量化的推理延迟与均匀量化相当,但 lookup table 解码在某些硬件上可能有开销
- 实验主要在 Llama 系列——缺乏对 Mistral、Qwen 等其他架构的验证
相关工作与启发¶
- SqueezeLLM (Kim et al., ICML 2024):对角 Fisher 近似 + weighted k-means,GuidedQuant 的直接改进对象
- GPTQ (Frantar et al., ICLR 2023):逐层输出重建 + OBQ 风格量化,忽略梯度信息
- QTIP (Tseng et al., NeurIPS 2024):SOTA 向量量化方法,GuidedQuant 可直接集成
- SpinQuant (Liu et al., 2024):旋转矩阵减少激活 outlier 后做均匀量化,GuidedQuant 改进其权重量化
- WoodFisher (Singh & Alistarh, NeurIPS 2020):块对角 Fisher 用于 CNN 剪枝,但无法扩展到 LLM 规模
- 启发:梯度信息是廉价但有效的 saliency signal,关键在于如何在保留足够交互信息的同时控制计算/存储开销
评分¶
- 新颖性: ⭐⭐⭐⭐ — 块对角 Fisher + averaging approximation 组合新颖,但各单独组件在前人工作中有迹可循
- 实验充分度: ⭐⭐⭐⭐⭐ — 覆盖三种量化格式、三种模型规模、多个基线,消融丰富,还有推理吞吐量和下游任务评估
- 写作质量: ⭐⭐⭐⭐⭐ — 理论推导清晰,从动机到方法到实验逻辑链完整
- 价值: ⭐⭐⭐⭐⭐ — 即插即用地提升多个 SOTA 方法,2-bit 量化改进巨大,实用价值极高
相关论文¶
- [ICML 2025] RADIO: Rate-Distortion Optimization for Large Language Model Compression
- [ACL 2025] Quantification of Large Language Model Distillation
- [ICML 2025] Q-resafe: Assessing Safety Risks and Quantization-aware Safety Patching for Quantized Large Language Models
- [ACL 2025] L4Q: Parameter Efficient Quantization-Aware Fine-Tuning on Large Language Models
- [NeurIPS 2025] Vision-centric Token Compression in Large Language Model