Model Quantization
了解模型量化如何为边缘 AI 优化 Ultralytics YOLO26。发现如何减少内存、降低延迟并导出 INT8 模型以实现更快推理。
模型量化是一种复杂的模型优化技术,用于降低运行深度学习模型的计算和内存成本。在标准的训练工作流中,神经网络通常使用 32 位浮点数(FP32)来存储参数(权重和偏置)以及激活图。虽然这种高精度确保了训练期间的计算准确性,但对于推理而言,它通常并不是必需的。量化将这些值转换为较低精度的格式,例如 16 位浮点数(FP16)或 8 位整数(INT8),从而有效地缩小模型体积并加快执行速度,同时不会显著影响准确率。
为什么量化很重要#
量化的主要驱动力是在资源受限的硬件上部署强大 AI 的需求。随着像 YOLO26 这样的计算机视觉模型变得越来越复杂,其计算需求也在不断增加。量化解决了三个关键瓶颈:
- 内存占用: 通过降低权重的位宽(例如从32位降至8位),模型的存储需求最多可减少4倍。这对于应用规模受限的移动端应用至关重要。
- 推理延迟: 低精度操作的计算成本更低。现代处理器,尤其是那些配备专用神经网络处理单元 (NPU) 的处理器,执行 INT8 操作的速度比 FP32 快得多,从而显著减少了推理延迟。
- 功耗: 在内存中传输较少的数据并执行更简单的算术运算可以消耗更少的能量,从而延长便携式设备和自动驾驶汽车的电池寿命。
与相关概念的比较#
区分量化与其他优化技术非常重要,因为它们以不同的方式修改模型:
- 量化与剪枝: 量化通过降低参数的位宽来减小文件大小,而模型剪枝则是完全移除不必要的连接(权重)以创建一个稀疏网络。剪枝改变了模型的结构,而量化改变的是数据的表示形式。
- 量化与知识蒸馏: 知识蒸馏是一种训练技术,其中小型的“学生”模型学习模仿大型的“教师”模型。通常在蒸馏之后对学生模型应用量化,以进一步增强边缘 AI 性能。
实际应用#
量化使计算机视觉和AI能够在效率至关重要的各个行业中得到应用。
-
自动驾驶系统: 在汽车行业中,自动驾驶汽车必须实时处理来自摄像头和激光雷达的视觉数据。部署在 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 这样的高性能推理引擎进行部署,从而确保在各种硬件生态系统中的广泛兼容性。






