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

量化感知训练 (QAT)

了解量化感知训练(QAT)如何Ultralytics 以实现边缘部署。探索如何在INT8精度下保持高精度。

量化感知训练(QAT)是一种在机器学习模型训练阶段使用的专业技术,旨在使其适应低精度环境。在标准深度学习工作流中,模型通常采用高精度32位浮点数(FP32)运行。虽然这种精度能提供卓越的准确性,但计算成本高昂且内存消耗大,尤其在边缘设备上更为显著。 QAT在模型训练期间模拟量化效应——将精度降至8位整数(INT8)等格式。通过在学习过程中引入量化误差,模型学会调整权重,从而有效恢复训练后转换可能丢失的精度。

为什么QAT对边缘部署至关重要

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

QAT通过让模型"练习"量化过程来解决这个问题。 在训练的前向传播过程中, 权重和激活值均以低精度数值进行模拟。这使得梯度下降过程能够 以最小化量化状态下损失的方式更新模型参数。最终获得的稳健模型 即使部署在微控制器 或移动处理器等硬件上, 仍能保持高精度。

QAT与后训练量化(PTQ)的区别

区分QAT与模型量化(特别是后训练量化PTQ)是有帮助的:

  • 训练后量化(PTQ):模型在FP32模式下正常训练完成后,权重被转换为INT8格式。此方法速度更快且无需重新训练,但对于复杂架构可能导致更高的精度损失。
  • 量化感知训练(QAT):在微调阶段模拟量化过程。模型通过调整内部参数来适应低精度引入的噪声,通常能获得比PTQ更高的准确率

实际应用

QAT对于需要在边缘硬件上进行实时推理的行业至关重要。

  • 自主无人机: 人工智能无人机操作中,电池寿命和机载处理能力受到严重限制。采用QAT优化模型的无人机能够在使用INT8加速器的情况下,以高精度track 障碍物或track 与FP32模型相比显著延长了飞行时间。
  • 智能零售摄像头:超市利用计算机视觉技术监控货架库存或管理收银通道。这些系统通常运行在低功耗边缘网关上。QAT确保这些设备上运行的物体检测模型能够保持区分相似产品的必要精度,而无需依赖昂贵的云端连接。

使用Ultralytics实施QAT

Ultralytics 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 部署以实现跨平台兼容性,或 OpenVINO 进行优化。Intel 确保无论目标是树莓派还是专用EdgeTPU模型都能以最高效率和速度运行。

与QAT相关的关键概念

要充分理解QAT,熟悉几个相关的机器学习概念会有所帮助:

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

通过将量化感知训练整合到 机器学习运维(MLOps)管道中,开发者能够 弥合高精度研究模型与高效、可投入生产的边缘人工智能应用之间的鸿沟。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入