Глоссарий

Обучение с учетом квантования (QAT)

Оптимизируйте модели ИИ для граничных устройств с помощью обучения с учетом квантования (QAT), обеспечивая высокую точность и эффективность в условиях ограниченных ресурсов.

Обучение с учетом квантования (QAT) - это передовой метод оптимизации модели, который подготавливает нейронную сеть (НС) к развертыванию с более низкой точностью вычислений. В отличие от стандартного обучения, в котором используются 32-битные числа с плавающей точкой (FP32), QAT имитирует эффект 8-битных целочисленных вычислений (INT8) в процессе обучения или тонкой настройки. Заставляя модель "знать" об ошибках квантования, с которыми она столкнется в процессе вывода, QAT позволяет модели корректировать свои веса, чтобы минимизировать потенциальную потерю точности. В результате получается компактная, эффективная модель, сохраняющая высокую производительность, что делает ее идеальной для развертывания на аппаратном обеспечении с ограниченными ресурсами.

Как работает обучение с учетом квантования

Процесс QAT обычно начинается с предварительно обученной модели FP32. В архитектуру модели вставляются "фальшивые" узлы квантования, которые имитируют эффект преобразования значений с плавающей точкой в целые числа с более низкой точностью и обратно. Затем модель переобучается на обучающем наборе данных. На этапе переобучения модель учится адаптироваться к потерям информации, связанным с квантованием, с помощью стандартного обратного распространения. Это позволяет модели найти более надежный набор весов, который менее чувствителен к снижению точности. Ведущие фреймворки глубокого обучения, такие как PyTorch и TensorFlow, предлагают надежные инструменты и API для реализации рабочих процессов QAT.

Квантование после обучения по сравнению с QAT

QAT часто сравнивают с квантованием после обучения (PTQ), другим распространенным методом квантования модели. Ключевое различие заключается в том, когда применяется квантование.

  • Посттренировочная квантизация (PTQ): Этот метод применяется после того, как модель полностью обучена. Это более простой и быстрый процесс, который не требует переобучения или доступа к исходным обучающим данным. Однако иногда он может привести к значительному снижению точности модели, особенно для чувствительных моделей.
  • Обучение с учетом квантования (QAT): Этот метод интегрирует квантование в цикл обучения. Несмотря на то, что он требует больших вычислительных затрат и доступа к обучающим данным, QAT почти всегда приводит к более высокой точности конечной квантованной модели по сравнению с PTQ. Этот метод является предпочтительным, когда максимальная производительность имеет решающее значение.

Применение QAT в реальном мире

Обучение с учетом квантования крайне важно для развертывания сложных моделей искусственного интеллекта в средах с ограниченными ресурсами, где эффективность является ключевым фактором.

  1. Компьютерное зрение на устройстве: Запуск сложных моделей компьютерного зрения, таких как Ultralytics YOLOv8, непосредственно на смартфонах для таких приложений, как обнаружение объектов в реальном времени в приложениях дополненной реальности или классификация изображений в инструментах управления фотографиями. QAT позволяет этим моделям работать эффективно, без значительного разряда батареи и задержек.
  2. Edge AI в автомобильной и робототехнике: Развертывание моделей для таких задач, как обнаружение пешеходов или помощь при движении по полосе в автономных автомобилях, или для манипулирования объектами в робототехнике. QAT позволяет этим моделям работать на специализированном оборудовании, таком как Google Edge TPU или NVIDIA Jetson, обеспечивая низкую задержку вывода для принятия важных решений в реальном времени. Это очень важно для таких приложений, как системы охранной сигнализации или управление парковкой.

Взаимосвязь с другими методами оптимизации

QAT является одной из нескольких техник оптимизации развертывания модели и часто используется наряду с другими для достижения максимальной эффективности.

  • Обрезка модели: Удаление избыточных или неважных связей из сети. Модель может быть сначала обрезана, а затем подвергнута QAT для достижения еще большего сжатия.
  • Дистилляция знаний: Обучает меньшую модель "ученика" имитировать большую модель "учителя". Полученная модель ученика может быть оптимизирована с помощью QAT.

Ultralytics поддерживает экспорт моделей в различные форматы, такие как ONNX, TensorRT и TFLite, которые совместимы с рабочими процессами QAT, что позволяет эффективно развертывать модели на различном оборудовании таких компаний, как Intel и NVIDIA. Вы можете управлять и развертывать оптимизированные для QAT модели с помощью таких платформ, как Ultralytics HUB. Оценка производительности модели с помощью соответствующих метрик после QAT очень важна для обеспечения соответствия требованиям к точности.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему искусственного интеллекта. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединяйтесь сейчас
Ссылка копируется в буфер обмена