功能介绍

当前训练后量化工具自动对ONNX模型中的卷积(Conv)和矩阵乘法(Gemm)进行识别和量化,并将量化后的模型保存为.onnx文件,量化后的模型可以在推理服务器上运行,达到提升推理性能的目的。量化过程中用户需自行提供模型与数据集,调用API接口完成模型的量化调优。

ONNX模型的量化可以采用不同的模式,包括Label-Free和Data-Free模式。这些模式在量化过程中是否需要数据集以及如何使用数据集方面有所不同。msModelSlim工具提供的squant_ptq接口post_training_quant接口支持这两种量化模式,并且都可以处理静态和动态shape模型。

目前支持对包括但不限于已验证模型中的模型进行模型训练后量化。

  • 若量化任务完成后发现模型性能下降,需要使用AOE工具对模型进行调优,具体方法可参考AOE工具使用指南。其中昇腾社区ModelZoo提供的模型一般为AOE工具调优后的模型,量化后改变了模型结构,需要再次使用AOE工具进行调优。
  • 量化任务完成后,可能会存在模型精度下降的情况,需要通过一定的配置减少精度损耗。在调用squant_ptq接口量化时,可参考精度保持策略进行配置;在调用post_training_quant接口进行量化时,可以自行配置矫正数据或在QuantConfig接口下指定量化节点,以保持模型的精度。