Post-training quantization — метод уменьшения разрядности весов и активаций после обучения без повторного тренинга, применяемый для ускорения инференса и уменьшения размера модели.
Определение
Post-training quantization (PTQ) — это техника, при которой модель обучается в полной точности (FP32/FP16), а затем конвертируется в более низкую разрядность (обычно INT8, реже INT4) без дополнительного обучения. PTQ снижает требования к памяти, ускоряет матричные операции и уменьшает стоимость инференса. Это быстрый метод оптимизации, не требующий доступа к исходному датасету или длительного повторного обучения.
Как работает
PTQ использует статистику активаций и диапазоны весов, чтобы подобрать масштабирование (scale) и zero-point для каждого тензора. Затем выполняется округление и преобразование весов в низкоразрядный формат. Для активаций применяется симметричное или асимметричное квантование. Прямой проход модели полностью выполняется в квантованных операциях, если это поддержано рантаймом.
Основные этапы PTQ:
- сбор статистики активаций на небольшом калибровочном наборе;
- выбор схемы квантования (per-tensor, per-channel);
- квантование весов и генерация scale/zero-point таблиц;
- конвертация модели в формат рантайма (ONNX, TensorRT, GGUF, TFLite).
Где применяется
- Инференс LLM на CPU и GPU с ограниченной памятью.
- Оптимизация моделей компьютерного зрения для мобильных устройств.
- Web-инференс через WebGPU/WebNN.
- Edge-камеры, NPU и DSP-ускорители.
- Серверные пайплайны, где важно снизить стоимость запроса.
Практические примеры использования
Большинство готовых INT8-моделей в ONNX Runtime, TensorRT и TFLite построены именно через PTQ. Многие квантованные версии LLaMA, Mistral, Qwen и Gemma, распространяемые в GGUF, получены пост-тренировочным квантованием: разработчики конвертируют FP16-веса, собирают статистику на небольшой выборке и применяют схему Q4/Q5/Q8. В CV-моделях MobileNet и EfficientDet PTQ используется для подготовки мобильных сборок.
Ключевые свойства
- Не требует повторного обучения модели.
- Минимальные затраты времени по сравнению с QAT.
- Поддержка INT8-инференса в большинстве рантаймов.
- Переключаемые режимы квантования: симметричное, асимметричное, per-channel.
- Возможность калибровки на ограниченном датасете.
Проблемы и ограничения
- Риск деградации качества, особенно для сложных моделей.
- Неравномерное распределение активаций может ухудшить точность.
- Тензоры attention-блоков чувствительны к агрессивному квантованию.
- Per-tensor схемы часто недостаточны, требуется per-channel.
- Не подходит для моделей, требующих экстра-точности (например, точные регрессоры).
Преимущества и ограничения
- Плюс: быстрый процесс и отсутствие затрат на дообучение.
- Минус: нестабильное качество в зависимости от распределений данных.
Связанные термины
- Quantization-aware training (QAT)
- INT8 / INT4 квантование
- Per-channel quantization
- Scale и zero-point
- Mixed-precision inference