← 返回 2026-04-13

初始化决定优化盆地:面向极低比特大语言模型量化的高效码本优化方法 Initialisation Determines the Basin: Efficient Codebook Optimisation for Extreme LLM Quantization

Ian W. Kennedy, Nafise Sadat Moosavi 📅 2026-04-09 👍 2 2026-07-13 08:36
EM算法 LLM量化 加性量化 后训练量化 码本初始化 边缘部署

提出表征比率 ρ 与 OA-EM 初始化,解决 2-bit 加性量化中贪心初始化陷入劣盆地的难题。

前置知识

后训练量化(PTQ)

在不重新训练的前提下,把已经训练好的模型权重压缩到低比特(如 INT4/INT2)的技术。常见做法是用一小段校准数据估计每一层权重的分布,再通过标量、向量或加性量化把权重映射到离散码本,以减少显存和加速推理。

本文研究的是 PTQ 中加性量化这一具体范式的初始化问题,只有先理解 PTQ 的整体目标(边缘部署、内存受限),才能体会 2-bit 极端压缩为何如此重要且为何存在灾难性退化。

加性量化(Additive Quantization, AQ)

用 $M$ 个码本之和表示权重 $w\in\mathbb{R}^g$,$\hat{w}=\sum_{m=1}^M c_{m,b_m}$。2-bit 时 $K=256, M=2$,共 $K^M=65{,}536$ 种可表示点;3-bit 时 $M=3$ 则 $K^M\approx 16.8M$ 种。

加性量化是 AQLM、PV-Tuning 等主流 2-bit 量化方法的基石,而本文的核心问题(贪心初始化陷入盆地)正是在这一范式下产生的,理解 AQ 的组合赋值机制是读懂 Proposition 1 误差分解的前提。

EM 算法(期望最大化)

用于含隐变量概率模型迭代优化的经典算法,交替执行 E 步(根据当前参数估计隐变量后验)与 M 步(在隐变量已知下最大化似然)。在向量量化中,E 步等价于把每个向量分配给最近的码字,M 步等价于把码字更新为所属向量的均值。

OA-EM 直接建立在 EM 框架之上,只是把欧氏距离替换为 Hessian 加权的马氏距离,所以熟悉 EM 的读者能立刻把 OA-EM 类比为「带输出敏感度权重的 k-means 变体」。

Hessian 矩阵与二阶信息

在量化中,层 $l$ 的损失 $\mathcal{L}$ 关于权重 $W_l$ 的二阶导数 $\mathcal{H}_l \approx 2 X_l^\top X_l$(其中 $X_l$ 为校准激活)刻画了「哪些权重变化对输出最敏感」。GPTQ 用它指导量化顺序,OA-EM 用它指导码字放置。

OA-EM 的关键就是把 Hessian 引入码本初始化,使码字优先落在「输出敏感」的权重区域,从而避免欧氏 k-means 把容量浪费在大幅值但输出无关的 outlier 上。

马氏距离(Mahalanobis distance)

一种考虑特征协方差的距离度量,定义为 $d_M(x,y) = \sqrt{(x-y)^\top \Sigma^{-1} (x-y)}$。当协方差为单位阵时退化为欧氏距离;当 $\Sigma$ 是对角或块对角 Hessian 时,它相当于按每个权重组的「输出敏感度」加权。

OA-EM 把 E 步中的欧氏距离替换为 $\|w_i - c_k\|^2_{H_i}$(Hessian 加权马氏距离),这是它和标准 k-means 之间唯一且最关键的差异,决定了初始化是否落到好的优化盆地。

研究动机

