了解模型量化如何Ultralytics 以实现边缘AI。探索如何减少内存占用、降低延迟,并导出INT8模型以实现更快的推理。
模型量化是一种用于降低深度学习模型运行计算和内存成本的高级模型优化技术。在标准训练流程中,神经网络通常使用32位浮点数(FP32)存储参数(weights and biases)及激活图。虽然这种高精度确保了训练过程中的精确计算,但在推理阶段往往并非必需。 量化技术将这些数值转换为低精度格式,例如16位浮点数(FP16)或8位整数(INT8), 在不显著降低准确性的前提下,有效缩减模型体积并加速执行速度。
量化的主要驱动力在于需要在资源受限的硬件上部署强大的人工智能。随着计算机视觉模型(如YOLO26)日益复杂,其计算需求也随之增加。量化技术解决了三大关键瓶颈:
区分量化与其他优化技术至关重要,因为它们以截然不同的方式修改模型:
量化技术使计算机视觉和人工智能得以应用于效率至关重要的各个行业。
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,确保在多样化的硬件生态系统中实现广泛兼容性。