技术摘要:HARP(Hadamard 预条件自适应旋转处理器)
1. 问题陈述
后训练量化(PTQ)对于在内存和带宽受限条件下部署大语言模型(LLM)至关重要。然而,极端低位数量化(2–4 位)面临两个主要挑战:
- 激活异常值与重尾统计特性:一小部分坐标携带不成比例的权重质量和曲率敏感性,导致量化时产生严重的重构误差。
- 各向异性权重曲率:当权重质量或曲率敏感方向与特定坐标轴对齐时,标准量化器(标量或分块向量)表现不佳。
现有解决方案依赖于非相干处理,即在量化前应用结构化的正交基变换,以将权重质量分散到各个坐标上。当前的标准是随机 Hadamard 变换(RHT)。虽然 RHT 速度快(O(dlogd))且严格正交,但它是固定的。它无法适应:
- 特定层的统计特性。
- 校准数据的分布。
- 下游量化器的分块结构。
最近的研究表明,端到端学习旋转可以提升质量,但这些方法往往削弱了 PTQ 流程的“即插即用”特性,改变了全精度模型,或引入了对推理而言过高的计算成本。目前缺乏一种能够从校准数据中学习、保持严格正交基变换(保留全精度模型)并维持类 Hadamard 效率的处理器。
2. 方法论:HARP
作者提出了HARP(Hadamard 预条件自适应旋转处理器),这是一种可学习的、双侧正交处理器,旨在替代 PTQ 流程中的固定 RHT。
2.1 核心架构
HARP 将正交旋转参数化为稀疏、基于步长的阶段的乘积,模仿快速 Hadamard 变换和蝴蝶变换的结构。
- 结构:对于维度 d,HARP 使用混合基调度 b=(b0,…,bm−1),其中 ∏bt=d。
- 阶段:每个阶段 t 将块对角正交矩阵 Bt 应用于坐标组,并通过步长置换进行分隔。
- 混合基支持:与仅限于 2 的幂次的标准 Hadamard 变换不同,HARP 利用混合基调度(例如 $8, 8, 8, 5, 2$)支持任意维度(例如 5120)。非 2 的幂次基数利用确定性正交回退方案(固定高斯矩阵的 QR 分解)。
2.2 Hadamard 预条件与初始化
一项关键创新是Hadamard 预条件的块核。每个可学习块 Bt,c 定义为:
Bt,c(θ)=Qt,c(θ)Gbt
- Gbt 是固定的基础混合器(2 的幂次使用归一化 Sylvester Hadamard,否则使用 QR 回退)。
- Qt,c(θ) 是可学习的正交矩阵(当 bt=2 时为 Givens 旋转,当 bt>2 时为 Cayley 映射)。
初始化:所有可学习参数 Θ 初始化为零。在 Θ=0 时,Qt,c(0)=I,意味着 Bt,c(0)=Gbt。因此,HARP 变换在初始化时精确恢复了固定的 RHT 处理器(至多相差一个固定的置换约定)。随后,校准过程将围绕这一强基线学习结构化的正交细化。
2.3 优化目标
HARP 仅使用校准数据按层进行拟合。优化过程最小化与部署的分块量化器对齐的代理损失:
- 对角 Hessian 加权重构:最小化旋转权重与其分块码本目标之间的误差,权重由 Hessian 代理的对角线加权。梯度在离散码本分配处停止,以确保稳定性。
- 非块 Hessian 能量惩罚:正则化项(Rbd)惩罚 Hessian 代理非对角块中的能量,鼓励旋转将曲率与量化器的分块结构对齐。
总损失为:
Lfit(Θ)=Ldiag(Θ)+λbdRbd(ΘV)
2.4 部署效率
- 存储:HARP 参数可以int8格式存储,对困惑度的影响极小。
- 计算:应用成本为 O(dlogd),与 RHT 类似。作者实现了融合 Triton GPU 内核用于步长阶段,以避免显式置换,保持低延迟开销。
- 兼容性:HARP 是 QuIP# 和 QTIP 流程中预处理步骤的即插即用替代品,无需更改量化器后端或求解器。
3. 主要贡献
- 可学习非相干处理器:提出了 HARP,这是一种通过校准数据拟合的双侧正交处理器,能够适应层统计特性和后端量化器结构。
- 即插即用兼容性:HARP 初始化为精确的固定 RHT 处理器,确保其成为现有基于 Hadamard 的 PTQ 流程的无缝升级,无需全模型重训练或图重构。
- 结构化效率:利用类蝴蝶的混合基阶段,实现了非 2 的幂次维度上的严格正交性和 O(dlogd) 复杂度,保留了量化推理的吞吐量优势。
- 实证验证:在 1B 到 70B 参数的模型上,2–4 位设置中,证明了相比固定 RHT 在困惑度和零样本准确率方面的一致性质量提升。
4. 实验结果
作者使用 QuIP# 后端在 Llama 3.2(1B, 3B)和 Llama 2(7B, 13B, 70B)上评估了 HARP。
- 困惑度(PPL):HARP 始终优于固定 RHT。
- 2 位:在此处提升最为显著,因为量化最为敏感。对于 Llama 2 7B,HARP 将 WikiText2 PPL 从 8.22(RHT)降低至 7.23。对于 Llama 2 70B,从 4.16 降至 4.01。
- 3-4 位:提升依然存在,但随着基线接近全精度,绝对幅度较小。
- 零样本准确率:HARP 提高了 ARC-Challenge、ARC-Easy 和 WinoGrande 任务的准确率,证实了困惑度的提升转化为下游性能的提升。
- 延迟与吞吐量:
- 在 NVIDIA RTX 5080 上,2 位 HARP 为 Llama 2 7B 实现了128 tokens/sec,而 FP16 为 61 tokens/sec。
- HARP 相对于固定 RHT 的延迟开销适中(例如,2 位 7B 每 token 为 0.0078 秒对比 0.0070 秒),保留了大部分量化加速优势。
- 可移植性:当集成到QTIP(使用格码量化的不同后端)时,HARP 再次相比固定 RHT 改善了困惑度,证明了其与后端无关的实用性。
- 存储开销:使用 int8 参数存储,有效每参数字节数(BPP)增加极小(例如,2 位 7B 从 2.00 → 2.05),对模型质量的影响可忽略不计。
5. 意义与主张
本文主张 HARP 解决了 PTQ 领域的一个特定空白:需要自适应预处理,且不牺牲效率或精确性。
- 自适应性与固定性:与固定的 RHT 不同,HARP 将旋转基适应于特定层和量化器块结构,从而在极端低位数量化区域减少重构误差。
- 精确性与近似性:与某些改变全精度模型或需要端到端训练的学习旋转方法不同,HARP 是严格的基变换。全精度模型在数学上得以保留;仅改变暴露给量化器的坐标系。
- 效率与成本:与密集学习旋转或复杂图修改(如 SpinQuant)不同,HARP 保持了 Hadamard 变换的 O(dlogd) 计算成本,使其适用于大规模 LLM 部署。
作者将 HARP 定位为并非一个新的独立流程,而是一个可重用模块,通过在强固定基线周围学习结构化细化,来增强现有的基于 Hadamard 的后端(如 QuIP# 和 QTIP)。结果表明,对于极端低位数量化(2–3 位),一次性校准以学习这些旋转的成本,完全值得模型质量的显著恢复。