---
title: "AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration"
title_ru: "AWQ: Взвешенная квантизация с учётом активаций для сжатия и ускорения LLM"
authors: [Lin, Tang, Tang, Yang, Dang, Han]
year: 2023
venue: "MLSys"
venue_tier: "A"
doi: "2306.00978"
tags: [quantization, ptq, int4, activation_aware, llm, weight_only]
relevance_to_smartrep: 2
direction: "🅲"
---

# AWQ: Квантизация весов с учётом активаций

## TL;DR (≤3 предложения)

AWQ обнаруживает, что не все веса одинаково важны для точности: веса, соответствующие "салиентным" каналам (с высокими активациями), критичны — их квантизация в INT4 даёт большую потерю. AWQ масштабирует эти каналы перед квантизацией так, чтобы ошибка округления была меньше, не меняя выход сети (compensating scaling). Изначально для LLM, но принципы применимы к любым трансформерным моделям, включая video/motion.

## Проблема

INT4 Weight-only квантизация удобна для LLM (веса занимают большую часть памяти), но наивная квантизация всех каналов одинаково даёт большую ошибку. "Горячие" каналы (с большими активациями) нужно защищать — без увеличения битности.

## Гипотеза / вклад

- **Activation-aware saliency:** каналы с большими активациями $|\mathbf{x}|$ более важны — их веса требуют аккуратной квантизации.
- **Per-channel scaling:** домножить веса $\mathbf{w}_c$ на $s_c > 1$ перед квантизацией и $\mathbf{x}$ на $1/s_c$ в runtime — выход сохраняется, ошибка квантизации уменьшается для важных каналов.
- **Grid search для $s_c$:** без gradient, аналитически — быстро.

## Метод

Без scaling: ошибка квантизации $\mathcal{E} = \|\mathbf{Q}(\mathbf{w}) \cdot \mathbf{x} - \mathbf{w} \cdot \mathbf{x}\|$.

С per-channel scaling:

$$\mathcal{E}(s) = \|\mathbf{Q}(s \cdot \mathbf{w}) \cdot \frac{\mathbf{x}}{s} - \mathbf{w} \cdot \mathbf{x}\|$$

Оптимальный $s_c^* = \arg\min_s \mathcal{E}(s)$, найденный grid search по $s \in \{|\mathbf{x}|^{\alpha}\}$ для разных $\alpha$.

## Датасеты

| Модель | Задача | FP16 | W4 GPTQ | W4 AWQ |
|---|---|---|---|---|
| LLaMA-7B | Perplexity (WikiText-2) | 5.68 | 6.09 | 5.78 |
| LLaMA-65B | Perplexity | 3.53 | 3.84 | 3.60 |
| OPT-6.7B | Perplexity | 10.86 | 11.33 | 11.02 |

## Сравнение с SOTA

Превосходит GPTQ при W4 на большинстве LLM. Особенно хорош для малых моделей (7B), где GPTQ деградирует сильнее.

## Ограничения / слабости

- Разработан для LLM weight-only quantization — прямое применение к CNN ограничено.
- W4 только для весов (activation в FP16/INT8) — не уменьшает activation memory.
- Не оценивался для temporal models и skeleton architectures.

## Релевантность SmartRep

- **Трансформерные backbone'ы 🅲:** ViTPose, MotionBERT, TinyViT — трансформерные, содержат аналогичные "горячие" каналы. AWQ принцип (защита салиентных каналов через scaling) применим.
- **Memory-efficient deployment:** W4A8 уменьшает размер модели в 4× — критично для хранения нескольких персонализированных моделей на мобильном устройстве.
- **LLM-принципы к CV:** AWQ впервые показал transfer принципов LLM-квантизации к CV трансформерам — методологически важно для SmartRep paper.

## Gap для нас

AWQ не тестировался на CV трансформерах для pose/motion задач. **Ниша SmartRep:** AWQ-Skeleton — адаптация activation-aware scaling к skeleton temporal encoder: "горячие" каналы в MotionBERT / Mamba = суставные координаты с наибольшей вариацией между упражнениями. PTQ без retraining для on-device inference.

## Код / данные

- Repo: github.com/mit-han-lab/llm-awq
- Pretrained: quantized LLaMA варианты

## Цитата (BibTeX)

```bibtex
@inproceedings{lin2023awq,
  title={AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration},
  author={Lin, Ji and Tang, Jiaming and Tang, Haotian and Yang, Shang and Dang, Xingyu and Han, Song},
  booktitle={Proceedings of Machine Learning and Systems},
  year={2024}
}
```
