Большие языковые модели (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 | Нет | Малый | Быстрый инференс на GPU | GPU с 8–16 ГБ VRAM |
GGUF | Нет | Малый | Запуск на CPU, offline | CPU (даже слабый) |
QLoRA | Да | Малый | Дообучение на GPU | GPU от 24 ГБ VRAM |
Когда использовать что
- GPTQ: если нужно быстро запустить большую модель на GPU без обучения
- GGUF: если хотите использовать модель на ноутбуке или сервере без GPU
- QLoRA: если нужно дообучить LLM под свои данные без больших ресурсов
Вывод
Квантование делает использование LLM доступным даже для разработчиков с одним GPU или обычным ПК. Выбор метода зависит от цели: запуск, обучение или интеграция в прод. Все три метода — важные инструменты в арсенале инженера, работающего с языковыми моделями.