Inference
AWQ
Метод квантизации весов до 4 бит с учётом важности активаций для минимизации потерь качества.
Что такое AWQ
AWQ (Activation-Aware Weight Quantization) — метод посттренировочной квантизации LLM до 4 бит, разработанный в MIT (2023). Ключевое отличие от простой INT4-квантизации: не все веса одинаково важны. AWQ выявляет «важные» каналы весов по распределению активаций и сохраняет их с большей точностью, тогда как менее важные квантизуются агрессивнее.
Это позволяет AWQ достигать качества, близкого к INT8 и даже BF16, при занимаемой памяти INT4. На практике: PPL-деградация AWQ-4bit против BF16 составляет обычно 0.1–0.3, тогда как наивная INT4-квантизация даёт 1–5+.
Когда применять AWQ
- Нужно запустить 13B/70B-модель на GPU с ограниченной VRAM
- Приоритет — качество при INT4-размере (vs GPTQ, который чуть хуже по этой метрике)
- Сервинг через vLLM, TGI или SGLang (все поддерживают AWQ нативно)
# Квантизация модели (один раз)
pip install autoawq
python -c "
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer
model = AutoAWQForCausalLM.from_pretrained('meta-llama/Llama-3-8B-Instruct')
tokenizer = AutoTokenizer.from_pretrained('meta-llama/Llama-3-8B-Instruct')
model.quantize(tokenizer, quant_config={'zero_point': True, 'q_group_size': 128, 'w_bit': 4})
model.save_quantized('./llama-3-8b-awq')
"
# Запуск AWQ-модели в vLLM
docker run --gpus all -p 8000:8000 vllm/vllm-openai:latest \
--model ./llama-3-8b-awq --quantization awq
AWQ vs GPTQ
| AWQ | GPTQ | |
|---|---|---|
| Качество при 4-bit | Лучше | Чуть хуже |
| Скорость квантизации | Быстрее | Медленнее |
| Совместимость | vLLM, TGI, SGLang | vLLM, TGI, llama.cpp (GGUF) |
Связанные термины
- квантизация — общий обзор методов
- GPTQ — альтернативный метод INT4-квантизации
- vLLM — основной сервер для AWQ-моделей
- VRAM — ресурс, экономимый квантизацией
Готовы запустить GPU-задачу?
Запустить GPU-сервер