Model Quantization
了解模型量化如何为边缘 AI 优化 Ultralytics YOLO26。发现如何减少内存、降低延迟并导出 INT8 模型以实现更快推理。
模型量化是一种先进的模型优化技术,用于降低运行深度学习模型的计算和内存成本。在标准训练工作流中,神经网络通常使用32位浮点数 (FP32) 来存储参数(权重和偏置)及激活映射。虽然这种高精度确保了训练过程中的精确计算,但对于推理而言往往是不必要的。量化将这些值转换为低精度格式,如16位浮点数 (FP16) 或8位整数 (INT8),从而有效地缩减模型大小并加快执行速度,同时不会显著影响准确率。
Link to this section为什么量化很重要#
The primary driver for quantization is the need to deploy powerful AI on resource-constrained hardware. As computer vision models like YOLO26 become more complex, their computational demands increase. Quantization addresses three critical bottlenecks:
- 内存占用: 通过降低权重的位宽(例如从32位降至8位),模型的存储需求最多可减少4倍。这对于应用规模受限的移动端应用至关重要。
- 推理延迟: 低精度运算在计算上成本更低。现代处理器,尤其是那些配备专用神经网络处理单元 (NPU) 的处理器,执行INT8运算的速度比FP32快得多,从而显著降低了推理延迟。
- 功耗: 在内存中传输更少的数据并执行更简单的算术运算能耗更低,这延长了便携设备和自动驾驶车辆的电池续航时间。
Link to this section与相关概念的比较#
区分量化与其他优化技术非常重要,因为它们以不同的方式修改模型:
- 量化与剪枝: 量化通过降低参数的位宽来减小文件大小,而模型剪枝则涉及完全移除不必要的连接(权重)以创建稀疏网络。剪枝改变了模型的结构,而量化改变了数据的表示方式。
- 量化与知识蒸馏: 知识蒸馏是一种训练技术,其中小型“学生”模型通过学习来模仿大型“教师”模型。量化通常在蒸馏后的学生模型上进行应用,以进一步提升边缘AI性能。
Link to this section实际应用#
量化使计算机视觉和AI能够在效率至关重要的各个行业中得到应用。
-
自主系统: 在汽车工业中,自动驾驶汽车必须实时处理来自摄像头和LiDAR的视觉数据。部署在NVIDIA TensorRT引擎上的量化模型,使这些车辆能够以毫秒级的延迟检测行人与障碍物,从而确保乘客安全。
-
智慧农业: 配备多光谱摄像头的无人机使用量化目标检测模型来识别作物病害或监测生长阶段。在无人机的嵌入式系统上本地运行这些模型,消除了在偏远田地中依赖不可靠蜂窝网络的需求。
Link to this section使用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这样高性能的推理引擎进行部署,以确保在多样化的硬件生态系统中拥有广泛的兼容性。






