通过模型量化优化 AI 性能。 缩小尺寸、提高速度并提高能源效率,以实现实际部署。
模型量化是机器学习中的一项变革性技术 模型量化是机器学习中的一项变革性技术,旨在降低 的计算和内存成本。 神经网络的计算和内存成本。通过将模型的 参数(特别是权重和激活)从高精度浮点数(通常为 32 位,称为 FP32)转换为 8 位整数(INT8)等低精度格式,开发人员可以显著缩小模型的文件大小。 模型的文件大小。这一过程对于 在资源有限的硬件上高效部署模型 这一过程对于在资源有限的硬件上高效部署模型至关重要,可确保复杂的人工智能功能在从智能手机到工业传感器的所有设备上顺利运行。 工业传感器上顺利运行。
量化的核心机制是将较大范围的连续值映射为较小范围的离散值。 值。在典型的深度学习模型中,参数被存储为 32 位浮点数,以便在训练阶段保持高精度。 精度。然而,在 推理--模型进行预测的阶段--往往不需要这种精度水平。
量化可以压缩这些值,从而降低获取模型权重所需的内存带宽,并加快数学运算速度。 模型权重所需的内存带宽,并加快数学运算 运算。现代硬件,包括CPU和GPU等专用 加速器(如GPU)等现代硬件通常都有专门的 整数运算专用指令集,比浮点运算更快、更节能。 更快、更省电。这种优化有助于最大限度地减少 推理延迟,在实时应用中提供更快速的用户体验。 用户体验。
应用这种优化有两种主要方法,分别服务于开发周期的不同阶段 生命周期:
量化是边缘人工智能的基石,可使复杂的 任务,而无需依赖云连接。
Ultralytics 框架简化了将模型导出为量化友好格式的过程。下面的 示例演示了如何将 YOLO11模型导出为TFLite 并启用 INT8 量化。此过程将使用指定数据自动处理校准。
from ultralytics import YOLO
# Load the standard YOLO11 model
model = YOLO("yolo11n.pt")
# Export to TFLite format with INT8 quantization
# The 'data' argument provides calibration images
model.export(format="tflite", int8=True, data="coco8.yaml")
将量化与其他 模型优化策略、 因为它们经常同时使用,但运作方式不同:
随着硬件加速器越来越专业化,量化的重要性也与日俱增。未来的Ultralytics 研究,如即将推出的YOLO26,旨在通过设计对激进量化具有本机鲁棒性的架构,进一步提高 通过设计对激进量化具有本机鲁棒性的架构,进一步提高效率,确保 高性能计算机视觉 在最小的边缘设备上也能实现。
为了实现更广泛的兼容性,量化模型通常使用互操作标准进行部署,如 ONNX或优化推理 引擎,如 TensorRT和 OpenVINO.

