量化:方法对照表
这一页把量化主线里的代表方法放在同一页,不只是为了记住名字,而是为了回答三个工程里最常见的问题:误差主要出现在权重、激活、KV cache,还是量化 kernel 和调度兼容性上;某种方法“更准”到底是因为二阶补偿、通道保护、平滑激活,还是训练时已经让模型适应了量化噪声;真实线上收益到底来自显存下降、吞吐增加、单卡可部署,还是仅仅减少了模型文件大小。
量化最容易被误解成“把 16 位变成 4 位”,但真正难点在于:
不同方法保护的对象不同,误差迁移的路径也不同。
读量化方法表时,先问它在保护什么:权重、激活、离群通道、二阶敏感方向、KV cache,还是 kernel 兼容性。方法名字越多,越要回到误差来源和部署约束。
4bit 可能省显存,但如果 dequant 开销大、kernel 不成熟、关键层误差高,端到端反而不如 8bit 或 FP8。工程里经常选择“硬件和 runtime 上最稳的低精度”,而不是纸面最低 bit。
同一张照片压得越小,文件越省,但小字、边缘和暗部细节可能先坏掉。量化也是这样:有些层像大色块,误差可忍;有些层像小字和边缘,必须保得更精细。
1. 方法总表
| 方法 | 是否重训 | 核心关注点 | 更适合的场景 | 主要优点 | 主要风险 |
|---|---|---|---|---|---|
| 基础 PTQ | 否 | 统一缩放与静态量化 | 快速部署 baseline | 简单、成本低、易落地 | 容易明显掉点 |
| GPTQ | 否 | 二阶误差补偿 | 大模型 W-only 量化 | 离线效果稳,对 4bit 友好 | 预处理复杂,分层耗时 |
| AWQ | 否 | 激活敏感通道保护 | 大模型权重量化部署 | 对关键通道友好,实际效果常好 | 依赖校准数据质量 |
| SmoothQuant | 否 | 激活 outlier 平滑迁移 | 推进 W+A 量化 | 激活更平稳,利于 INT8 部署 | 权重侧负担增加 |
| ZeroQuant / 类似方案 | 否或轻微再校准 | 系统化 PTQ 流程 | 数据中心批量部署 | 端到端流程更完整 | 对具体硬件依赖较强 |
| QAT | 是 | 训练时显式模拟量化误差 | 低比特高要求部署 | 精度通常最稳,可控性强 | 训练成本高 |
| QLoRA | 是 | 量化底座上的低秩适配 | 低资源微调 | 显存节省大,实用性高 | 域偏移大时容量不足 |
| FP8 / 混合精度 | 否或少量校准 | 兼顾吞吐与稳定性 | 训练和服务混合加速 | 工程兼容性好,收益稳 | 精度收益不及 4bit 激进方案 |
| KV Cache Quant | 否 | 推理态缓存压缩 | 长上下文推理 | 减显存很直接 | 长程依赖可能受损 |
2. 用一个公式理解量化误差来自哪里
对实数张量 做线性量化时,常写成:
其中 是 scale, 是 zero-point, 是低比特整数表示, 是反量化后的近似值。
如果定义误差为 ,主要会遇到截断误差、饱和误差和传播误差:bit 数太低会让表示不够细,极值被 clip 会造成饱和,某层误差还可能被后续层继续放大。不同量化方法,本质上是在不同位置控制这三种误差。
3. 各类方法到底在保护什么
3.1 基础 PTQ:保护流程简洁,不保护极端情况
基础 PTQ 的优点是落地快。如果业务只是想快速压缩模型体积、做一个初始可用基线,或者先观察显存收益,它的价值很高。但它往往没有针对 outlier 通道、层间误差传播和不同层敏感性做细致处理,因此在 4bit 或激进 W+A 场景里容易掉点。
3.2 GPTQ:保护 Hessian 敏感方向
GPTQ 的经典直觉是:
不是所有权重误差都一样危险。
如果某些方向对应更高曲率,那么在这些方向上引入同样大小的误差,会带来更大的 loss 增量。
其近似目标可以写成:
其中 是 Hessian 或其近似。
这就解释了为什么 GPTQ 常被理解为“带二阶补偿”的 PTQ。
3.3 AWQ:保护真正被激活放大的通道
AWQ 的核心思想很工程化:
有些权重通道本身看起来不大,但一旦与高振幅激活相乘,就会对输出影响极大。
因此 AWQ 不只是看权重,而是看“权重和激活共同决定的敏感性”。
这特别适合大语言模型,因为许多层的关键通道一旦被压坏,就会造成明显的语义或推理退化。
3.4 SmoothQuant:把激活尖峰搬到权重端
激活 outlier 是 INT8 激活量化的一大障碍。
SmoothQuant 通过对权重和激活做重参数化,把激活峰值平滑掉。
直觉上可以写成:
其中 是按通道设置的缩放矩阵。
它的目的就是让 变得更平滑,从而让激活量化更容易。
3.5 QAT:保护整个前向传播链
QAT 的直觉最直接:
既然推理时一定会出现量化误差,那训练时就把这种误差显式注入,让模型自己学会适应。
这相当于把量化噪声视作训练分布的一部分。
优点是稳。
缺点是贵。
尤其在超大模型上,QAT 不是一句“再训一下”就能轻松完成的。
3.6 QLoRA:保护微调资源预算
QLoRA 不是传统意义上只为部署而生的量化。它更像在问:如果底座已经是量化状态,能不能继续高效适配;能不能只训练少量低秩增量参数,而不恢复全精度主干。它在低资源场景里极其重要,因为它把“量化”和“微调”这两条线真正接了起来。
4. 一张“误差控制重点”对照表
| 方法 | 主要控制什么误差 | 为什么有效 | 最怕什么 |
|---|---|---|---|
| 基础 PTQ | 平均量化误差 | 流程简单 | outlier 和层敏感性 |
| GPTQ | 高曲率方向误差 | 二阶近似更细 | 校准不充分、实现复杂 |
| AWQ | 激活放大的关键通道误差 | 对真实推理更敏感 | 校准分布与线上偏离 |
| SmoothQuant | 激活饱和误差 | 平滑激活分布 | 权重端负担增大 |
| QAT | 前向链整体误差 | 训练时适应量化噪声 | 算力成本高 |
| QLoRA | 微调资源与量化兼容 | 底座量化仍可适配 | 任务复杂时容量受限 |
| FP8 | 高吞吐下的数值折中 | 硬件友好 | 极低比特收益有限 |
| KV Cache Quant | 推理缓存误差 | 长上下文显存立减 | 长程注意力劣化 |
5. 量化方法不是“谁最准”,而是“谁最匹配瓶颈”
场景 A:你只有一块消费级 GPU,想把 70B 模型先跑起来
重点不是极致精度,而是能不能装下、有没有基本可用吞吐、能不能先验证业务链路。这时 GPTQ、AWQ 一类 W-only 方案往往最值。
场景 B:你要把模型放进生产服务,长上下文请求非常多
这时权重量化之外,KV cache quantization 可能更关键。
因为即使权重已经压到 4bit,在线显存仍可能被 cache 吃掉。
场景 C:你做的是企业级高精度问答系统,不允许明显掉点
这时也许应该优先考虑 FP8 / 混合精度、INT8 with SmoothQuant 或较轻量的 QAT,因为这些方案在稳定性上更容易被团队接受。
6. 一张“部署目标到方法”的映射表
| 部署目标 | 更适合的方法 | 主要理由 |
|---|---|---|
| 快速得到压缩基线 | 基础 PTQ | 实现快,风险小 |
| 4bit W-only 尽量保精度 | GPTQ / AWQ | 对大模型经验成熟 |
| 推动 W+A 量化 | SmoothQuant / QAT | 激活问题是关键 |
| 在量化底座上继续微调 | QLoRA | 资源性价比高 |
| 长上下文显存优化 | KV cache quant | 在线缓存才是瓶颈 |
| 训练和服务都要兼容硬件加速 | FP8 / 混合精度 | 工程链更稳定 |
7. 真正的工程瓶颈经常不在论文标题里
量化上线时,团队最常见的误判是:
误判 1:模型文件更小,系统就一定更快
不对。真实系统还会受到反量化 kernel 开销、内存访问模式、batch 大小时的并行效率和 KV cache 带宽影响。
误判 2:离线 benchmark 没掉分,线上就稳
不对。
如果校准集主要是短文本,而线上全是长推理、多轮工具调用、RAG 片段拼接,分布差异会迅速放大问题。
误判 3:所有层都该同样低比特
现实里经常需要让 embedding 层、输出层和注意力里的敏感投影保留更高精度。混合精度是常态,不是例外。
8. 一个简单的误差传播直觉
设第 层输出为
量化后变成
则某层误差不只由 决定,还会受后续层 Jacobian 放大。
粗略地说:
这解释了为什么同样 4bit 下某些层很安全、某些层很危险;如果不做分层敏感性分析,方案很容易看起来“平均误差不大”,结果真实输出明显变差。
9. 如何看论文里的结果才不容易被误导
读量化论文时,建议固定问六件事:它量化的是权重、激活、KV cache 还是三者一起;是否需要真实校准数据;报的是困惑度、下游任务、端到端延迟还是离线指标;是否需要特殊 kernel 才能兑现速度;是否只在某一类架构上有效;真正节省的是显存、带宽还是总拥有成本。
10. 一份实用选型顺序
如果你在做实际项目,先确认瓶颈是在权重、激活还是 KV cache。若主要是模型装不下,优先试 AWQ / GPTQ 这类成熟 W-only;若主要是长上下文显存,尽快把 KV cache quant 纳入评估;若要线上稳定且可长期维护,优先考虑 FP8 或稳妥的 INT8 路线;若必须在量化状态上继续适配任务,再引入 QLoRA 或轻量 QAT。
11. 一个总判断
量化方法对照时,最关键的不是“哪篇论文更新”,而是先分清它保护的是哪种误差、牺牲的是哪种成本、适配的是离线研究、单卡部署还是生产系统。只有把误差来源、系统瓶颈和训练预算一起放进去看,量化选型才不会停留在“4bit 看起来更省”这种表面层。
12. 推荐跳转
- 看全局总览:量化路线图
- 看 PTQ 主线:PTQ、GPTQ、AWQ 与 SmoothQuant
- 看量化训练:QLoRA 与量化训练
- 看部署核查:评估与部署检查清单
- 看混合精度:FP8 与混合精度推理
- 看运行框架:量化运行时与框架
- Title: 量化:方法对照表
- Author: Charles
- Created at : 2026-01-05 09:00:00
- Updated at : 2026-01-05 09:00:00
- Link: https://charles2530.github.io/2026/01/05/ai-files-quantization-comparison-table/
- License: This work is licensed under CC BY-NC-SA 4.0.