模型的训练后量化

训练后模型优化是指应用无需重新训练或进行微调的特殊方法,将模型转换为对硬件更友好的表示的过程。该领域最受欢迎、应用最广泛的方法是 8 位训练后量化,因为该方法:

  • 简单易用。

  • 不会严重降低精度。

  • 能够显著提升性能。

  • 适合许多硬件现货,因为它们当中的大多数硬件都对 8 位计算提供本机支持。

8 位整数量化将权重和激活的精度降低到 8 位,从而使模型占用空间减少近四分之三,并显著提高推理速度(这主要是由于推理所需的吞吐量较低)。这个降低精度的步骤是在进行实际推理之前离线完成的,因此模型会转换为量化表示。该过程不需要深度学习框架源码中的训练数据集或训练管道。

../_images/quantization_picture.svg

要应用 OpenVINO 中的训练后方法,您需要具备以下条件:

  • 一个 FP32 或 FP16 浮点精度模型,转换为可在 CPU 上运行的 OpenVINO 中间表示 (IR) 格式。

  • 一个代表性校准数据集(例如 300 个样本),代表了某个用例场景。

  • 如果存在精度限制,则应该具备可用的验证数据集和精度指标。

OpenVINO 目前提供两个具有训练后量化功能的工作流程: