深圳Yolo 视觉
深圳
立即加入
词汇表

模型量化

了解模型量化如何Ultralytics 以实现边缘AI。探索如何减少内存占用、降低延迟,并导出INT8模型以实现更快的推理。

模型量化是一种用于降低深度学习模型运行计算和内存成本的高级模型优化技术。在标准训练流程中,神经网络通常使用32位浮点数(FP32)存储参数(weights and biases)及激活图。虽然这种高精度确保了训练过程中的精确计算,但在推理阶段往往并非必需。 量化技术将这些数值转换为低精度格式,例如16位浮点数(FP16)或8位整数(INT8), 在不显著降低准确性的前提下,有效缩减模型体积并加速执行速度。

量化为何重要

量化的主要驱动力在于需要在资源受限的硬件上部署强大的人工智能。随着计算机视觉模型(如YOLO26)日益复杂,其计算需求也随之增加。量化技术解决了三大关键瓶颈:

  • 内存占用:通过降低权重的位宽(例如从32位降至8位),模型存储需求最多可减少4倍。这对应用程序体积受限的移动端至关重要。
  • 推理延迟:低精度运算的计算成本更低。现代处理器——尤其是配备专用神经处理单元(NPU)的处理器——执行INT8运算的速度远快于FP32运算,从而显著降低推理延迟
  • 功耗:减少内存数据传输量并执行更简单的算术运算 可降低能耗,从而延长便携设备和 自动驾驶车辆的电池续航时间。

与相关概念的比较

区分量化与其他优化技术至关重要,因为它们以截然不同的方式修改模型:

  • 量化与剪枝:量化通过降低参数的位宽来缩小文件大小,而模型剪枝则是通过完全移除不必要的连接(权重)来构建稀疏网络。剪枝改变的是模型结构,量化改变的是数据表示形式。
  • 量化与知识蒸馏: 知识蒸馏是一种训练技术,其中小型"学生"模型学习模仿大型"教师"模型。量化通常在蒸馏后应用于学生模型,以进一步提升边缘AI性能

实际应用

量化技术使计算机视觉和人工智能得以应用于效率至关重要的各个行业。

  1. 自主系统:在汽车行业,自动驾驶汽车必须实时处理来自摄像头和激光雷达的视觉数据。量化模型部署在 NVIDIA TensorRT 引擎上运行的量化模型,使车辆能够以毫秒级延迟detect 障碍物,保障乘客安全。
  2. 智能农业:搭载多光谱相机的无人机运用量化目标检测模型,用于识别作物病害或监测生长阶段。这些模型在无人机嵌入式系统上本地运行,避免了偏远农田依赖不可靠的蜂窝网络连接。

用Ultralytics实现量化

Ultralytics 简化了导出流程,使开发者能够将前沿模型(如YOLO26)转换为量化格式。Ultralytics 还提供工具,可无缝管理这些部署。

以下示例演示了如何将模型导出到 TFLite 并启用INT8量化。该过程包含一个 校准步骤,模型通过观察样本数据来确定量化值的最佳动态范围。

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,确保在多样化的硬件生态系统中实现广泛兼容性。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入