Квантизация (Quantization)
Что такое Квантизация (Quantization)?
Квантизация — процесс уменьшения разрядности чисел (например, переход от 32‑битных чисел с плавающей запятой к 8‑битным целым), используемых в параметрах нейронной сети, с целью сокращения объёма памяти и ускорения вычислений при сохранении приемлемой точности модели.
Представьте, что вы упаковываете чемодан в путешествие. Вы хотите взять с собой всё необходимое, но при этом уложиться в ограничения по весу и размеру багажа. Квантизация в мире нейросетей — это как отбор самых важных вещей и отказ от лишнего: модель «ужимается», но продолжает выполнять свои функции.
Подробности о термине:
- Цель квантизации — оптимизировать нейронные сети для работы на устройствах с ограниченными ресурсами (смартфонах, IoT‑устройствах, встраиваемых системах).
- Как это работает: параметры модели (веса, смещения) преобразуются из высокоточного формата (например, float32) в низкоразрядный (int8, int4 и т. д.). При этом применяются специальные алгоритмы, минимизирующие потерю точности.
- Плюсы:
- снижение требований к памяти;
- ускорение вычислений (особенно на специализированных чипах, оптимизированных для целочисленной арифметики);
- уменьшение энергопотребления.
- Минусы:
- потенциальное снижение точности модели;
- необходимость дополнительной настройки и тестирования после квантизации.
История и факты:
- Квантизация стала особенно актуальной с развитием мобильных и встраиваемых ИИ‑приложений в 2010‑х годах.
- Компании вроде Google и Apple активно используют квантизацию в своих мобильных ИИ‑решениях (например, в Google Lens, Siri).
- Существуют специализированные фреймворки и инструменты для квантизации: TensorFlow Lite, ONNX Runtime, PyTorch Quantization.
Различия с похожими терминами:
- Квантизация vs. прунинг (pruning). Прунинг удаляет несущественные веса из модели, а квантизация уменьшает разрядность оставшихся весов. Оба метода направлены на оптимизацию, но работают по‑разному.
- Квантизация vs. дистилляция (distillation). Дистилляция передаёт знания из большой модели в меньшую, а квантизация оптимизирует уже существующую модель, не меняя её архитектуру.
Примеры использования квантизации:
- Мобильные приложения: распознавание речи, перевод текста, обработка изображений на смартфоне.
- IoT‑устройства: умные камеры, датчики, носимые устройства с ИИ‑функциями.
- Встроенные системы: автомобильные ассистенты, промышленные контроллеры с ИИ.
- Облачные сервисы: оптимизация затрат на инференс в облаке за счёт более эффективного использования GPU/TPU.
Примеры квантизованных моделей:
- MobileNet (оптимизирована для мобильных устройств);
- EfficientNet‑Lite (облегчённая версия EfficientNet);
- модели, конвертированные в формат TensorFlow Lite или ONNX с квантизацией.
