Толковый словарь по нейросетям и искусственному интеллекту

Квантование

Quantization

Категория термина


Квантование (Quantization) — это процесс преобразования чисел с плавающей точкой, используемых в нейросетевых моделях, в более компактные числовые форматы с фиксированной точкой (например, float32int8). Цель квантования — уменьшить размер модели и ускорить её работу, особенно при использовании на устройствах с ограниченными вычислительными ресурсами (смартфоны, микроконтроллеры, edge-устройства).

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


⚙️ Виды квантования:

  1. Пост-тренировочное квантование (Post-Training Quantization, PTQ)
    Применяется к уже обученной модели. Не требует повторного обучения.
  2. Квантование с дообучением (Quantization Aware Training, QAT)
    Выполняется во время обучения модели, чтобы она изначально адаптировалась к квантованным значениям. Даёт лучшую точность.
  3. Динамическое квантование (Dynamic Quantization)
    Применяется только к весам модели и выполняется во время вывода (inference), не затрагивая обучение.

📊 Пример:

ФорматРазмер числаРазмер моделиСкорость
Float3232 бита100%Стандартная
Float1616 бит~50%Быстрее
INT88 бит~25%Намного быстрее

Квантование до INT8 может уменьшить размер модели в 4 раза, а производительность — увеличиться в 2–4 раза в зависимости от аппаратного обеспечения.


📌 Области применения:

  • Развёртывание моделей на мобильных и встраиваемых устройствах
  • Работа в браузерах и онлайн-сервисах
  • Ускорение вывода (inference) на CPU и GPU
  • Использование в реальном времени (например, в приложениях дополненной реальности или голосовых ассистентах)

🧪 Пример из практики:

Модель GPT или BERT может весить несколько гигабайт в формате FP32. После квантования до INT8 её размер может уменьшиться до нескольких сотен мегабайт. Например, квантованная версия LLaMA 7B может занимать ~4 ГБ, тогда как оригинал — более 13 ГБ.


⚠️ Ограничения:

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

📚 Поддержка в библиотеках:

  • PyTorch: torch.quantization
  • TensorFlow Lite: встроенные средства для PTQ и QAT
  • ONNX Runtime: поддержка INT8
  • Hugging Face Transformers: квантованные версии популярных моделей (через bitsandbytes, ggml, AutoGPTQ)

✅ Заключение:

Квантование — один из ключевых методов оптимизации нейросетей, который делает возможным их использование в реальном времени, на слабых устройствах и в распределённых системах. Оно балансирует между точностью и производительностью, что делает его незаменимым инструментом в современном ИИ.

🤔 Остались вопросы? Спросите ИИ

Используйте в запросе не более 500 символов.

📌 Последние запросы

  • Нарисуй мне игральную карту как из игры Hearthstone. На ней должен быть изображён молодой парень в о… 1 неделя назад
  • Как выбрать размер сглаживания? 2 недели назад
  • Сможешь поределить значение подписи 2 недели назад

📥 Скачать список терминов (646)

Форматы: TXT (список) | CSV (Excel) | JSON (код) | XML (данные) | MD (Markdown)