模型精度调优指导

在模型量化部署过程中,主要是将模型内高精度计算的数据映射到对应的低精度表示,在端侧部署时带来延时和带宽等方面增益的同时最小化量化压缩带来的精度损失; 而量化误差是影响模型精度的主要因素,为最大程度降低量化带来的精度损失,我们在本章节为您提供了调优流程指导介绍。

其中,ONNX 模型的调优流程在各平台上是通用的,而 PyTorch 模型的调优流程,针对不同平台的硬件存在差异化,下方列出 PyTorch 模型适配J6各平台的调优流程。

  • J6E/M调优流程

    结合J6E/M的硬件特性,主要是以int8 + int16 的混合精度量化为主要调优配置,同时可尝试增加少量fp16算子设置来进行调优,具体的调优流程参考如下:

  • J6H/P调优流程

    结合J6H/P的硬件特性,主要是以int8 + int16 + fp16的混合精度量化为主要调优配置,可尝试增加较多的fp16算子设置来进行调优,具体的调优流程参考如下:

注意

J6H/P平台上会用到更多fp16高精度和GEMM类算子双int16等的配置,为了配置方式更加简单灵活,我们提供了一套新的qconfig量化配置模板, 具体使用方式和注意事项参考 构建 Qconfig 章节的介绍。

通过上述流程进行模型精度调优,可减少量化带来的精度损失,后续章节我们将为您分别介绍 ONNX 模型及 PyTorch 模型两条链路详细的量化精度调优方法,并结合实际案例,为您讲解精度调优方法的具体操作流程。