Глоссарий

Квантование модели

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Квантование модели - важнейшая техника оптимизации, используемая в машинном обучении для снижения затрат на вычисления и память при развертывании моделей ИИ. Она работает путем преобразования весов и активаций нейронной сети из высокоточных чисел с плавающей точкой (например, 32-битных плавающих чисел) в форматы с более низкой точностью, такие как 8-битные целые числа. Этот процесс значительно уменьшает размер модели и ускоряет скорость вывода, что делает его идеальным для развертывания на устройствах с ограниченными ресурсами.

Понимание квантования моделей

Основная идея квантования модели заключается в том, чтобы представить числовые значения в модели с помощью меньшего количества битов. Большинство моделей глубокого обучения обучаются и работают с использованием чисел с плавающей точкой, которые обеспечивают высокую точность, но требуют значительной вычислительной мощности и памяти. Квантование снижает эту потребность, отображая непрерывный диапазон значений с плавающей точкой на меньший набор дискретных целочисленных значений. Это можно сравнить с уменьшением цветовой палитры изображения; хотя некоторые детали могут быть потеряны, основная информация остается, а размер файла становится намного меньше.

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

Преимущества квантования моделей

Квантование моделей дает несколько ключевых преимуществ, особенно для развертывания моделей ИИ в реальных приложениях:

  • Уменьшение размера модели: Квантование резко уменьшает размер файла модели. Например, преобразование модели из 32-битных плавающих чисел в 8-битные целые может уменьшить размер модели в четыре раза. Это особенно полезно для развертывания моделей на устройствах с ограниченным объемом памяти, например на мобильных телефонах или устройствах с пограничным доступом.
  • Более высокая скорость вычислений: Вычисления с низкой точностью значительно быстрее, особенно на аппаратном обеспечении, оптимизированном для целочисленной арифметики. Это приводит к уменьшению задержек в выводах и улучшению производительности в реальном времени, что крайне важно для таких приложений, как обнаружение объектов в реальном времени с помощью моделей Ultralytics YOLO .
  • Более низкая стоимость вычислений: Выполнение вычислений с меньшей точностью требует меньше вычислительной мощности и энергии. Это жизненно важно для устройств с питанием от батарей и снижает общие вычислительные ресурсы, необходимые для приложений ИИ.
  • Повышенная энергоэффективность: Меньшие вычислительные требования приводят к меньшему потреблению энергии, что делает квантованные модели более энергоэффективными. Это особенно важно для мобильных и встраиваемых систем.

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

Квантование моделей необходимо для развертывания моделей ИИ в самых разных приложениях, особенно там, где ресурсы ограничены или скорость критична. Вот несколько примеров:

  1. Мобильные устройства: В смартфонах часто используются квантованные модели для таких функций искусственного интеллекта на устройстве, как распознавание изображений и обработка естественного языка. Квантование позволяет этим сложным моделям эффективно работать на мобильных GPU или специализированном оборудовании, таком как Edge TPU, используемом в устройствах вроде Raspberry Pi, не расходуя заряд батареи и не вызывая проблем с производительностью. Например, запуск модели Ultralytics YOLO в приложении Android или iOS значительно выигрывает от квантования для обнаружения объектов в реальном времени.
  2. Пограничные вычисления и IoT-устройства: В таких сценариях, как "умные города" или промышленная автоматизация, модели ИИ развертываются на многочисленных пограничных устройствах для обработки данных в реальном времени. Квантование здесь жизненно необходимо, чтобы обеспечить эффективное обслуживание моделей на этих устройствах, которые часто имеют ограниченную вычислительную мощность и память. Рассмотрим умную камеру, использующую Ultralytics YOLO для систем охранной сигнализации; квантование обеспечивает своевременное обнаружение и реагирование при минимизации аппаратных требований.

Квантование против обрезки модели

Хотя и квантование модели, и обрезка модели - это техники оптимизации модели, направленные на уменьшение размера модели и повышение эффективности, действуют они по-разному. Квантование снижает точность числовых представлений, а обрезка уменьшает количество параметров в модели за счет удаления менее важных связей или нейронов. Обе техники можно использовать как независимо, так и в комбинации, чтобы добиться оптимальной производительности и размера модели. Такие инструменты, как TensorRT и OpenVINO часто включают квантование и обрезку в свои оптимизационные конвейеры.

В общем, квантование модели - это мощная техника, которая делает ИИ более доступным и применимым в широком спектре устройств и приложений за счет повышения эффективности без существенной потери точности.

Читать полностью