第5章 · 量化与压缩


第5章 · 量化与压缩

章节摘要:ORT Quantization 在图级插入 Q/DQ 节点,支持 PTQ 与 QAT,配合 TensorRT/CPU/DML EP 的 INT8/FP16 kernel。量化是精度与带宽的契约重签,不是简单「改 dtype」。

本章要解决的问题

模型部署的最后一道关口是"瘦身提速":带宽减半、显存减半、吞吐翻倍,但精度不能掉出业务红线。量化不是把权重改成小整数这么简单——它涉及校准集、量化方法、算子敏感度、EP 支持四件事的耦合。常见的三个问题:ResNet 量化掉 0.1% 精度,换 LLM 掉 9 个点,为什么差这么多;校准集用训练数据,线上却崩了;FP16 与 INT8 到底选哪个。本章三节分别处理工具链、算子级校准与混合精度。

本节导读

  1. 区分 PTQ 与 QAT 适用场景
  2. 运行 quantize_static 基本流程
  3. 解释 Transformer 中 Softmax 对量化的敏感性

量化流水线总览

阶段 输入 输出 关键决策
语义审计 FP32 图 可量化算子清单 哪些算子排除
校准 校准集 + 图 每张量的 scale/zero_point 校准方法、样本量
图重写 审计+校准结果 含 Q/DQ 的图 QDQ vs QOperator
融合 Q/DQ 图 QLinearConv 等 与 EP 能力对齐
验证 INT8 图 精度报告 逐算子 diff

精度与收益的本质权衡

量化是"精度与带宽的契约重签":把 FP32 的 4 字节降到 INT8 的 1 字节,带宽与存储省 4 倍,代价是每层引入量化噪声。噪声能否被接受取决于三件事——激活分布的形状(CNN 的分布平稳,Transformer 的分布尖峰)、算子的敏感度(Softmax 前的 logits 极敏感)、校准是否贴近线上。三者任一没控住,掉点就超红线。

子章节

节 主题 核心问题 关键产出
5.1 PTQ 与 QAT 工具链 两个量化路径怎么选 工具链选择决策
5.2 INT8 算子与校准 校准方法与敏感算子 校准配置 + 排除清单
5.3 FP16 混合精度推理 INT8 之外的第二条路 混合精度方案

5.1 PTQ 与 QAT 工具链

quantize_static / dynamic 与 QAT 导出。

5.2 INT8 算子与校准

QLinearConv、校准方法与对称/非对称。

5.3 FP16 混合精度推理

FP16 EP 选项与敏感层保留 FP32。

前置与后续

  • 前置:第2章图优化(量化图同样被融合 pass 处理)、第3章 EP(INT8 kernel 归属)
  • 后续:第6章 Profiling(量化前后的延迟与带宽对比)
  • 贯穿线索:量化结果必须在目标 EP 上验证,同一 INT8 图在不同 EP 的 kernel 不同,精度与性能都可能不同
作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U