Квантизация (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 с квантизацией.

Авторизация