Оптимизируйте производительность ИИ с помощью квантования моделей. Уменьшите размер, увеличьте скорость и повысьте энергоэффективность для реальных развертываний.
Квантование модели — это сложная техника оптимизации модели, используемая для снижения вычислительных затрат и затрат памяти при запуске моделей глубокого обучения. В стандартных рабочих процессах обучения нейронные сети обычно хранят параметры (weights and biases) и карты активации с использованием 32-разрядных чисел с плавающей запятой (FP32). Хотя такая высокая точность обеспечивает точность вычислений во время обучения, она часто не нужна для вывода. Квантование преобразует эти значения в форматы с более низкой точностью, такие как 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, что обеспечивает широкую совместимость с различными аппаратными экосистемами.