Quantization-Aware Training (QAT)
学习量化感知训练 (QAT) 如何优化 Ultralytics YOLO26 模型以进行边缘部署。发现如何在 INT8 精度下保持高准确性。
量化感知训练 (QAT) 是一种在机器学习模型训练阶段使用的专业技术,旨在为低精度环境做好准备。在标准 深度学习 工作流中,模型通常使用高精度的 32 位浮点数 (FP32) 进行运算。虽然这种精度提供了极高的准确性,但它在计算和内存方面消耗巨大,特别是在边缘设备上。QAT 在模型训练过程中模拟量化的影响(即将精度降低为 8 位整数 (INT8) 等格式)。通过在学习过程中引入这些量化误差,模型能够学会调整其权重,并有效恢复在训练后转换过程中可能丢失的准确性。
Link to this section为什么 QAT 对边缘部署至关重要#
将 计算机视觉模型 部署到资源受限的设备上时,通常需要在速度和性能之间取得平衡。标准的量化方法,即训练后量化 (PTQ),仅在模型完全训练完成后才进行精度缩减。虽然 PTQ 速度很快,但有时会降低敏感模型的准确性,因为 神经网络 的权重在没有调整机会的情况下发生了显著变化。
QAT 通过让模型“练习”被量化来解决这个问题。在训练的前向传递过程中,权重和激活值被模拟为低精度值。这使得 梯度下降 过程能够以最小化量化状态下损失的方式更新模型参数。其结果是一个鲁棒的模型,即使在部署到 微控制器 或移动处理器等硬件上时,也能保持高准确性。
Link to this section区分 QAT 与训练后量化 (PTQ)#
区分 QAT 与 模型量化(特别是训练后量化 (PTQ))非常有帮助:
- 训练后量化 (PTQ): 模型以 FP32 正常训练。训练完成后,权重被转换为 INT8。这种方法速度更快且无需重新训练,但对于复杂架构可能会导致更高的准确性损失。
- 量化感知训练 (QAT): 在微调阶段模拟量化过程。模型会调整其内部参数以适应较低精度带来的噪声,通常比 PTQ 产生更好的 准确性。
Link to this section实际应用#
对于边缘硬件上的实时推理至关重要的行业,QAT 是必不可少的。
- 自动驾驶无人机: 在 AI 无人机操作 中,电池寿命和板载处理能力极其有限。使用通过 QAT 优化的模型的无人机可以在使用 INT8 加速器的同时高精度检测障碍物或追踪物体,与 FP32 模型相比显著延长了飞行时间。
- 智能零售摄像头: 超市使用 零售计算机视觉 来监控货架库存或管理结账队列。这些系统通常运行在低功耗边缘网关上。QAT 确保在这些设备上运行的 目标检测 模型能够保持区分相似产品所需的准确性,而无需昂贵的云连接。
Link to this section使用 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)Link to this section与边缘生态系统的集成#
通过量化技术优化的模型旨在运行在专门的推理引擎上。QAT 训练的模型经常使用 ONNX Runtime 进行跨平台兼容,或使用 OpenVINO 在 Intel 硬件上进行优化。这确保了无论目标是 Raspberry Pi 还是专用的 Edge TPU,模型都能以尽可能最高的效率和速度运行。
Link to this section与 QAT 相关的关键概念#
为了完全理解 QAT,熟悉几个相关的机器学习概念会有所帮助:
- 精度: 指用于表示数字的详细程度。半精度 (FP16) 和 INT8 是量化的常见目标。
- 校准: 确定动态激活值范围(最小值/最大值)以有效地将浮点数映射到整数的过程。这是 部署量化 YOLO 模型 中的关键步骤。
- 推理延迟: QAT 的主要好处之一是降低 推理延迟,从而在实时系统中实现更快的决策。
- 微调: QAT 通常作为预训练模型的 微调 步骤来执行,而不是从头开始训练,从而节省了计算资源。
通过将量化感知训练集成到 MLOps 流水线中,开发者可以弥合高精度研究模型与高效、可投入生产的边缘 AI 应用之间的差距。






