了解量化感知训练 (QAT) 如何优化 Ultralytics YOLO26 模型以进行边缘部署。探索如何在 INT8 精度下保持高准确性。
量化感知训练 (QAT) 是一种专门技术,用于机器学习模型的训练阶段,以使其适应低精度环境。在标准的深度学习工作流中,模型通常使用高精度的32位浮点数 (FP32) 进行操作。尽管这种精度提供了出色的准确性,但它可能计算成本高昂且内存密集,尤其是在边缘设备上。QAT在模型训练期间模拟量化(将精度降低到8位整数 (INT8) 等格式)的效果。通过在学习过程中引入这些量化误差,模型学会调整其权重,并有效恢复在训练后转换过程中可能损失的精度。
将计算机视觉模型部署到资源受限的设备上,通常需要在速度和性能之间取得平衡。标准的量化方法,即训练后量化 (PTQ),仅在模型完全训练后才进行精度降低。尽管PTQ速度快,但有时会降低敏感模型的准确性,因为神经网络权重在没有机会调整的情况下被显著改变。
QAT通过让模型“练习”量化来解决这个问题。在训练的前向传播过程中,权重和激活被模拟为低精度值。这使得梯度下降过程能够以一种专门针对量化状态最小化损失的方式更新模型参数。结果是一个鲁棒的模型,即使在部署到微控制器或移动处理器等硬件上也能保持高精度。
有助于将QAT与模型量化区分开来,特别是训练后量化 (PTQ):
QAT对于那些边缘硬件上的实时推理至关重要的行业来说是必不可少的。
Ultralytics Platform和YOLO生态系统支持将模型导出为量化格式。尽管QAT是一个复杂的训练过程,但现代框架简化了模型为量化推理做准备的过程。
下面是一个示例,说明如何将训练好的YOLO26模型导出为INT8量化的TFLite格式,该格式利用量化原理实现高效的边缘部署。
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
通过量化技术优化的模型旨在在专用推理引擎上运行。经过QAT训练的模型常使用ONNX Runtime进行跨平台部署,或使用OpenVINO在Intel硬件上进行优化。这确保了无论是针对Raspberry Pi还是专用的Edge TPU,模型都能以最高的效率和速度运行。
要全面理解 QAT,有助于熟悉几个相关的机器学习概念:
通过将量化感知训练集成到 MLOps 流水线中,开发者可以 弥合高精度研究模型与高效、可用于生产的边缘 AI 应用之间的差距。

开启您的机器学习未来之旅