QAT(量化感知训练)

QAT

训练时模拟量化误差

亦作、亦称:量化感知训练 · Quantization-Aware Training

量化感知训练(Quantization-Aware Training,QAT)是一种在模型训练阶段主动模拟低比特量化误差的技术,使模型在正式部署到 INT8/INT4 等低精度环境时仍能保持接近全精度的推理准确率。相比训练后量化(PTQ),QAT 让模型在训练过程中就「感受」到量化带来的损失并学会适应,因此在精度敏感场景或超低比特部署中表现更优。

概述

量化感知训练(Quantization-Aware Training,QAT)是一种在模型训练阶段主动模拟低比特量化误差的技术,使模型在正式部署到 INT8/INT4 等低精度环境时仍能保持接近全精度的推理准确率。相比训练后量化(PTQ),QAT 让模型在训练过程中就「感受」到量化带来的损失并学会适应,因此在精度敏感场景或超低比特部署中表现更优。

概述与动机

QAT 的核心思路是「让模型在训练时就见过量化误差」,从而在推理部署时不再出现精度突降。

  • PTQ 的局限:直接对预训练浮点模型做训练后量化,激活值分布与量化网格可能严重不匹配,INT4 以下场景精度损失尤为明显
  • 端侧推理需求:移动芯片、嵌入式 NPU 通常只支持 INT8 或更低精度的整数运算,需要精度友好的量化方案
  • 适应性更强:模型在反向传播中隐式调整权重分布,使其对量化格子「友好」
  • 成本更高:需要完整的训练/微调循环,相比 PTQ 的一次性校准,计算开销显著更高
  • 主要目标场景:端侧部署、INT4 及以下超低比特、对精度敏感的任务(语音识别、目标检测)

核心机制

QAT 在训练图中引入伪量化算子,整个流程分为几个关键环节。

  • 伪量化(Fake Quantization):前向传播时对权重和激活值执行「量化→反量化」往返映射,制造与真实量化等价的舍入误差,但参数底层仍以 FP32 存储和更新
  • 直通估计器(STE,Straight-Through Estimator):量化的 round 操作梯度为零,STE 将梯度近似为 1 直接透传,绕过不可微问题,使反向传播正常进行
  • 量化参数scale(量化步长)与 zero-point 可在训练中固定或设为可学习参数(如 LSQ 方法)
  • 插入位置:通常在卷积/线性层的权重输入与激活输出处各插入一个伪量化节点
  • 最终导出:训练收敛后伪量化节点折叠进权重,导出真实低精度模型用于推理

典型训练流程

QAT 通常基于已有的预训练浮点模型进行微调,而非从头训练。

  • 第一步:加载预训练 FP32 模型,使用框架 API 插入伪量化节点(如 PyTorch prepare_qat、TFLite TFMOT quantize_model
  • 第二步:以较小学习率在原始数据集上继续微调,让模型参数适应量化误差
  • 第三步:校准量化参数(scale/zero-point),通常在少量代表性数据上统计激活值范围
  • 第四步:导出为量化模型格式(如 TFLite、ONNX、TorchScript)部署到目标硬件
  • 训练成本:通常需要原始训练总步数的 10%–20% 进行 QAT 微调即可收敛

主要变体

QAT 在不同任务和精度目标下衍生出多种改进方向。

  • 静态 QAT:scale/zero-point 训练后固定,推理时无需动态计算,延迟最低,适合 CNN 图像模型
  • PACT(2018,IBM):引入可学习激活截断上界参数,减少离群激活值对量化范围的干扰
  • LSQ(Learned Step Size Quantization,2020):将量化步长作为可训练参数端到端优化,INT4 场景下精度提升显著
  • 混合精度 QAT:对敏感层保留较高比特(INT8),其余层使用 INT4,常结合神经架构搜索自动分配
  • LLM-QAT(2023 至今):将 QAT 与 LoRA 微调结合,在大语言模型上实现参数高效的量化感知微调

与相邻概念的区别

理解 QAT 需要与几个相近概念做清晰区分。

  • QAT vs PTQ:PTQ 速度快、无需重训练但精度损失更大;QAT 训练成本高,精度通常更优;INT8 场景两者差距较小,INT4 以下 QAT 优势显著
  • QAT vs 知识蒸馏:蒸馏产生全新小模型,QAT 保留原始架构只改变数值精度;两者可叠加(先蒸馏再 QAT)
  • QAT vs 剪枝:剪枝减少参数数量,QAT 降低每参数的比特宽度,效果正交,常联合使用
  • 伪量化 vs 真量化:训练阶段的伪量化是浮点模拟,推理阶段才使用真正的整数运算,两者效果等价但实现机制不同
  • 误区:INT8 PTQ 配合 GPTQ/AWQ 已可媲美 QAT 效果,并非所有场景都需要承担 QAT 的训练成本

发展脉络

QAT 的演进伴随着深度学习部署需求的快速增长。

  • 2016:DoReFa-Net 等早期工作验证了在训练中模拟低比特的可行性,STE 被引入量化训练领域
  • 2018:Google Jacob 等人发表 CVPR 论文,正式提出系统化 QAT 框架并集成到 TensorFlow Lite;IBM PACT 提出可学习激活截断
  • 2020:LSQ 提出可学习步长,将 INT4 QAT 精度推向新高;PyTorch 1.7 集成官方 QAT API
  • 2020:NVIDIA 发布 Integer Quantization 白皮书(arXiv:2004.09602),推动 INT8 QAT 在数据中心普及
  • 2022–2023:随 LLM 爆发,LLM-QAT 等工作探索在超大规模模型上应用 QAT,与 LoRA 结合成为新方向
  • 2025–2026:Attn-QAT 等工作将 QAT 扩展至注意力机制的 4-bit 量化,进一步压缩推理开销

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「训练时模拟量化误差」
  • 「为了低比特部署提前适应」
  • 「比 PTQ 更稳但更麻烦」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

🎯 考点练习

含该术语的高频面试题,含标准答案与追问。

延伸阅读

从知识库精选 3 篇文章,帮助深入理解该术语。

  1. 1

    模型量化与压缩:从 FP32 到 INT4 的完整指南(ML 全场景)

    系统讲解模型量化与压缩的核心技术——从 PTQ/QAT 实战到知识蒸馏与结构化剪枝,涵盖 INT8、INT4 等主流方案在 ML 全场景的应用

  2. 2

    端侧 AI 技术路线:从 NPU 到 Agent 的完整指南

    系统讲解端侧 AI(Edge AI)的完整技术体系——从为什么需要端侧 AI 出发,深入解析 NPU/APU/GPU 三大端侧 AI 处理器架构,对比联发科天玑、高通骁龙、苹果 A/M 系列芯片的 AI 能力差异,探讨端侧模型压缩技术(量化/剪枝/蒸馏/知识蒸馏),并展望端侧 Agent 时代的到来。本文是理解 AI 从云端走向设备端的技术必读。

  3. 3

    LLM 推理优化:量化、剪枝、蒸馏与推理加速实战

    系统讲解大语言模型推理优化的四大核心技术——量化(Quantization)、剪枝(Pruning)、知识蒸馏(Knowledge Distillation)和推理引擎加速,覆盖从原理到实战的完整链路