QAD vs QAT - как правильно учить 4-bit модели
Quantization-aware distillation (QAD) помогает сохранить поведение сильной teacher-модели,
а QAT остаётся привязан к обычной задаче предсказания следующего токена.
🧠 QAD - Quantization-Aware Distillation
- Есть teacher - большая модель высокой точности (заморожена)
- Есть student - квантованная 4-bit модель
Студент учится копировать всё распределение вероятностей следующего слова,
а не только один правильный ответ.
Используется KL divergence - метрика различия двух распределений вероятностей.
Она заставляет student делать свои выходы максимально похожими на teacher.
Почему это важно:
Teacher даёт "мягкие цели" (soft targets) - показывает, какие ответы близки к правильному, а какие совсем мимо.
Это особенно полезно, когда 4-bit квантование вносит шум и искажения в обучение.
QAD учит модель вести себя как большая, даже если она сильно ужата.
⚙️ QAT - Quantization-Aware Training
Справа на схеме:
- 4-bit модель обучается напрямую
- Используются обычные метки токенов
- Лосс - cross entropy
Модель получает награду только за то, что ставит высокую вероятность на один правильный следующий токен.
Что значит "shift + mask"
- Shift - модель предсказывает следующий токен по предыдущим (стандартный autoregressive режим)
- Mask - некоторые позиции не учитываются в лоссе (padding, служебные токены и т.д.)
Главное различие
| QAD | QAT |
|------|------|
| Есть teacher | Учителя нет |
| Копируем распределение вероятностей | Угадываем один правильный токен |
| Используется KL divergence | Используется cross entropy |
| Лучше сохраняет поведение большой модели | Проще, но теряет "тонкие знания" |
| Стабильнее при сильном квантовании | Сильнее страдает от шума 4-bit |
Вывод:
QAD помогает перенести "интеллект" большой модели в сильно сжатую версию.
QAT - это обычное обучение, но с учётом того, что модель уже квантована.
research.nvidia.com/labs/nemotron/nemotron-qad
Post #1334
1.67K

- ❤ 3
- 👍 2