4-bit量化的"三国杀"
2026年,如果你想对模型做4-bit量化,你有三个选择:
- GPTQ(Post-Training Quantization): 精度最高,但量化速度慢(需要校准数据)
- AWQ(Activation-aware Weight Quantization): 速度最快,精度略低于GPTQ
- BitsAndBytes(Hugging Face生态): 生态最好(Hugging Face原生支持),但定制性较弱
这三个方法,怎么选? 我们用实测数据说话。
实测对比
测试环境: Qwen 3.0 7B,4-bit量化,GPU: A100 80GB
| 指标 | GPTQ | AWQ | BitsAndBytes (NF4) |
|---|---|---|---|
| 量化时间 | 约30分钟 | 约5分钟 | 约1分钟 |
| 需要校准数据 | 是(1000条) | 是(100条) | 否 |
| 模型大小 | 3.5 GB | 3.5 GB | 3.9 GB |
| 推理速度 | 1.8x | 2.0x | 1.5x |
| MMLU精度 | 70.1% | 70.5% | 70.3% |
| Perplexity | 8.5 | 8.3 | 8.7 |
GPTQ:精度优先
GPTQ是2023年由IST Austria提出的量化方法,2026年仍然是"精度最高"的4-bit量化方法。它的核心思想是:逐层量化,每量化一层后,对剩余层的权重进行"补偿",减小量化误差。
GPTQ的优势:
- 精度最高(在大多数基准测试中)
- 支持多种bit数(2-bit, 3-bit, 4-bit, 8-bit)
- 支持"Group Size"(分组量化,精度更高)
GPTQ的劣势:
- 量化速度慢(需要校准数据+迭代优化)
- 需要校准数据(如果校准数据和生产数据分布不一致,效果会变差)
- 对"非常规"模型架构支持有限
适合: 对精度要求最高的场景,且你有合适的校准数据。
AWQ:速度优先
AWQ是2023年由MIT提出的量化方法,2026年已经成为"工业界最受欢迎"的4-bit量化方法。它的核心思想是:不是所有权重都一样重要——有些权重(“显著权重”)对精度影响大,需要保留更多bit;有些权重(“非显著权重”)对精度影响小,可以留更少bit。
AWQ的优势:
- 量化速度快(不需要迭代优化)
- 推理速度快(比GPTQ快约10%)
- 对"显著权重"的保护让精度损失更小
- 支持多种模型架构
AWQ的劣势:
- 精度略低于GPTQ(在大多数基准测试中,差0.2-0.5%)
- 校准数据虽然少,但仍是必需的
适合: 对推理速度要求高,且"精度损失0.5%“可以接受的场景。2026年,AWQ是工业界4-bit量化的"首选”。
BitsAndBytes:生态优先
BitsAndBytes是Hugging Face生态中的量化库,由Tim Dettmers创建。2026年,BitsAndBytes是Hugging Face上"最方便"的量化方法——一行代码,即可完成4-bit量化。
BitsAndBytes的优势:
- 生态最好(Hugging Face原生支持,transformers、accelerate、PEFT库无缝集成)
- 使用最简单(一行代码)
- 量化速度最快(无需校准数据)
- NF4格式(Normal Float 4-bit)对正态分布权重更友好
BitsAndBytes的劣势:
- 推理速度最慢(比GPTQ慢约20%,比AWQ慢约30%)
- 模型体积略大(NF4需要额外的量化参数)
- 定制性较弱(自动量化,无法手动调整)
适合: 快速原型开发、实验、微调(QLoRA)。如果你要做QLoRA微调,BitsAndBytes是必选。
选型建议
你的需求是什么?
├── "我要最高精度" → GPTQ
├── "我要最快推理" → AWQ
├── "我要最方便" → BitsAndBytes
├── "我要做QLoRA微调" → BitsAndBytes (NF4)
├── "我要部署到llama.cpp" → GGUF (Q4_K_M)
└── "我要部署到TensorRT-LLM" → INT4 (TensorRT原生)
结语
2026年,4-bit量化已经非常成熟。GPTQ(精度)、AWQ(速度)、BitsAndBytes(生态)三足鼎立。对于大多数场景,AWQ是"综合最优"——精度接近GPTQ,速度快于GPTQ,使用方便。但如果你需要"最高精度"(差了0.5%可能会影响业务),GPTQ仍然是最好的选择。
记住:量化方法的选择,不只是"精度"的比拼,还包括"速度"、“便利性”、“生态”、“可部署性”。 选择最适合你的,而不是"论文里最好的"。