深圳Yolo 视觉
深圳
立即加入
词汇表

量化感知训练 (QAT)

了解量化感知训练 (QAT) 如何优化 Ultralytics YOLO26 模型以进行边缘部署。探索如何在 INT8 精度下保持高准确性。

量化感知训练 (QAT) 是一种专门技术,用于机器学习模型的训练阶段,以使其适应低精度环境。在标准的深度学习工作流中,模型通常使用高精度的32位浮点数 (FP32) 进行操作。尽管这种精度提供了出色的准确性,但它可能计算成本高昂且内存密集,尤其是在边缘设备上。QAT在模型训练期间模拟量化(将精度降低到8位整数 (INT8) 等格式)的效果。通过在学习过程中引入这些量化误差,模型学会调整其权重,并有效恢复在训练后转换过程中可能损失的精度。

QAT为何对边缘部署至关重要

计算机视觉模型部署到资源受限的设备上,通常需要在速度和性能之间取得平衡。标准的量化方法,即训练后量化 (PTQ),仅在模型完全训练后才进行精度降低。尽管PTQ速度快,但有时会降低敏感模型的准确性,因为神经网络权重在没有机会调整的情况下被显著改变。

QAT通过让模型“练习”量化来解决这个问题。在训练的前向传播过程中,权重和激活被模拟为低精度值。这使得梯度下降过程能够以一种专门针对量化状态最小化损失的方式更新模型参数。结果是一个鲁棒的模型,即使在部署到微控制器或移动处理器等硬件上也能保持高精度。

区分QAT与训练后量化 (PTQ)

有助于将QAT与模型量化区分开来,特别是训练后量化 (PTQ):

  • 训练后量化 (PTQ): 模型以 FP32 精度正常训练。训练完成后,权重转换为 INT8。这种方法速度更快,无需重新训练,但对于复杂架构可能会导致更高的准确性损失。
  • 量化感知训练 (QAT): 量化过程在微调阶段进行模拟。模型调整其内部参数以适应低精度引入的噪声,通常比 PTQ 产生更好的 准确性

实际应用

QAT对于那些边缘硬件上的实时推理至关重要的行业来说是必不可少的。

  • 自动无人机:AI无人机操作中,电池寿命和板载处理能力受到严重限制。使用通过QAT优化的模型的无人机,可以在使用INT8加速器的情况下高精度地detect障碍物或track物体,与FP32模型相比显著延长了飞行时间。
  • 智能零售摄像头: 超市利用 零售计算机视觉 来监控货架库存或管理结账队列。这些系统通常在低功耗边缘网关上运行。QAT 确保在这些设备上运行的 object detection 模型能够保持区分相似产品所需的准确性,而无需昂贵的云连接。

借助Ultralytics实施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 相关关键概念

要全面理解 QAT,有助于熟悉几个相关的机器学习概念:

  • 精度: 指用于表示数字的详细程度。半精度 (FP16) 和 INT8 是常见的量化目标。
  • 校准:确定动态激活值(最小值/最大值)范围的过程,以有效地将浮点数映射到整数。这是部署量化 YOLO 模型的一个关键步骤。
  • 推理延迟:QAT的主要优势之一是降低推理延迟,从而实现实时系统中更快的决策。
  • 微调:QAT通常作为预训练模型的微调步骤进行,而非从头开始训练,从而节省计算资源。

通过将量化感知训练集成到 MLOps 流水线中,开发者可以 弥合高精度研究模型与高效、可用于生产的边缘 AI 应用之间的差距。

让我们一起共建AI的未来!

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