功能介绍
当前训练后量化工具自动对ONNX模型中的Conv和Gemm进行识别和量化,并将量化后的模型保存为.onnx文件,量化后的模型可以在推理服务器上运行,达到提升推理性能的目的。量化过程中用户需自行提供模型与数据集,调用API接口完成模型的量化调优。
ONNX模型量化包含Label-Free和Data-Free两种模式,均支持静态和动态shape模型的量化。Label-free模式下需要少量数据集矫正量化因子,Data-Free模式下无需数据集做矫正,可以直接对模型进行量化。当前ModelSlim工具提供了squant_ptq接口和post_training_quant接口两套量化接口,均支持两种模式的量化,当前以squant_ptq接口以Data-Free模式为例演示量化步骤,post_training_quant接口以Label-Free模式为例演示量化步骤。
目前支持对包括但不限于已验证模型中的模型进行模型训练后量化。
- 若量化任务完成后发现模型性能下降,需要使用AOE工具对模型进行调优,具体方法可参考《AOE工具使用指南》。其中昇腾社区ModelZoo提供的模型一般为AOE工具调优后的模型,量化后改变了模型结构,需要再次使用AOE工具进行调优。
- 量化任务完成后,可能会存在模型精度下降的情况,需要通过一定的配置减少精度损耗。在调用squant_ptq接口量化时,可参考精度保持策略进行配置;在调用post_training_quant接口进行量化时,可以自行配置矫正数据或在QuantConfig接口下指定量化节点,以保持模型的精度。
父主题: 训练后量化(ONNX)