квантизация
Снижение точности весов модели (например, до int4/int8) для уменьшения VRAM и ускорения инференса.
Что такое квантизация
Квантизация — техника уменьшения объёма памяти и ускорения вычислений путём снижения битности представления весов модели. Стандартно модели хранятся в BF16 (2 байта/параметр); квантизация переводит их в INT8 (1 байт) или INT4 (~0.5 байта).
Ориентиры по памяти весов (без KV-кеша):
- BF16: 7B → ~14 ГБ, 70B → ~140 ГБ
- INT8: 7B → ~7 ГБ, 70B → ~70 ГБ
- INT4: 7B → ~3.5 ГБ, 70B → ~35 ГБ
Это позволяет запускать 70B-модели на двух A100 40GB вместо двух A100 80GB, или 7B-модели на одном RTX 4090.
Основные методы
AWQ (Activation-Aware Weight Quantization)
Калибрует квантизацию с учётом реальных активаций — «важные» каналы весов хранятся точнее. Даёт стабильное качество на уровне INT8 при INT4-размере. Поддерживается vLLM, TGI, SGLang.
# Запуск AWQ-модели в vLLM
docker run --gpus all -p 8000:8000 vllm/vllm-openai:latest \
--model TheBloke/Llama-2-70B-Chat-AWQ --quantization awq
GPTQ (Post-Training Quantization)
Оптимизирует ошибку квантизации итеративно по слоям. Чуть хуже AWQ по качеству, но шире поддерживается в llama.cpp (через GGUF).
GGUF-квантизация (для llama.cpp)
Собственные форматы: Q4_K_M, Q5_K_M, Q8_0. Q4_K_M — оптимальный выбор для большинства задач.
FP8 (только H100/H200)
Вычисления в 8-битном формате с плавающей точкой. Ускоряет как prefill, так и decode при минимальной потере качества. Поддержка в vLLM (--dtype fp8), TensorRT-LLM.
Квантизация KV-кеша
Отдельно от весов можно квантизовать KV-кеш в INT8/FP8. Это снижает VRAM на 50% при хранении KV, позволяя удвоить параллельность.
Практический выбор
| Цель | Рекомендация |
|---|---|
| Минимальная VRAM | INT4 (AWQ/GGUF Q4_K_M) |
| Баланс качество/скорость | INT8 или AWQ |
| Минимальная p95-латентность на H100 | FP8 |
| CPU-инференс | GGUF Q4_K_M через llama.cpp |
Связанные термины
- AWQ — метод INT4-квантизации с калибровкой активаций
- GPTQ — альтернативный метод INT4-квантизации
- GGUF — формат квантизованных файлов для llama.cpp
- VRAM — ресурс, экономимый квантизацией
- Подробный гайд по квантизации
Готовы запустить GPU-задачу?
Запустить GPU-сервер