Model Quantization
了解模型量化如何为边缘 AI 优化 Ultralytics YOLO26。了解如何减少内存占用、降低延迟,并导出 INT8 模型以实现更快推理。
模型量化是一种先进的模型优化技术,用于降低运行深度学习模型所需的计算和内存成本。在标准训练工作流中,神经网络通常使用 32 位浮点数(FP32)存储参数(权重和偏置)及激活图。虽然这种高精度可以确保训练期间计算结果的准确性,但在推理过程中通常并无必要。量化会将这些数值转换为较低精度的格式,例如 16 位浮点数(FP16)或 8 位整数(INT8),从而有效减小模型大小并加快执行速度,同时不会显著影响准确率。
量化为何重要#
量化的主要驱动力是需要在资源受限的硬件上部署强大的 AI。随着计算机视觉模型(如 YOLO26)变得更加复杂,其计算需求也在增加。量化可以解决三个关键瓶颈:
- **内存占用:**通过降低权重的位宽(例如从 32 位降至 8 位),模型的存储需求最多可减少 4 倍。这对于应用大小受限的移动应用至关重要。
- **推理延迟:**低精度运算的计算成本更低。现代处理器,尤其是配备专用神经处理单元(NPUs)的处理器,可以比执行 FP32 运算更快地执行 INT8 运算,从而显著降低推理延迟。
- **功耗:**在内存中传输更少的数据并执行更简单的算术运算,可以降低能耗,延长便携式设备和自动驾驶车辆的电池续航时间。
与相关概念的比较#
区分量化与其他优化技术十分重要,因为它们以不同方式修改模型:
- **量化与剪枝:**量化通过降低参数的位宽来减小文件大小,而模型剪枝则会完全移除不必要的连接(权重),以创建稀疏网络。剪枝会改变模型结构,而量化会改变数据表示方式。
- 量化与知识蒸馏:知识蒸馏是一种训练技术,其中小型“学生”模型会学习模仿大型“教师”模型。蒸馏后通常会对学生模型应用量化,以进一步提升其边缘 AI性能。
实际应用#
量化使计算机视觉和 AI 能够应用于众多以效率为核心要求的行业。
-
**自动驾驶系统:**在汽车行业中,自动驾驶汽车必须实时处理来自摄像头和 LiDAR 的视觉数据。部署在 NVIDIA TensorRT 引擎上的量化模型,可以让这些车辆以毫秒级延迟检测行人和障碍物,从而保障乘客安全。
-
**智慧农业:**配备多光谱摄像头的无人机使用量化的目标检测模型来识别作物疾病或监测生长阶段。在无人机的嵌入式系统上本地运行这些模型,无需依赖偏远农田中不稳定的蜂窝网络连接。
使用 Ultralytics 实现量化#
Ultralytics 库简化了导出流程,使开发者能够将尖端的 YOLO26 等模型转换为量化格式。Ultralytics 平台还提供了用于无缝管理这些部署的工具。
以下示例演示了如何在启用 INT8 量化的情况下将模型导出为 TFLite。此过程包括一个校准步骤,在该步骤中,模型会观察样本数据,以确定量化数值的最佳动态范围。
from ultralytics import YOLO
# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")优化后的模型通常使用 ONNX 等可互操作标准,或使用 OpenVINO 等高性能推理引擎进行部署,从而确保在各种硬件生态系统之间实现广泛兼容。









