Глоссарий

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

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

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

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

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

Существует два основных метода применения квантования:

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

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

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

  • Анализ изображений на устройстве: Многие приложения для смартфонов используют квантованные модели для определения характеристик в реальном времени. Например, приложение, обеспечивающее обнаружение объектов через камеру в реальном времени, например, для идентификации продуктов или достопримечательностей, полагается на квантованную модель, такую как Ultralytics YOLO11, которая эффективно работает на аппаратном обеспечении телефона, не разряжая аккумулятор и не требуя подключения к облаку.
  • Автомобилестроение и робототехника: В автономных автомобилях модели для обнаружения пешеходов и удержания полосы движения должны работать с чрезвычайно низкой задержкой. Квантование этих моделей позволяет им работать на специализированном оборудовании, таком как NVIDIA Jetson или Google Coral Edge TPU, обеспечивая принятие решений за доли секунды, что очень важно для безопасности.

Квантование по сравнению с другими методами оптимизации

Квантование модели часто используется наряду с другими методами оптимизации, но отличается от них своим подходом.

  • Обрезка модели: Эта техника позволяет удалить лишние или неважные связи (веса) в нейронной сети, чтобы уменьшить ее размер и сложность. В то время как обрезка делает сеть меньше за счет удаления ее частей, квантование делает оставшиеся части более эффективными за счет снижения их числовой точности. Для максимальной оптимизации эти два метода часто комбинируют.
  • Дистилляция знаний: Это включает в себя обучение меньшей модели "ученика" для имитации большей, предварительно обученной модели "учителя". Цель - перенести знания учителя в более компактную архитектуру. Это отличается от квантования, которое изменяет численное представление существующей модели, а не обучает новую.
  • Смешанная точность: Эта техника использует комбинацию различных численных точностей (например, FP16 и FP32) во время обучения модели, чтобы ускорить процесс и уменьшить потребление памяти. Несмотря на то, что эта методика связана с обучением, она в первую очередь оптимизирует обучение, в то время как квантование обычно направлено на оптимизацию модели для вывода.

Соображения и поддержка

Хотя квантование очень полезно, оно может потенциально повлиять на точность модели. Важно провести тщательную оценку с использованием соответствующих показателей производительности после квантования, чтобы убедиться, что компромисс между производительностью и точностью является приемлемым.

Ultralytics облегчает развертывание квантованных моделей, поддерживая экспорт в форматы, удобные для квантования. К ним относятся ONNX для широкой совместимости, OpenVINO для оптимизации на оборудовании Intel и TensorRT для высокой производительности на графических процессорах NVIDIA. Такие платформы, как Ultralytics HUB, помогают управлять всем жизненным циклом, от обучения до развертывания оптимизированных моделей. Интеграция с такими инструментами, как Neural Magic, также позволяет использовать квантование и обрезку для достижения производительности класса GPU на CPU.

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

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

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