在 2-bit 加性量化场景中,主流方法 AQLM 先用「残差 k-means」顺序初始化码本,再用束搜索(beam search)在固定码本上搜索最优赋值,最后接 PV-Tuning 做端到端微调。这一流水线在 Llama 3.2 3B 上的预 PV 结果触目惊心:当束宽 $b=4$ 时 WikiText-2 困惑度高达 352.39(FP16 仅 7.28),即便把束宽加到 8 也只有 60.61,加到 16 仍为 46.01,时间却从 6.1h 涨到 16.9h(增幅 2.8×)。这意味着研究者直觉中「加大搜索就能弥补初始化缺陷」的思路在欠完备表征下彻底失效,束搜索只能在固定的码本树上找最优路径,无法重塑树本身的形状。

本文的目标是本文的目标不是提出新码本几何(如 GLVQ 的格码本、QTIP 的网格编码),而是在保留 AQLM 现有「自由形式加性量化 + O(1) 查表反量化」推理优势的前提下,把码本初始化阶段从「顺序残差 k-means」升级为「输出感知的 EM」,使下游束搜索和 PV-Tuning 能落到更好的优化盆地,从而在相同或更低的计算预算下显著降低困惑度。

与已有工作不同的是,已有工作分三条路径改进加性量化流水线:(1) 改码本几何(QuIP# 的 E8 格、GLVQ 的可学习格生成矩阵、QTIP 的网格编码),但牺牲了 LUT 零乘加推理路径;(2) 改进码本学习算法(GPTVQ 用单码本 EM),但仍属标量层面的 EM;(3) 改进后处理(PV-Tuning 的端到端微调),但默认假设上游初始化质量尚可。本文首次识别出「自由形式加性量化 + 贪心顺序初始化」这一环节是 2-bit 极端压缩下被忽视的瓶颈,提出用表征比率 $\rho = N/(KM)$ 量化其严重程度,并设计 OA-EM 直接在自由形式范式内矫正初始化盆地,与上述三条改进路径正交。

核心方法

本文方法 OA-EM 的核心思想是把「码本初始化」从几何层面的欧氏距离拟合,升级为面向输出重建误差 $\mathcal{L} = \|XW - X\hat{W}\|_F^2$ 的 EM 优化。直觉上,残差 k-means 把所有权重一视同仁,按欧氏距离分配码字,导致容量被大幅值 outlier 占用;OA-EM 借助块对角 Hessian $\mathcal{H}_i = X_i^\top X_i + \lambda I$ 让码字优先服务「输出敏感」的权重组,从根本上把码字放到更好的盆地起点。技术上,OA-EM 沿用 AQLM 的顺序码本框架(仍先拟合 $C_1$ 再拟合 $C_2$),但在拟合每本时执行 R=3 轮交替的 M 步(用 Adam 在 Mahalanobis 重建损失 $\mathcal{L}_{EM}=\sum_i e_i^\top \mathcal{H}_i e_i$ 上更新 $C_m$)与 E 步(按 Mahalanobis 距离重新赋值),从而把传统 k-means 的「等权欧氏拟合」替换为「输出加权拟合」,同时保留 LUT 推理路径不变。

OA-EM 与现有加性量化初始化方法(如 AQLM 残差 k-means)存在三重本质区别。第一,距离度量不同:k-means 用 $\|w_i - c_k\|_2$,OA-EM 用 $\|w_i - c_k\|_{\mathcal{H}_i}^2 = (w_i - c_k)^\top \mathcal{H}_i (w_i - c_k)$,把 Hessian 信息显式注入初始化阶段而非仅用于 GPTQ 风格的反向传播顺序;第二,质心更新方式不同:k-means 的 M 步是闭式均值,OA-EM 用 S=100 步 Adam 配合余弦退火从学习率 $\eta=10^{-4}$ 降到 $0.1\eta$ 直接优化加权重建损失,从而可以处理 Hessian 引入的各向异性;第三,本文首次用「表征比率 $\rho = N/(KM)$」作为理论透镜,$\rho<1$ 时贪心初始化的误差可被吸收(3 bpp 时 $\rho \approx 0.07$),$\rho \gg 1$ 时容量竞争剧烈(2 bpp 时 $\rho \approx 18$),由此把「优化盆地」这一抽象概念量化成可预测的几何性质。

方法步骤详情

OA-EM 的完整流程嵌入 AQLM 的层内量化循环,对每一层独立执行。步骤 1 是输入准备:给定当前层权重矩阵 $W \in \mathbb{R}^{d_\text{out} \times d_\text{in}}$、校准激活 $X$ 和分组大小 $g=8$,把 $W$ 切分为 $N=d_\text{out} d_\text{in}/g$ 个权重组 $w_i \in \mathbb{R}^g$,并预算 Hessian $\mathcal{H}_i = X_i^\top X_i + \lambda I$(阻尼 $\lambda = 0.01 \cdot \text{diag}(\mathcal{H})$)。步骤 2 是 k-means 热启动:用欧氏残差 k-means 得到初始码本 $\{c_{m,k}^0\}$ 与初始赋值 $\{b_i^0\}$,这与标准 AQLM 完全一致。步骤 3 是 OA-EM 主体循环:对 $r=1,\dots,R=3$ 轮,每轮先做 M 步——固定赋值,把每本码字的每个码字 $c_{m,k}$ 用 Adam 在损失 $\mathcal{L}_{EM}=\frac{1}{N}\sum_i e_i^\top \mathcal{H}_i e_i$(其中 $e_i = w_i - \sum_m c_{m,b_{i,m}}$)上做 $S=100$ 步更新,余弦退火 $\eta \to 0.1\eta$;再做 E 步——固定码字,对每个权重组 $w_i$ 按 Mahalanobis 距离 $\arg\min_k (w_i - c_{m,k})^\top \mathcal{H}_i (w_i - c_{m,k})$ 重新选码字 $b_{i,m}$,保持顺序拟合结构。步骤 4 是下游接力:把 OA-EM 输出的码本与赋值交给 AQLM 的束搜索($b \in \{4,8,16\}$, $e \in \{5,100\}$)做组合优化,再交给 PV-Tuning 做端到端微调(Adam, $\eta_{ft}=3\times10^{-4}$, batch 32, 10K 样本, 5 epoch)。整个过程不修改推理阶段的 LUT 反量化路径,因而对 ARM CPU、单片机等边缘硬件完全透明。

技术新颖性

本文的技术新颖性体现在三个层面。理论层面,Proposition 1 给出贪心次优性的显式误差界 $\varepsilon_g - \varepsilon^* = \underbrace{\|\delta\|^2}_{\text{直接代价}} + \underbrace{2\langle \delta, c_{2,j_g} - r^*\rangle}_{\text{耦合项}} + \underbrace{\|r^* - c_{2,j_g}\|^2 - \varepsilon^*}_{\text{残差不匹配} \ge 0}$,把「贪心顺序分配为什么会失败」从经验观察转化为可分解、可量化的几何解释,并由此自然导出表征比率 $\rho$ 的判别准则。算法层面,OA-EM 是首个把 Hessian 加权 Mahalanobis 距离同时引入码本质心更新(Adam 优化)和码字赋值(E 步)的自由形式加性量化初始化器,区别于 GPTVQ 的「单码本 EM」和 LSQ++ 的「信息检索场景 AQ」。实证层面,作者系统性地把「pre-PV 困惑度差距」「post-PV 困惑度差距」「束宽响应曲线」「领域距离梯度」四类证据拼成一幅完整的盆地持久性图谱,论证了「PV-Tuning 在盆地内精修而非跨盆地跳跃」这一反直觉结论。

实验结果

实验在 Llama 3.2 3B、Llama 3.1 8B、Qwen 2.5 3B 三个模型、2 bpp 与 3 bpp 两种位宽下展开,最核心的定量发现是:在 2 bpp 极端压缩下,OA-EM 把 Llama 3.2 3B 预 PV 的 WikiText-2 困惑度从贪心的 60.61(b=8, e=100)压到 17.39,C4 从 18.64 压到 18.00;后 PV 阶段差距虽然被压缩 188×,但 OA-EM 仍以 11.53 vs. 11.76 稳定胜出,且这一优势在所有束宽(b=4: 11.53 vs. 12.66, b=8: 11.53 vs. 11.76, b=16: 11.49 vs. 12.01)和早停配置(b=8, e=5: 11.76 vs. 12.69)下都成立。第二个关键发现是「束宽响应不对称」:把束宽从 8 加到 16 时,贪心初始化 post-PV 反而变差(11.76→12.01),而 OA-EM 持续改善(11.53→11.49),这一对照直接证实两种初始化落入不同盆地。第三个关键发现是 Pareto 优势:OA-EM 在 b=4、6.1h 的最廉价配置上即达到 11.53 ppl,胜过贪心在 b=16、16.9h 的 12.01 ppl,构成 2.8× 加速。在 3 bpp 的过完备区($\rho\approx 0.07$),预 PV 差距仅 0.65(9.52 vs. 8.87),后 PV 进一步压缩到 0.12,但 OA-EM 仍在 ARC-Easy 上提升 3.5pp、LAMBADA 准确率提升 1.5pp,说明盆地效应在过完备区也存在只是被弱化。跨架构实验显示 Llama 3.1 8B 后 PV WikiText-2 由 9.39 降到 9.25、C4 由 12.02 降到 11.89,Qwen 2.5 3B 后 PV WikiText-2 由 10.93 降到 10.73、C4 由 14.57 降到 14.49,OA-EM 在困惑度上普胜但 Qwen 上平均下游准确率反而低 0.3pp(0.603 vs. 0.606),作者将其归因于该模型权重分布更平滑、初始盆地更宽容。

Pre-PV-tuning results at 2 bpp on Llama 3.2 3B
Table 1: Pre-PV-tuning results at 2 bpp on Llama 3.2 3B
WikiText-2 perplexity before and after PV-tuning at 2 bpp on Llama 3.2 3B
Table 2: WikiText-2 perplexity before and after PV-tuning at 2 bpp on Llama 3.2 3B
Post-PV-tuning downstream summary at 2 bpp
Table 3: Post-PV-tuning downstream summary at 2 bpp
Basin persistence across compression rates and architectures (b=8, e=100)
Table 4: Basin persistence across compression rates and architectures (b=8, e=100)
Degradation scales with domain distance at 2 bpp (b=8, pre-PV-tuning)
Table 5: Degradation scales with domain distance at 2 bpp (b=8, pre-PV-tuning)
Pre-PV-tuning perplexity at 3 bpp on Llama 3.2 3B (b=8, e=100)
Table 6: Pre-PV-tuning perplexity at 3 bpp on Llama 3.2 3B (b=8, e=100)
Post-PV-tuning downstream at 3 bpp on Llama 3.2 3B (b=8, e=100)
Table 7: Post-PV-tuning downstream at 3 bpp on Llama 3.2 3B (b=8, e=100)
Post-PV downstream, Llama 3.2 3B, 2 bpp, b=4, e=100
Table 8: Post-PV downstream, Llama 3.2 3B, 2 bpp, b=4, e=100
Post-PV downstream, Llama 3.2 3B, 2 bpp, b=8, e=100
Table 9: Post-PV downstream, Llama 3.2 3B, 2 bpp, b=8, e=100
Post-PV downstream, Llama 3.2 3B, 2 bpp, b=16, e=100
Table 10: Post-PV downstream, Llama 3.2 3B, 2 bpp, b=16, e=100
Post-PV downstream, Llama 3.2 3B, 2 bpp, b=8, e=5 (early stopping)
Table 11: Post-PV downstream, Llama 3.2 3B, 2 bpp, b=8, e=5 (early stopping)
WikiText-2 / C4 perplexity before and after PV-tuning at 2 bpp on Llama 3.1 8B (b=8, e=100)
Table 12: WikiText-2 / C4 perplexity before and after PV-tuning at 2 bpp on Llama 3.1 8B (b=8, e=100)
Post-PV downstream, Llama 3.1 8B, 2 bpp, b=8, e=100
Table 13: Post-PV downstream, Llama 3.1 8B, 2 bpp, b=8, e=100
WikiText-2 / C4 perplexity before and after PV-tuning at 2 bpp on Qwen 2.5 3B (b=8, e=100)
Table 14: WikiText-2 / C4 perplexity before and after PV-tuning at 2 bpp on Qwen 2.5 3B (b=8, e=100)
Post-PV downstream, Qwen 2.5 3B, 2 bpp, b=8, e=100
Table 15: Post-PV downstream, Qwen 2.5 3B, 2 bpp, b=8, e=100
Quality-compute Pareto analysis at 2 bpp on Llama 3.2 3B
Table 16: Quality-compute Pareto analysis at 2 bpp on Llama 3.2 3B
查看结构化数据
任务指标本文基线提升
Llama 3.2 3B 2 bpp WikiText-2 困惑度(pre-PV, b=8, e=100) PPL↓ 17.39 60.61(残差 k-means) −43.22(−71.3%)
Llama 3.2 3B 2 bpp WikiText-2 困惑度(post-PV, b=8, e=100) PPL↓ 11.53 11.76(残差 k-means) −0.23(−2.0%)
Llama 3.2 3B 2 bpp WikiText-2 困惑度(post-PV, b=4, e=100) PPL↓ 11.53 12.66(残差 k-means) −1.13(−8.9%),且只用 6.1h(baseline 9.9h)
Llama 3.2 3B 2 bpp C4 困惑度(post-PV, b=8, e=100) PPL↓ 11.89 量级(C4 同步下降) 残差 k-means post-PV C4 = 12.02 约 −0.13
Llama 3.2 3B 3 bpp WikiText-2 困惑度(post-PV, b=8, e=100) PPL↓ 8.54 8.66 −0.12(−1.4%),且 ARC-Easy +3.5pp、LAMBADA 准确率 +1.5pp
Llama 3.1 8B 2 bpp WikiText-2 困惑度(post-PV, b=8, e=100) PPL↓ 9.25 9.39 −0.14(−1.5%),4/6 下游任务胜出
Qwen 2.5 3B 2 bpp WikiText-2 困惑度(post-PV, b=8, e=100) PPL↓ 10.73 10.93 −0.20(−1.8%),但平均下游准确率低 0.3pp(0.603 vs. 0.606)
2 bpp 量化时间(Llama 3.2 3B, b=4 vs b=16) GPU hours OA-EM b=4 = 6.1h 贪心 b=16 = 16.9h 2.8× 加速且 post-PV 困惑度更低(11.53 vs. 12.01)

局限与改进

作者明确承认三项局限:(1) 仅在 3B–8B 参数量、两个架构族(Llama 3.x、Qwen 2.5)上验证,更大模型需多 GPU 基础设施;(2) OA-EM 不直接迁移到基于格的 QuIP#、QTIP 或 GLVQ,因为这些方法通过约束码本几何回避了离散赋值问题,本文方法只在自由形式加性量化中适用;(3) 评估只覆盖英语基准(WikiText-2、C4、ARC、HellaSwag、PIQA、WinoGrande、LAMBADA),未涉及多语言或代码场景。此外,本文还隐含两个值得注意的边界——(4) OA-EM 的 EM 主体需在每层独立运行 R=3 轮、每轮 S=100 步 Adam,相当于额外引入一小段预训练开销,作者并未报告这部分额外时间量化到分钟级别;(5) 当模型本身已经处于「权重分布平滑、初始盆地宽容」的状态(如 Qwen 2.5 3B),OA-EM 的困惑度优势虽然稳定但下游平均准确率上反而略输 0.3pp,说明困惑度优化与下游任务并非完全同向。

独立分析的弱点

独立审视论文可识别出几个值得改进的薄弱环节。第一,OA-EM 的超参($R=3$ 轮、$S=100$ 步 Adam、$\eta=10^{-4}$、$\lambda=0.01\cdot\text{diag}(\mathcal{H})$)源自经验,作者未做消融实验也未说明是否对所有模型一致——尤其是在 8B 模型上 Hessian 块更大、激活校准仅 128 条序列的情况下,是否需要调整 $R$、$S$ 仍未知,改进方向是补充系统性的超参敏感性分析。第二,Hessian 近似 $\mathcal{H}_i = X_i^\top X_i + \lambda I$ 用的是块对角形式,忽略了权重组之间的耦合,而 AQLM 本身的 beam search 正是在补偿这种耦合,理论上更精确的全 Hessian 近似可能进一步缩小初始化差距,改进方向是引入 Fisher 信息矩阵或低秩 Hessian 近似并比较代价收益。第三,论文对 Qwen 2.5 3B 上「下游准确率 OA-EM 微负 0.3pp」的解释仅停留在「权重分布更平滑」的口语化论述,缺乏直方图、谱分析或 outlier 比率等定量证据,改进方向是补充对不同架构权重分布的统计刻画。第四,OA-EM 仍沿用「先 $C_1$ 再 $C_2$」的顺序拟合结构,理论上若能用更复杂的联合 EM(如同时优化 $C_1, C_2$)打破顺序假设,可能进一步提升质量,改进方向是探索多码本联合 OA-EM。

未来方向

作者在 Limitations 与 Conclusion 中明确点出两个延伸方向:一是「将 $\rho$ 框架与盆地持久性分析迁移到未来结合结构化与自由形式的混合量化器」——例如先用 GLVQ 风格的格码本初始化,再用 OA-EM 精调,或在 QuIP# 的 Hadamard 不相干处理之后接 OA-EM;二是把 OA-EM 推广到 1-bit 或亚 2-bit 极限制压缩(如 1.5 bpp 或三元量化),因为更低的位宽会进一步推高 $\rho$,理论上盆地效应会更强。基于论文成果还可进一步延伸:(1) 把 Hessian 信息融入 PV-Tuning 自身,使微调阶段也具备「输出感知」能力,与初始化阶段的 OA-EM 形成端到端一致性;(2) 探索 OA-EM 在多模态大模型(如 LLaVA、Qwen-VL)上的效果,因为视觉适配器权重分布通常更稀疏、更不平滑,可能为 $\rho$ 框架提供新的边界案例;(3) 把表征比率 $\rho$ 拓展为「面向任务」的版本——例如按各权重组的下游损失贡献加权得到 $\rho_{\text{task}}$,用于指导特定任务(数学、代码)的量化策略。

复现评估

论文公开了代码仓库(论文脚注标注的 GitHub 链接 https://github.com/kenno94-IK/aqlm-oaem),且在 AQLM 框架内做最小改动即可替换初始化器,复现门槛较低。实验所用校准数据是 C4 数据集的 128 条长度 4096 的序列(与 GPTQ、AWQ 一致),评价使用 LM Evaluation Harness 框架,所有任务的标准做法有据可查。算力方面,Llama 3.2 3B 与 Qwen 2.5 3B 在单卡 A100 80GB 上完成,Llama 3.1 8B 的 PV-Tuning 需单卡 B200 192GB;整体一轮主实验大约 6–17 小时,普通研究组可承受。超参选择($R=3, S=100, \eta=10^{-4}, \lambda=0.01\cdot\text{diag}(\mathcal{H})$)作者有明确描述;唯一的不确定项是 Adam 内部的具体实现细节(如 betas、eps、weight decay),以及并行化的具体策略——这些通常需要直接读代码补齐。总体而言复现难度为「中等」,瓶颈不在算力而在把 OA-EM 的 EM 主循环正确接入 AQLM 的层内流水线。