利用模型量化优化人工智能性能。为实际部署减少体积、提高速度和能效。
模型量化是深度学习(DL)中一项重要的模型优化技术,用于降低模型的计算和内存成本。它通过将模型参数(权重和激活)的数值精度从高精度表示(通常是 32 位浮点数(FP32))转换为低精度格式(如 16 位浮点数 (FP16)、8 位整数(INT8) 或更低的位表示)来实现。这一过程使机器学习模型更小、更快、更节能,这对于在移动设备或边缘人工智能系统等资源有限的环境中部署复杂模型尤为重要。
模型量化的核心是将高精度张量中的数值范围(如 FP32 中的权重和激活度)映射到低精度数据类型(如 INT8)所能表示的更小范围。这种转换大大减少了存储模型所需的内存和推理所需的计算资源,因为在GPU、CPU 以及TPU或NPU 等专用加速器等现代硬件上,对低精度数(尤其是整数)的运算通常更快、更节能。我们的目标是在对模型预测性能影响最小的情况下实现这些效率提升。
将量化技术应用于深度学习模型具有几个关键优势:
模型量化主要有两种方法:
模型量化被广泛应用于各个领域:
量化虽然大有裨益,但有可能影响模型的准确性。量化后,使用相关性能指标进行仔细评估至关重要。正如在部署量化 YOLOv8 模型时所讨论的那样,使用量化友好型模型架构(如在 YOLOv8 中替换某些激活函数)等技术有助于减轻精度下降。
模型量化是多种模型优化技术之一。其他技术包括
Ultralytics 支持将模型导出为各种格式,以便于量化和部署,包括 ONNX, OpenVINO(针对Intel 硬件进行了优化)、 TensorRT(针对NVIDIA ®)图形处理器)、 CoreML(适用于苹果设备)和TFLite,从而实现在不同硬件平台上高效部署模型。您可以使用Ultralytics HUB 等工具管理和部署您的模型,包括量化版本。集成 Neural Magic等集成工具还能利用量化技术优化CPU 。