Квантование моделей на ноутбучном GPU с 6 ГБ VRAM

Я попытался уместить большие языковые модели на ноутбучном GPU RTX 3050. У этой карты всего 6 ГБ видеопамяти (VRAM). Я хотел проверить, какие модели работают с 4-битным квантованием, а какие — нет.

Я использовал один скрипт для квантования трех моделей:

  • Phi-3.5-mini (3.8B)
  • Llama-3.2-3B
  • Qwen2.5-3B (VibeThinker)

Результаты: Phi и Llama отработали хорошо. Размер Phi уменьшился с 7,6 ГБ до 2,2 ГБ за 34 минуты. Llama и VibeThinker показали схожие результаты. Эти модели легко помещаются в память.

Затем я попробовал Qwen2.5-7B. Процесс завершился ошибкой. Квантование упало на втором слое с ошибкой Out of Memory (нехватка памяти).

Почему это не удалось: Квантование GPTQ строит матрицу Гессе для каждого слоя. Для модели на 7 млрд параметров эти вычисления требуют больше памяти, чем предоставляет карта с 6 ГБ. Я попробовал несколько способов решения:

  • Меньшие калибровочные датасеты: без изменений.
  • Выгрузка матриц Гессе на CPU: процесс шел дольше, но все равно завершился ошибкой.
  • Использование AWQ вместо GPTQ: ошибка возникла в том же месте.
  • Использование только CPU: работает, но слишком медленно. На обработку одного слоя уходит около 16 минут.

Основные выводы для небольших GPU:

  • Ожидайте трехкратного уменьшения размера модели.
  • Для квантования на GPU ориентируйтесь на предел в 3–4 миллиарда параметров.
  • Следите за объемом KV-кэша. Даже если размеры файлов схожи, объем памяти, используемый во время инференса, различается.
  • Квантование потребляет больше памяти, чем сам запуск модели (serving). Следите за оперативной памятью (RAM) во время процесса.

Сравнение моделей (W4A16): • Phi-3.5-mini: 2.27 GB | 68.7 tok/s • Llama-3.2-3B: 2.26 GB | 66.0 tok/s • VibeThinker-3B: 2.07 GB | 43.9 tok/s

После квантования все три модели корректно справились с базовой математикой и логикой работы с простыми числами.

Источник: https://dev.to/syedazeez/quantizing-three-models-to-fit-a-6-gb-laptop-gpu-and-the-one-that-wouldnt-4pjl

Дополнительное сообщество для обучения: https://t.me/GyaanSetuAi