Вайб-кодинг 23.07.2026 09:10
Методы квантования LLM, которые я бы изучил, если бы мне нужно было запустить модель 70B на одной GPU:
Модель 70B в FP16 требует около 140 ГБ только под веса. В 4-битном формате этот объём уменьшается до 35 ГБ, что уже помещается на одну видеокарту.
Но простое округление значений не работает для больших моделей. Примерно 0,1% скрытых размерностей содержат значения, которые могут быть до 20 раз больше, чем остальные значения в тензоре, и они ломают квантовочную сетку для всех остальных параметров.
Каждый из этих 5 методов решает проблему выбросов на разном этапе:
1. RTN (Round-To-Nearest)
Игнорирует проблему.
Каждый вес просто округляется до ближайшего уровня квантования без использования калибровочных данных.
Самый дешёвый вариант, но самый слабый при низкой разрядности.
2. GPTQ
Исправляет последствия округления.
Квантует слой за слоем, столбец за столбцом, и после каждого шага корректирует оставшиеся веса, чтобы компенсировать возникшую ошибку, прежде чем перейти дальше.
3. AWQ (Activation-aware Weight Quantization)
Защищает важные веса до округления.
Находит примерно 1% каналов весов, которые оказывают наибольшее влияние, и масштабирует их так, чтобы они лучше переживали квантование.
При этом итоговая модель всё равно полностью работает в обычном INT4.
4. LLM.int8()
Изолирует выбросы во время инференса.
Размерности с выбросами выполняются в FP16, а остальные 99,9% параметров работают в INT8. Затем результаты объединяются.
5. QAT (Quantization-Aware Training)
Решает проблему ещё во время обучения.
Модель дообучается с учётом квантования: округление встроено в каждый forward pass, поэтому модель заранее адаптируется к возникающим потерям до фактического применения квантования.
Все пять методов создают один и тот же результат — модель, работающую с меньшей точностью представления по сравнению с исходной обученной версией.
Разница только в том, на каком этапе решается проблема выбросов.
Визуализация ниже хорошо суммирует эти подходы.
Есть отличная статья с подробным исследованием методов квантования LLM:
https://arxiv.org/abs/2411.02530
#vk_feedМодель 70B в FP16 требует около 140 ГБ только под веса. В 4-битном формате этот объём уменьшается до 35 ГБ, что уже помещается на одну видеокарту.
Но простое округление значений не работает для больших моделей. Примерно 0,1% скрытых размерностей содержат значения, которые могут быть до 20 раз больше, чем остальные значения в тензоре, и они ломают квантовочную сетку для всех остальных параметров.
Каждый из этих 5 методов решает проблему выбросов на разном этапе:
1. RTN (Round-To-Nearest)
Игнорирует проблему.
Каждый вес просто округляется до ближайшего уровня квантования без использования калибровочных данных.
Самый дешёвый вариант, но самый слабый при низкой разрядности.
2. GPTQ
Исправляет последствия округления.
Квантует слой за слоем, столбец за столбцом, и после каждого шага корректирует оставшиеся веса, чтобы компенсировать возникшую ошибку, прежде чем перейти дальше.
3. AWQ (Activation-aware Weight Quantization)
Защищает важные веса до округления.
Находит примерно 1% каналов весов, которые оказывают наибольшее влияние, и масштабирует их так, чтобы они лучше переживали квантование.
При этом итоговая модель всё равно полностью работает в обычном INT4.
4. LLM.int8()
Изолирует выбросы во время инференса.
Размерности с выбросами выполняются в FP16, а остальные 99,9% параметров работают в INT8. Затем результаты объединяются.
5. QAT (Quantization-Aware Training)
Решает проблему ещё во время обучения.
Модель дообучается с учётом квантования: округление встроено в каждый forward pass, поэтому модель заранее адаптируется к возникающим потерям до фактического применения квантования.
Все пять методов создают один и тот же результат — модель, работающую с меньшей точностью представления по сравнению с исходной обученной версией.
Разница только в том, на каком этапе решается проблема выбросов.
Визуализация ниже хорошо суммирует эти подходы.
Есть отличная статья с подробным исследованием методов квантования LLM:
https://arxiv.org/abs/2411.02530
Комментарии (0)
Пока нет комментариев. Будьте первым!