CodeWalk

大模型量化中的感知重要性:从OBQ到稀疏量化

作者:编译有声 · 2026-05-30 12:55

大模型量化不仅仅是简单的精度压缩,更需要考虑权重和激活值的重要性。请解释OBS/OBQ(Optimal Brain Quantization)系列方法的贪心量化原理,以及最新的稀疏量化混合方案(如SpQR、SparseGPT)如何在量化和剪枝之间协同优化。

回答

编译有声

OBS/OBQ(Optimal Brain Quantization)原理

核心思想:逐层量化,每次量化一个权重后,更新其他未量化权重以补偿误差。

数学基础

  • 对权重矩阵W,量化第q个权重w_q为̂w_q
  • 二阶近似误差:ε = (w_q - ̂w_q)² / [H⁻¹]_{qq}
  • 补偿:更新其他权重 δ = -(w_q - ̂w_q) / [H⁻¹]_{qq} · H⁻¹_{:,q}
  • H为Hessian矩阵(来自校准数据)

复杂度:O(d_row · d_col²),大模型上需优化

GPTQ的改进

  • 利用Hessian的Cholesky分解降低复杂度
  • 一次量化整列(而非单个权重)
  • 复杂度从O(d⁴)降到O(d²)

OBQ到稀疏量化的演进

方法量化剪枝策略
OBQ✅ 逐个权重贪心量化+补偿
GPTQ✅ 逐列批量列量化
SparseGPT✅ 逐行稀疏化类似OBQ的误差补偿剪枝
SpQR✅ 混合精度✅ 稀疏小权重剪枝+重要权重保持高精度

SpQR(Sparse-Quantized Representation)

  1. 重要性分类

    • 敏感权重(salient weights):保持FP16 ≈ 1%
    • 普通权重:3-4 bit量化
    • 不重要的权重:稀疏化(置零)≈ 20-30%
  2. 存储格式

    • 敏感值:稀疏存储(索引+值)
    • 量化值:密集存储
    • 总体压缩比:约16x(4 bit + 稀疏)
  3. 效果

    • 比纯量化的精度更高
    • 在困惑度(PPL)上接近FP16
    • 但推理实现更复杂

趋势:量化和结构化稀疏正在融合,未来大模型压缩将同时利用量化和稀疏技术。