Квантование LLM
Вопрос
Объясните, как квантуют большие языковые модели до 4 бит и почему это работает с небольшими потерями.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Квантуются в основном веса, активации остаются в bf16 (weight-only)
Групповое квантование с масштабом на группу (например 128 весов)
Выбросы и чувствительные каналы: методы учитывают важность весов (GPTQ, AWQ и подобные)
Выигрыш: память и скорость в memory-bound декодировании
Проверка: перплексия и задачи, особенно рассуждения и длинный контекст
Что могут спросить следом
- Почему квантовать активации сложнее, чем веса?
- Что такое QLoRA?
Разбор
Для LLM чаще всего делают weight-only квантование: веса хранятся в 4 битах, а при умножении разворачиваются в bf16 по масштабам. Веса делят на группы, например по 128, и у каждой группы свой масштаб и, при необходимости, нулевая точка; так выбросы одной группы не портят другие. Наивное округление до 4 бит теряет заметно, поэтому используют методы, учитывающие влияние ошибки на выход слоя: одни подбирают квантованные веса с компенсацией ошибки по калибровочным данным, другие защищают каналы, важные для активаций. Работает это потому, что веса больших моделей избыточны, а декодирование ограничено чтением памяти: читаем вчетверо меньше байт, и генерация ускоряется. Активации квантовать сложнее из-за выбросов в отдельных каналах. Качество проверяю не только перплексией, но и на задачах рассуждения, коде и длинном контексте, где потери проявляются раньше. QLoRA объединяет 4-битную замороженную базу с обучаемыми LoRA-адаптерами.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.