Quantization-Aware Training (QAT)
学习量化感知训练 (QAT) 如何优化 Ultralytics YOLO26 模型以进行边缘部署。发现如何在 INT8 精度下保持高准确性。
量化感知训练 (QAT) 是一种在机器学习模型训练阶段使用的专业技术,用于为低精度环境做好准备。在标准的 deep learning 工作流中,模型通常使用高精度的 32 位浮点数 (FP32) 运行。虽然这种精度提供了出色的准确率,但它在计算上可能成本高昂且占用大量内存,尤其是在边缘设备上。QAT 在模型仍在训练的同时,模拟量化(将精度降低为 8 位整数 (INT8) 等格式)的效果。通过在学习过程中引入这些量化误差,模型学会调整其权重,并有效恢复在训练后转换中可能丢失的准确率。
为什么 QAT 对边缘部署至关重要#
将 computer vision models 部署到资源受限的设备上通常需要在速度和性能之间取得平衡。被称为训练后量化 (PTQ) 的标准量化方法仅在模型完全训练后才应用精度降低。虽然 PTQ 速度很快,但它有时会降低敏感模型的准确率,因为 neural network 权重在没有调整机会的情况下发生了显著改变。
QAT 通过允许模型“练习”被量化来解决这个问题。在训练的前向传播过程中,权重和激活被模拟为低精度值。这使得 gradient descent 过程能够以专门针对量化状态最小化损失的方式更新模型参数。其结果是一个强大的模型,即使在部署到 microcontrollers 或移动处理器等硬件上时也能保持高准确率。
区分 QAT 与训练后量化 (PTQ)#
区分 QAT 和 model quantization(特别是训练后量化 (PTQ))会很有帮助:
- 训练后量化 (PTQ): 模型以 FP32 正常训练。训练完成后,权重被转换为 INT8。这种方法速度更快且无需重新训练,但对于复杂架构可能会导致更高的准确性损失。
- 量化感知训练 (QAT): 量化过程在微调阶段被模拟。模型调整其内部参数以适应由较低精度引入的噪声,通常比 PTQ 产生更好的 accuracy。
实际应用#
对于边缘硬件上的实时推理至关重要的行业,QAT 是必不可少的。
- 自主无人机: 在 AI drone operations 中,电池续航和机载处理能力受到严格限制。使用通过 QAT 优化的模型的无人机可以在使用 INT8 加速器的同时以高精度检测障碍物或跟踪物体,与 FP32 模型相比,显著延长了飞行时间。
- 智能零售摄像头: 超市使用 computer vision in retail 来监控货架库存或管理结账队伍。这些系统通常运行在低功耗边缘网关上。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 或用于在 Intel 硬件上进行优化的 OpenVINO 进行部署。这确保了无论目标是 Raspberry Pi 还是专用的 Edge TPU,模型都能以尽可能高的效率和速度运行。
与 QAT 相关的关键概念#
为了完全理解 QAT,熟悉几个相关的机器学习概念会有所帮助:
- 精度: 指用于表示数字的详细程度。Half-precision (FP16) 和 INT8 是量化的常见目标。
- 校准: 确定动态激活值范围 (最小/最大值) 以有效地将浮点数映射到整数的过程。这是 deploying quantized YOLO models 中的关键步骤。
- 推理延迟: QAT 的主要好处之一是减少 inference latency,从而在实时系统中实现更快的决策。
- 微调: QAT 通常作为预训练模型的 fine-tuning 步骤执行,而不是从头开始训练,从而节省计算资源。
通过将量化感知训练集成到 MLOps 管道中,开发人员可以弥合高精度研究模型与高效、生产就绪的边缘 AI 应用之间的差距。






