Узнайте, как Quantization-Aware Training (QAT) оптимизирует модели Ultralytics для развертывания на периферии. Узнайте, как сохранить высокую точность с помощью INT8.
Обучение с учетом квантования (QAT) — это специализированная техника, используемая на этапе обучения моделей машинного обучения для их подготовки к работе в средах с более низкой точностью. В стандартных рабочих процессах глубокого обучения модели обычно работают с использованием высокоточных 32-разрядных чисел с плавающей запятой (FP32). Хотя такая точность обеспечивает отличную точность, она может быть высокозатратной с точки зрения вычислений и памяти, особенно на периферийных устройствах. QAT имитирует эффекты квантования — снижение точности до форматов, таких как 8-разрядные целые числа (INT8) — пока модель еще находится в процессе обучения. Благодаря введению этих ошибок квантования в процессе обучения модель учится адаптировать свои веса и эффективно восстанавливать точность, которая в противном случае могла бы быть утрачена при преобразовании после обучения.
Развертывание моделей компьютерного зрения на устройствах с ограниченными ресурсами часто требует баланса между скоростью и производительностью. Стандартные методы квантования, известные как квантование после обучения (PTQ), применяют снижение точности только после полного обучения модели. Хотя PTQ работает быстро, оно иногда может ухудшить точность чувствительных моделей, поскольку веса нейронной сети значительно изменяются без возможности корректировки.
QAT решает эту проблему, позволяя модели «практиковаться» в квантовании. Во время прямого прохождения обучения веса и активации моделируются как значения с низкой точностью. Это позволяет процессу градиентного спуска обновлять параметры модели таким образом, чтобы минимизировать потери специально для квантованного состояния. Результатом является надежная модель, которая сохраняет высокую точность даже при развертывании на таком оборудовании, как микроконтроллеры или мобильные процессоры.
Полезно отличать QAT от квантования модели, в частности от пост-обучающего квантования (PTQ):
QAT имеет важное значение для отраслей, в которых критически важна возможность выполнения выводов в реальном времени на периферийном оборудовании.
Ultralytics и YOLO поддерживают экспорт моделей в квантованные форматы. Хотя QAT является сложной процедурой обучения, современные фреймворки облегчают подготовку моделей для квантованного вывода.
Ниже приведен пример того, как можно экспортировать обученную модель YOLO26 в квантованный TFLite INT8, который использует принципы квантования для эффективного развертывания на периферии.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
Модели, оптимизированные с помощью методов квантования, предназначены для работы на специализированных механизмах вывода. Модели, обученные с помощью QAT, часто развертываются с использованием ONNX для обеспечения кроссплатформенной совместимости или OpenVINO для оптимизации на Intel . Это гарантирует, что независимо от того, является ли целью Raspberry Pi или специальный Edge TPU, модель работает с максимально возможной эффективностью и скоростью.
Чтобы полностью понять QAT, полезно ознакомиться с несколькими связанными концепциями машинного обучения:
Интегрируя обучение с учетом квантования в конвейер MLOps, разработчики могут преодолеть разрыв между высокоточными исследовательскими моделями и высокоэффективными, готовыми к производству приложениями искусственного интеллекта.