📘 TensorRT 精度修复 · 实战
30 章 · 从原理到综合实战
🎯
友好色系
01
精度损失概述
什么是TensorRT推理精度损失、常见表现(分类错误、检测框偏移、数值偏差)、精度损失对生产环境的影响。
02
精度损失根因分析
FP16/INT8量化原理、量化误差来源(权重截断、激活值分布偏移)、层融合与精度权衡。
03
环境准备与工具链
TensorRT版本选择(8.x vs 10.x)、CUDA/cuDNN版本兼容性、必备工具(Polygraphy、trtexec、onnx-graphsurgeon)。
04
基准模型构建
使用PyTorch/TensorFlow导出标准ONNX模型、ONNX算子兼容性检查、使用onnxruntime验证ONNX正确性。
05
TensorRT基础部署
使用trtexec将ONNX转为TensorRT引擎、FP32/FP16/INT8引擎构建、引擎序列化与反序列化。
06
精度对比方法论
使用Polygraphy进行逐层输出对比、余弦相似度与相对误差计算、设置合理的精度阈值(如0.99余弦相似度)。
07
常见精度问题1
量化敏感层识别、使用Polygraphy的--quantile参数分析激活值分布、定位导致精度下降的关键层。
08
常见精度问题2
动态形状(Dynamic Shape)导致的精度抖动、显存碎片与精度偶发错误、设置优化profile的注意事项。
09
常见精度问题3
自定义插件(Plugin)精度问题、Plugin中FP16/INT8实现的数值一致性、Plugin注册与调试。
10
常见精度问题4
层融合(Layer Fusion)副作用、强制关闭特定层融合的方法、使用setFlag控制融合行为。
11
常见精度问题5
DLA(Deep Learning Accelerator)精度问题、DLA支持的算子限制、DLA与GPU混合部署策略。
12
精度修复策略1
层精度回退(Per-layer Precision Override)、使用setPrecision设置特定层为FP32、实战:为检测头设置FP32。
13
精度修复策略2
量化校准(Calibration)优化、选择校准数据集(500-1000张代表性样本)、使用Entropy与MinMax校准器对比。
14
精度修复策略3
使用INT8 QAT(Quantization Aware Training)、TensorRT QAT流程、导出QAT模型并部署。
15
精度修复策略4
使用FP8(H100+)或TF32、FP8量化原理与优势、TF32在Ampere架构上的应用。
16
精度修复策略5
稀疏化(Sparsity)与精度、结构化稀疏的精度影响、使用TensorRT的稀疏推理。
17
精度修复策略6
多精度混合部署(FP32+FP16+INT8)、为不同子网络分配不同精度、实战:Backbone用FP16,Head用FP32。
18
精度修复策略7
使用TensorRT的严格类型约束(Strict Types)、setStrictTypeConstraints的使用场景、与层精度回退的区别。
19
精度修复策略8
ONNX图优化与精度修复、使用onnx-graphsurgeon修改计算图、插入Cast节点控制精度。
20
精度修复策略9
使用TensorRT的FP16/INT8白名单/黑名单、通过配置文件指定哪些层使用低精度。
21
精度修复策略10
动态范围调整(Dynamic Range Calibration)、手动设置每层的动态范围、使用setDynamicRange API。
22
精度修复策略11
使用TensorRT的IQuantize/IDequantize节点、手动控制量化反量化位置、实战:在特定层前后插入Q/DQ节点。
23
精度修复策略12
使用TensorRT的Refit功能、在不重建引擎的情况下修改权重、修复因权重导致的精度问题。
24
精度修复策略13
使用TensorRT的INT8 SmoothQuant、SmoothQuant原理与优势、在TensorRT中启用SmoothQuant。
25
精度修复策略14
使用TensorRT的FP8 Block-wise量化、Block-wise量化原理、与Per-tensor量化的对比。
26
精度修复策略15
使用TensorRT的INT4量化(实验性)、INT4量化适用场景、精度与速度的权衡。
27
精度修复策略16
使用TensorRT的模型压缩(Model Compression)、剪枝与蒸馏对精度的影响、与量化联合使用。
28
精度修复策略17
使用TensorRT的自动精度调优(Auto Tuning)、使用trtexec的--best参数、自动搜索最优精度配置。
29
精度修复策略18
使用TensorRT的精度诊断工具、Polygraphy的debug模式、逐层打印精度信息。
30
综合实战
从ONNX到高精度TensorRT引擎、端到端精度修复流程、性能与精度的最终权衡。