当前训练后量化工具自动对ONNX模型中的卷积(Conv)和矩阵乘法(Gemm)进行识别和量化,并将量化后的模型保存为.onnx文件,量化后的模型可以在推理服务器上运行,达到提升推理性能的目的。量化过程中用户需自行提供模型与数据集,调用API接口完成模型的量化调优。
ONNX模型的量化可以采用不同的模式,包括Label-Free和Data-Free模式。这些模式在量化过程中是否需要数据集以及如何使用数据集方面有所不同。msModelSlim工具提供的squant_ptq接口和post_training_quant接口支持这两种量化模式,并且都可以处理静态和动态shape模型。
Data-Free模式则不需要数据集来进行量化矫正。这种模式通常使用模型本身的统计信息或其他无需实际数据的技巧来估计量化参数。Data-Free模式的优势在于,它可以用于那些难以获取或无法获取真实数据的场景。当前以Data-Free模式(以squant_ptq接口为例)(无需校准数据集)为例演示量化步骤。
在Label-Free模式下,量化过程需要少量的数据集来矫正量化因子。这种模式允许量化工具根据实际数据分布调整量化参数,从而提高量化后的模型精度。当前以Label-Free模式(以post_training_quant接口为例)为例演示量化步骤。
目前支持对包括但不限于已验证模型中的模型进行模型训练后量化。