# Qualcomm представила AutoQuant: автоматическое сжатие моделей с сохранением точности

Источник: https://www.youtube.com/watch?v=m44m9mVvwjw
Канал: The TWIML AI Podcast
Опубликовано: 22.08.2022

---

В эпоху стремительного развития искусственного интеллекта вычисления постепенно мигрируют из облачных дата-центров на конечные устройства — смартфоны, автомобили и дроны. В свежем выпуске подкаста The TWIML AI Podcast его ведущий Сэм Черрингтон обсудил с Абхи Кхобаре, директором по инженерии программного обеспечения в Qualcomm, возможности открытого инструментария AIMET. В центре внимания оказалась технология автоматического квантования AutoQuant, позволяющая радикально снизить требования моделей к железу без критической потери точности.

## 📱 Вызовы граничных вычислений и суть квантования
`[[JUMP:02:13]]`

Как отмечает Абхи Кхобаре, последние десять лет ИИ развивался преимущественно в облаке, однако сейчас наступает эра синергии облачных и граничных (edge) вычислений. Запуск нейросетей непосредственно на пользовательских устройствах сталкивается с жесткими аппаратными ограничениями. Модели по своей природе крайне ресурсоемки, а конечные гаджеты требуют работы в реальном времени, минимального энергопотребления и высокой термической эффективности при тонком форм-факторе.

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

Переход на INT8 дает серьезные аппаратные преимущества:

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

## 🔍 Тестовый запуск: модель HRNet и датасет Cityscapes
`[[JUMP:06:36]]`

В качестве демонстрации возможностей AIMET Абхи Кхобаре представил процесс квантования предобученной модели семантической сегментации на базе архитектуры HRNet (High Resolution Network). Эта нейросеть используется в качестве бэкбона для таких задач, как попиксельное распознавание сцен и оценка поз.

Для тестирования разработчики взяли популярный датасет Cityscapes, содержащий фотографии дорожных ситуаций из городов Германии, снятые из автомобилей. Задача модели — с высокой точностью сегментировать объекты на 30 различных классов (люди, машины, знаки, деревья, дороги), что критически важно для усовершенствованных систем помощи водителю (ADAS) и беспилотников.

В качестве базовой линии (baseline) использовалась исходная точность модели в формате FP32. Измерение по стандартной метрике mIoU (Mean Intersection over Union) показало результат в 81.05. На этом этапе модель безошибочно строила цветовую карту сегментации, корректно выделяя пешеходов, велосипедистов и дорожные указатели. AIMET позволяет симулировать поведение квантованной модели на ПК, выдавая те же метрики, что и реальное целевое устройство (будь то смартфон или AR/VR-гарнитура).

## 🛑 Проблемы наивного квантования и инструмент Quant Analyzer
`[[JUMP:20:34]]`

Если применить к модели HRNet простейшее («наивное») квантование по абсолютному минимуму-максимуму, точность mIoU падает с 81.05 до 77.9. Снижение чуть более чем на 3% может показаться незначительным, но Кхобаре наглядно продемонстрировал, к чему это приводит на практике.

На тестовых изображениях после наивного квантования полностью исчез дорожный знак, перед которым стоял пешеход, а в другом сценарии модель не смогла сегментировать человека на тротуаре. По мнению Кхобаре, наивное квантование хуже справляется с объектами на периферии кадра и элементами, которые сливаются с темным фоном. Собеседники сошлись во мнении, что в реальных системах автопилота подобные пропуски могут иметь каскадный эффект для алгоритмов планирования траектории и приводить к фатальным последствиям.

Для детальной диагностики таких потерь в AIMET встроен инструмент Quant Analyzer. Он выполняет следующие функции:

* Визуализирует послойную чувствительность модели к квантованию, подсвечивая наиболее проблемные участки нейросети.
* Строит графики распределения весов и активаций (функции плотности вероятности) для каждого слоя.

Анализ графиков распределения часто выявляет редкие изолированные выбросы (outliers). Если диапазон калибровки растягивается под них, основная масса весов теряет точность. Кхобаре объясняет, что за счет отсечения (clamping) таких выбросов можно существенно улучшить параметры квантования. При этом алгоритмы AIMET строго оберегают «абсолютные нули», поскольку они критически важны для разреженных сетей.

## ⚡ Автоматизация с AutoQuant: шаг за шагом к высокой точности
`[[JUMP:31:38]]`

До недавнего времени процесс подбора методов квантования требовал от инженеров огромного количества ручных итераций. Разработчику приходилось самостоятельно решать, какие техники применять, в каком порядке их комбинировать и как настраивать гиперпараметры. Альтернативный подход — обучение с учетом квантования (QAT) — дает высокую точность, но требует полных тренировочных пайплайнов, датасетов и может занимать несколько дней.

Новая функция AutoQuant автоматизирует этот процесс, создавая надстройку над методами посттренировочного квантования (PTQ). Для модели HRNet работа AutoQuant заняла около 4 часов. По словам Кхобаре, запустить автоматический подбор на ночь — колоссальное преимущество по сравнению со днями ручной работы. Инструмент запрашивает лишь небольшой набор репрезентативных данных и желаемый порог потери точности (в данном демо целевой спад установили в 0%).

В ходе работы AutoQuant последовательно выполняет цепочку оптимизаций:

1.  **Model Preparation:** Шаг подготовки, на котором AIMET автоматически анализирует граф PyTorch/TensorFlow и внедряет специальные симуляционные слои для весов и активаций. Это позволяет учесть даже скрытый шум от базовых математических операций вроде сложения элементов или интерполяции.
2.  **Batch Norm Folding:** Сворачивание слоев пакетной нормализации.
3.  **Cross-Layer Equalization (CLE):** Выравнивание весов между слоями для снижения общего шума квантования.
4.  **Adaptive Rounding (AdaRound):** Продвинутое адаптивное округление весов. Вместо стандартного округления к ближайшему числу, алгоритм обучается оптимальному положению на сетке для каждого тензора.

Запуск всей процедуры инкапсулирован в одну строчку кода: `AutoQuant.apply()`. Результат автоматической оптимизации оказался впечатляющим: итоговая точность модели mIoU составила ~80.75, отстав от FP32-оригинала всего на 0.3%. На финальных кадрах сегментации ранее утерянные дорожные знаки, пешеходы и велосипедисты снова начали корректно распознаваться алгоритмом.

## 🌐 Экосистема AIMET: Mixed Precision и Model Zoo
`[[JUMP:38:27]]`

По оценкам команды Qualcomm, около 80-90% существующих нейросетей могут быть успешно квантованы с помощью методов PTQ без глубокого переобучения. Если же целевая точность все еще не достигнута, AIMET предлагает использовать смешанную точность (Mixed Precision). На основе данных чувствительности из Quant Analyzer разработчик может точечно перевести наиболее капризные слои в 16-битный формат (INT16), оставив остальную сеть в INT8.

Чтобы ускорить работу комьюнити, Qualcomm развивает параллельный проект — AIMET Model Zoo. На текущий момент там доступно 18 предоптимизированных популярных моделей (бэкбонов) для TensorFlow и PyTorch, которые можно скачать и сразу внедрять в продакшен. Команда планирует расширять возможности AutoQuant, добавляя новые методы калибровки, улучшая визуальные отчеты и активно приглашает опенсорс-сообщество к совместной разработке.