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) 块级缩放因子优化——联合考虑行间依赖和角度偏差进行优化。
关键设计¶
-
一维结构化掩码(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)形成鲜明对比。
-
块级缩放因子优化: 传统方法对每行独立求解最优缩放因子α_w=||w||₁/n_w。PTQ1.61将权重矩阵分为多个块,在块内联合优化缩放因子,使用MSE+NLC(Normalized Linear CKA)损失:MSE捕捉幅值误差,NLC捕捉角度偏差。这种块级优化比行独立优化更好地保留了行间结构关系。
-
量化预处理(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"问题