Обзор методов квантования языковых моделей: GPTQ, GGUF, QLoRA

Большие языковые модели (LLM) часто требуют десятки гигабайт видеопамяти и мощные серверы для запуска и обучения. Квантование — это способ уменьшить объём модели и ускорить её работу, с минимальной потерей качества.

В этой статье:

  • Что такое квантование
  • Какие есть методы: GPTQ, GGUF, QLoRA
  • Чем они отличаются
  • Когда и как их применять

Что такое квантование

Квантование — это перевод весов модели из 32-битного формата (float32) в более компактные форматы: float16, int8, int4 и т. д.

Цель:

  • уменьшить размер модели (в 2–8 раз)
  • сократить использование VRAM
  • ускорить инференс

Пример: модель в fp32 весит 13 ГБ, а в int4 — 3–4 ГБ.


GPTQ: для ускоренного инференса

GPTQ — это метод постобученного квантования, при котором веса модели переводятся в int4 или int8 после завершения обучения.

Плюсы:

  • Уменьшает размер модели до 4–8 раз
  • Поддерживается в text-generation-webui, AutoGPTQ, ExLlama
  • Работает на GPU без необходимости обучения

Минусы:

  • Квантованная модель не обучается повторно (read-only)

Пример:

from auto_gptq import AutoGPTQForCausalLM
model = AutoGPTQForCausalLM.from_quantized("model-gptq", device_map="auto")

GGUF: для запуска на CPU и llama.cpp

GGUF — это специальный формат, разработанный для llama.cpp и совместимых проектов (KoboldCpp, LM Studio, Ollama).

Плюсы:

  • Отлично работает на CPU (в том числе MacBook, ARM, Raspberry Pi)
  • Минимальные требования по памяти
  • Поддерживает quantized модели 2–8 бит
  • Быстрый старт без установки PyTorch

Минусы:

  • Не обучается
  • Нужен отдельный toolchain для подготовки моделей (конвертация из HF формата)

QLoRA: обучение моделей в 4-битном формате

QLoRA (Quantized Low-Rank Adapter) — это способ дообучать большие модели, используя 4-битное квантование и адаптеры.

Плюсы:

  • Можно дообучать 7B/13B модели даже на 24ГБ GPU
  • Поддерживает LoRA: сохраняются только адаптеры (100–200 МБ)
  • Обучается быстро и эффективно

Минусы:

  • Нужно сохранить и базовую модель, и адаптеры
  • Инференс требует загрузки 4bit модели + PEFT адаптера

Сравнение методов

МетодМожно обучатьРазмерПодходит дляАппаратные требования
GPTQНетМалыйБыстрый инференс на GPUGPU с 8–16 ГБ VRAM
GGUFНетМалыйЗапуск на CPU, offlineCPU (даже слабый)
QLoRAДаМалыйДообучение на GPUGPU от 24 ГБ VRAM

Когда использовать что

  • GPTQ: если нужно быстро запустить большую модель на GPU без обучения
  • GGUF: если хотите использовать модель на ноутбуке или сервере без GPU
  • QLoRA: если нужно дообучить LLM под свои данные без больших ресурсов

Вывод

Квантование делает использование LLM доступным даже для разработчиков с одним GPU или обычным ПК. Выбор метода зависит от цели: запуск, обучение или интеграция в прод. Все три метода — важные инструменты в арсенале инженера, работающего с языковыми моделями.