02. PTQ and QAT Timing | PTQ 与 QAT 的介入时机
页面目标
本节回答的是:什么时候先做 PTQ,什么时候必须把量化误差带回训练过程。
本节的输出是介入时机决策:先用 PTQ 验证收益,还是为精度恢复付出 QAT / 量化微调成本。
问题起点
量化真正的第一道选择,不是 GPTQ 还是 AWQ,而是“量化发生在训练后,还是训练中”。这件事决定了:
- 你能不能用最小成本快速落地;
- 你有没有机会让模型适应量化误差;
- 量化路线会不会和 LoRA / QLoRA、继续训练等动作绑在一起。
你要先确认什么
- 你有没有训练预算。
- PTQ 后精度损失是否已经不可接受。
- 你的目标是快速部署,还是尽量保住效果。
核心矛盾
PTQ 便宜、快、适合快速验证;QAT 更重,但能让模型在训练时学会适应量化误差。两者的差别,不只是“训练前后”的时间点,而是你愿意把多少复杂度付给训练过程。
机制链
PTQ 通常先使用代表性数据估计量化参数,再冻结量化表示评估模型;QAT 则在训练过程中插入 fake quantization 或等价的量化误差模拟,让前向路径感知离散化带来的偏差,反向传播仍需要可训练的近似梯度。
| 阶段 | 主要状态 | 主要风险 | 最小证据 |
|---|---|---|---|
| PTQ 校准 | 模型参数基本不变,估计 scale / zero-point | 校准数据不代表目标输入 | 校准集摘要、误差分布、任务质量 |
| PTQ 部署 | 量化参数冻结,由 backend 执行 | 格式或 kernel 不匹配 | 成功加载、显存、延迟、吞吐 |
| QAT / 量化微调 | 训练过程适应量化噪声 | 训练成本、收敛和部署格式不一致 | train / val 曲线、最终 artifact、部署复验 |
校准数据和评测数据承担不同职责:校准数据用于估计 scale、zero-point 或敏感性,评测数据用于判断量化后是否仍满足任务质量。两者应保持来源和版本可追溯;如果直接用评测集校准,得到的质量结果不能作为独立证据。
| 数据角色 | 主要用途 | 需要记录 | 常见风险 |
|---|---|---|---|
| 校准集 | 估计量化参数或观察激活范围 | 数据版本、样本数、长度分布 | 不代表真实 workload,导致范围覆盖不足 |
| 验证集 | 调整 QAT / 低比特适配过程 | split、seed、评测脚本 | 调参过度,质量结果偏乐观 |
| 测试集 / 业务样例 | 给出最终质量证据 | 固定样例、指标版本、运行配置 | 与校准分布不同,暴露长上下文或格式问题 |
“先做 PTQ”是一种成本控制策略,不是质量保证;“改用 QAT”也不意味着部署后一定更快。两种方案都要使用同一验证集和同一部署目标比较。
演化路径
- 先用 PTQ 建立第一版收益账本。
- 如果精度掉得还能接受,就继续走部署验证。
- 如果 PTQ 误差太大,但仍有训练预算,就考虑 QAT 或量化感知微调。
- 如果你已经在 LoRA / QLoRA 路线上,也要重新判断量化误差是否该被纳入训练。
关键取舍
- PTQ 更适合“先跑起来、先对齐收益”。
- QAT 更适合“量化误差已经成为主矛盾”。
- 继续训练并不总比 PTQ 更划算,因为训练成本本身也要算进部署收益。
证据边界
CPU 实验适合验证 PTQ / QAT 的流程、量化误差注入、校准统计和决策逻辑;它不能证明低比特训练 kernel、真实训练显存或部署吞吐。GPU 训练还需要记录 dtype、batch、序列长度、训练步数、峰值显存、step time、验证质量和 OOM 状态;量化推理则应转到固定 backend 的对比实验。
正文暂不嵌入未审核图示;相关图册与占位说明见 视觉资产页。
文献锚点
- PTQ / QAT 经典资料:理解校准与量化感知训练的基本差异。
- QLoRA 相关资料:理解低比特和训练感知为什么会在微调场景里耦合。
对应 Part 02
25W8A16 量化26QLoRA 与 4bit 量化67量化推理与部署
典型阅读入口
本节要点
PTQ 是低成本的第一轮验证,QAT 或量化微调是精度恢复手段;二者都必须回到同一评测集和部署目标比较。
进入下一页
如果 PTQ 的质量损失超过边界,进入 03 低比特训练适配;如果 PTQ 已可接受,则可直接进入权重量化或部署验证。
PTQ 和 QAT 的差别,本质上是“先压后测”还是“先让模型学会接受压缩”。
