利用模型量化优化人工智能性能。为实际部署减少体积、提高速度和能效。
模型量化是一种强大的模型优化技术,通过将神经网络(NN)的权重和激活值从高精度浮点数(如 32 位浮点数或 FP32)转换为低精度数据类型(如 8 位整数 (INT8)),可以减少神经网络的内存占用和计算成本。这一过程大大缩小了模型的体积,加快了模型的运行速度,使其能够在移动电话和嵌入式系统等资源有限的硬件上部署。其主要目标是提高性能,尤其是推理延迟,同时将对模型预测准确性的影响降至最低。
量化过程包括将训练模型中连续的浮点数值范围映射为较小的、离散的整数数值集。这种转换减少了存储每个参数所需的位数,从而缩小了整个模型的大小。此外,在许多现代中央处理器和专门的人工智能加速器(如GPU和TPU)上,使用低精度整数进行计算的速度要快得多,因为它们有专门的整数运算指令。
量化主要有两种方法:
量化对于在真实世界场景中运行复杂的计算机视觉模型至关重要,尤其是在边缘人工智能设备上。
模型量化经常与其他优化方法一起使用,但其方法与众不同。
虽然量化非常有益,但可能会影响模型的准确性。量化后必须使用相关性能指标进行全面评估,以确保性能权衡是可以接受的。
Ultralytics 通过支持导出到量化友好的格式,为量化模型的部署提供了便利。这些格式包括具有广泛兼容性的ONNX、在英特尔硬件上进行优化的OpenVINO以及在英伟达™(NVIDIA®)图形处理器上实现高性能的TensorRT。Ultralytics HUB等平台可以帮助管理从训练到部署优化模型的整个生命周期。与Neural Magic等工具的集成还可利用量化和剪枝技术在 CPU 上实现 GPU 级性能。