跳转至

PTQ1.61: Push the Real Limit of Extremely Low-Bit Post-Training Quantization Methods for Large Language Models

会议: ACL 2025 (Long Paper)
arXiv: 2502.13179
代码: https://github.com/zjq0455/PTQ1.61
领域: 模型压缩
关键词: LLM量化, PTQ, 极低比特, 二值化, 结构化掩码

一句话总结

首次将LLM权重真正量化到1.61-bit(此前号称sub-2bit的方法实际都超过2bit),通过一维结构化掩码(仅增加0.0002-bit/权重)保留显著通道、块级缩放因子优化和量化预处理三大创新,在LLaMA系列上以更低比特超越BiLLM和PB-LLM。

背景与动机

LLM的极低比特量化(sub-2bit)是最大化压缩比的前沿研究。已有方法PB-LLM和BiLLM声称实现了接近1-bit的量化,但都使用了非结构化细粒度掩码来区分显著权重——这些掩码本身需要额外1-bit/权重存储,使实际有效比特宽度分别达到2.7和2.1 bit,根本没有真正突破2-bit界限。此外,它们独立求解行缩放因子,忽略了行间的隐式依赖关系和角度偏差。

核心问题

如何在真正sub-2bit的预算下(包括掩码开销),最大限度保留LLM性能?

方法详解

整体框架

三步pipeline:(1) 量化预处理——用轻量LoRA将权重分布转化为行模式;(2) 一维结构化掩码——基于输入激活的通道幅值选择显著通道做4-bit量化,非显著通道做二值化;(3) 块级缩放因子优化——联合考虑行间依赖和角度偏差进行优化。

关键设计

  1. 一维结构化掩码(0.0002-bit/权重): 作者从数学推导出发,证明量化误差上界显著受输入激活通道幅值影响。因此提出按通道(列)整体判断显著性——只需一个长度为m的01向量(m为输入维度),约5%的通道被标记为显著并用4-bit量化,其余95%二值化。有效比特宽度=0.95×1+0.05×4+0.0002≈1.15+0.20+0.0002≈1.61 bit。这与PB-LLM/BiLLM的非结构化掩码(每个权重一个bit)形成鲜明对比。

  2. 块级缩放因子优化: 传统方法对每行独立求解最优缩放因子α_w=||w||₁/n_w。PTQ1.61将权重矩阵分为多个块,在块内联合优化缩放因子,使用MSE+NLC(Normalized Linear CKA)损失:MSE捕捉幅值误差,NLC捕捉角度偏差。这种块级优化比行独立优化更好地保留了行间结构关系。

  3. 量化预处理(Quantization Preprocessing): 一个全新范式——不是先量化再修复,而是先用轻量级LoRA对预训练权重做变换,使其分布更适合逐通道量化。具体做法:用少量预训练数据训练LoRA使得合并后的权重显著值更集中在少数通道(行模式),之后再做PTQ。实验表明该预处理策略也可以泛化到BiLLM等其他方法(BiLLM+预处理: PPL从35.04降到25.62)。

损失函数 / 训练策略

  • 缩放因子优化:L_total = L_MSE + λ·L_NLC(λ平衡幅值和角度误差)
  • 量化预处理LoRA:使用预训练数据做少量步优化,rank极低
  • 校准数据:WikiText2采样

实验关键数据

WikiText2 PPL(LLaMA-7B):

方法 有效比特宽度 PPL ↓
FP16 16 5.68
OmniQuant 2.0 15.47
PB-LLM 1.7(+1=2.7) 102.19
BiLLM 1.0(+1.1=2.1) 35.04
PTQ1.61 1.61 12.50

零样本任务平均(LLaMA-7B, 8个任务):

方法 Bits Avg Acc
FP16 16.0 63.06
OmniQuant 2.0 34.24
BiLLM 2.1 36.00
PTQ1.61 1.61 41.14

LLaMA-30B (推高规模):

方法 Bits PPL Avg Acc
OmniQuant 2.0 8.69 46.46
PTQ1.61 1.61 8.26 51.77

消融实验要点

  • 结构化掩码 vs 非结构化: 一维结构化掩码仅需0.0002-bit/权重 vs 非结构化1-bit/权重,性能相当或更好
  • 块级优化 vs 行独立: 块级优化PPL降低约2-3个点
  • NLC损失: 加入角度约束后LLaMA-7B PPL从14.23降到12.50
  • 量化预处理: 对BiLLM也有效(PPL 35.04→25.62),通用性强
  • 显著通道比例: 5%通道保持4-bit是最优平衡点(增加到10%则比特宽度超标)
  • 模型规模: 越大的模型从PTQ1.61获益越多(30B模型PPL甚至低于OmniQuant 2-bit)

亮点

  • 真正突破2-bit: 首次实现1.61-bit的LLM PTQ,证明掩码开销不可忽略是此前方法的核心问题
  • 结构化思维: 从非结构化变为一维结构化,额外存储从1-bit降到0.0002-bit——降低了5000倍
  • 量化预处理范式: 全新的思路——让权重分布先适应量化方法,而非让量化方法适应权重分布
  • 跨方法泛化: 预处理策略可以直接提升BiLLM等其他方法

局限性 / 可改进方向

  • 1.61-bit精度仍有不可忽视的降低(7B模型PPL从5.68升到12.50),距离4-bit的近无损量化相差甚远
  • 块级优化需要校准数据和一定的计算开销,不是完全免费的压缩
  • 仅在LLaMA/OPT系列验证,未测试Mistral、Qwen等架构
  • 量化预处理LoRA训练引入额外步骤,与纯PTQ的"开箱即用"定位略有矛盾
  • 未讨论W1.61A16的推理加速效果——极低比特能否转化为实际速度提升?

与相关工作的对比

  • vs BiLLM (Huang et al.): BiLLM声称1-bit但实际2.1-bit,PTQ1.61真正做到1.61-bit且PPL更低(12.50 vs 35.04)
  • vs PB-LLM (Shang et al.): PB-LLM实际2.7-bit,PPL高达102.19,完全不可用
  • vs OmniQuant: OmniQuant是2-bit的SOTA(PPL 15.47),PTQ1.61以更低比特(1.61)达到更低PPL(12.50)
  • vs L4Q: L4Q是QAT方法需要训练,PTQ1.61是PTQ方法更轻量,两者互补

启发与关联

  • "量化预处理"范式有可能推广到其他压缩方法(如剪枝前做结构化预处理)
  • 一维结构化掩码的思路可以用于其他需要混合精度的场景
  • 与L4Q结合:先用PTQ1.61做初始量化,再用L4Q的联合训练做精调,可能实现更好的极低比特模型

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 三个创新点都很有价值,特别是"量化预处理"和结构化掩码
  • 实验充分度: ⭐⭐⭐⭐ 覆盖LLaMA全系列(7B-65B)、多个benchmark,但缺少其他架构
  • 写作质量: ⭐⭐⭐⭐ 数学推导清晰,但论文较长(20页含附录),信息密度可优化
  • 价值: ⭐⭐⭐⭐⭐ 真正推动了PTQ的极限,揭示了此前方法的"虚假sub-2bit"问题