文章目录
TensorRT量化模型分析
一 背景
在TensorRT
模型量化中,若是PTQ
方式能够解决量化模型精度问题,则优先选择PTQ
,否则,会考虑通过QAT
的方式优化模型。无论哪种方式,都不可避免要进行模型耗时分析,比如,了解模型某个模块甚至某个节点的耗时情况,才能更加精确的指导模型缩减耗时的方向。为此,我们需要统计模型的耗时分布,了解某个算子是通过何种精度(如fp32
、fp16
、int8
)进行计算等。
项目交付紧急时,可能来不及使用
QAT
的方式进行训练,且这种情况下,如果PTQ
又难以解决掉点问题,则我们往往会分析模型的不同模块,找到哪个模块量化后导致掉点严重,然后这些模块将不再被插入量化算子,保持其原始的模型结构。这种情况下可能会导致耗时增加,需要我们对模型的耗时分布有所了解,找到耗时原因。