Модель с 70 миллиардами параметров занимает 140 ГБ в формате FP16. У вас нет сервера с четырьмя A100? Не проблема. Квантование позволяет сжать ту же модель до 40 ГБ и запустить её на паре потребительских видеокарт — или взять модель поменьше и уместить её в 8 ГБ VRAM обычной RTX 3060. В этой статье разберём, как это работает, какие методы существуют и что конкретно нужно делать.

Что такое квантование и зачем оно нужно

Квантование — это снижение точности числового представления весов модели. Вместо 16-битных чисел с плавающей запятой (FP16) веса хранятся в 8-битном (INT8), 4-битном (INT4) или даже 2-битном формате. Математически это означает переход от непрерывного пространства значений к дискретному с меньшим числом уровней.

Квантование — это не магия и не хак. Это осознанный компромисс: мы жертвуем небольшой долей точности ради кратного сокращения памяти и ускорения вычислений.

Зачем это нужно на практике:

  • Память. Модель Llama 3.1 8B в FP16 занимает ~16 ГБ. В формате Q4_K_M — около 4,9 ГБ. Сокращение в 3+ раза.
  • Скорость. Операции с целочисленными типами выполняются быстрее, чем с плавающей запятой, особенно на CPU.
  • Доступность. Модели, которые раньше требовали дата-центр, теперь работают на домашнем ПК.
ℹ Принцип квантования
Представьте фотографию с 16 миллионами цветов. Квантование — это как уменьшить палитру до 256 цветов. Изображение станет чуть менее детальным, но останется узнаваемым и полезным, а файл уменьшится в разы.

Основные методы квантования

Существуют десятки подходов, но на практике в 2026 году доминируют три метода: GGUF (k-quants), GPTQ и AWQ. У каждого свои сильные стороны.


graph TD
    A[Обученная модель FP16] --> B{Выбор метода}
    B --> C[GGUF k-quants]
    B --> D[GPTQ]
    B --> E[AWQ]
    C --> F[CPU + GPU
llama.cpp / Ollama] D --> G[GPU CUDA
vLLM / TGI] E --> H[GPU CUDA
vLLM / TGI] F --> I[Локальный ПК] G --> J[Сервер / Облако] H --> J

GGUF и k-quants

GGUF — формат файлов, разработанный проектом llama.cpp. Это стандарт для локального запуска моделей. Ключевая особенность — поддержка групповых схем квантования (k-quants), где веса разбиваются на блоки по 64–256 элементов, и для каждого блока подбирается свой масштаб квантования.

Основные схемы:

СхемаБитРазмер 8B моделиКачествоНазначение
Q2_K2~2,5 ГБНизкоеRaspberry Pi, эксперименты
Q3_K_M3~3,5 ГБПриемлемоеОграниченная память
Q4_K_M4~4,9 ГБХорошееЗолотой стандарт
Q5_K_M5~5,7 ГБОчень хорошееКогда есть запас VRAM
Q6_K6~6,6 ГБОтличноеБлизко к FP16
Q8_08~8,2 ГБПочти идеальноеМаксимальное качество
💡 Рекомендация
Для большинства задач начинайте с Q4_K_M. Эта схема сохраняет ~92% качества оригинальной модели при сокращении размера в 3-4 раза. Если результат не устраивает — переходите на Q5_K_M или Q6_K.

GPTQ

GPTQ (GPT-Quantization) — метод квантования после обучения (PTQ), который использует калибровочные данные для минимизации ошибки. Алгоритм последовательно обрабатывает каждый слой модели, компенсируя ошибку квантования предыдущих слоёв.

Преимущества:

  • Высокая пропускная способность на GPU (~712 токенов/сек с ядром Marlin)
  • Хорошее сохранение качества на 4-битном уровне
  • Широкая поддержка в серверных фреймворках (vLLM, TGI)

Недостаток — работает только с CUDA GPU. Для локального запуска на CPU не подходит.

AWQ

AWQ (Activation-Aware Weight Quantization) исходит из наблюдения, что не все веса одинаково важны. Алгоритм выделяет ~1% критических весов и пропускает их при квантовании, что значительно снижает потерю качества.

По бенчмаркам 2026 года AWQ сохраняет ~95% качества оригинальной модели — лучший показатель среди 4-битных методов. Пропускная способность с ядром Marlin-AWQ достигает 741 токенов/сек — максимум среди всех методов.

ПараметрGGUF Q4_K_MGPTQ 4-bitAWQ 4-bit
Сохранение качества~92%~93%~95%
Работа на CPUДаНетНет
Работа на GPUДаДа (CUDA)Да (CUDA)
Лучшее применениеЛокальный ПКСерверСервер + качество
Скорость (GPU)СредняяВысокаяМаксимальная

Практика: запуск квантованной модели

Самый простой путь — Ollama. Это обёртка над llama.cpp с автоматическим управлением моделями, квантованием и GPU-памятью.

Установка и первый запуск

# Установка Ollama (Linux/macOS)
curl -fsSL https://ollama.ai/install.sh | sh

# Запуск модели — Ollama сама скачает квантованную версию
ollama run llama3.1:8b

# Конкретная квантизация
ollama run llama3.1:8b-q4_K_M

# Qwen 3 — отличная альтернатива
ollama run qwen3:8b

Ollama автоматически определяет доступную GPU и распределяет слои модели между видеопамятью и оперативной памятью.

Ручное квантование через llama.cpp

Для тех, кому нужен полный контроль:

# Клонирование и сборка llama.cpp
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp && cmake -B build && cmake --build build

# Конвертация модели из HuggingFace формата в GGUF
python convert_hf_to_gguf.py /path/to/model --outfile model-f16.gguf

# Квантование до Q4_K_M
./build/bin/llama-quantize model-f16.gguf model-q4_k_m.gguf Q4_K_M

# Запуск
./build/bin/llama-cli -m model-q4_k_m.gguf -p "Привет! Расскажи о себе."
⚠ Важно
Квантование ниже 4 бит (Q3, Q2) приводит к заметной деградации качества: модель может генерировать бессвязный текст, путать факты и терять способность следовать инструкциям. Используйте Q2_K и Q3_K только если иного выхода нет.

Подбор железа под задачу

Главное правило: размер квантованной модели в ГБ ≈ параметры (в миллиардах) × 0,6 для Q4_K_M. К этому нужно добавить 1–2 ГБ на контекстное окно и служебные данные.


graph LR
    A["8 ГБ VRAM
(RTX 3060/4060)"] --> B["7-8B модели
Llama 3.1 8B
Qwen 3 8B"] C["16 ГБ VRAM
(RTX 4080/4090)"] --> D["13-32B модели
Qwen 3 32B
Mistral Small 24B"] E["24 ГБ VRAM
(RTX 3090/4090)"] --> F["32-34B модели
с большим контекстом"] G["48+ ГБ VRAM
(2×24 ГБ / A6000)"] --> H["70B+ модели
Llama 3.3 70B
Qwen 2.5 72B"]
КонфигурацияМодели (Q4_K_M)СкоростьЦена GPU (б/у)
8 ГБ VRAM (RTX 3060)7-8B параметров30-40 т/с~$150-200
16 ГБ VRAM (RTX 4080)13-24B параметров25-35 т/с~$700-900
24 ГБ VRAM (RTX 3090)32-34B параметров20-30 т/с~$600-800
Без GPU (CPU, 32 ГБ RAM)7-8B параметров5-15 т/с
📝 Пример: домашний сетап за минимальный бюджет
ПК с 16 ГБ RAM и без дискретной видеокарты. Устанавливаем Ollama, запускаем Qwen 3 8B в Q4_K_M. Модель работает на CPU, выдаёт 8-12 токенов в секунду — достаточно для экспериментов и простых задач. Добавляем б/у RTX 3060 12 ГБ за ~$150 — получаем 35-40 токенов в секунду.

Для интерактивного чата комфортна скорость выше 15 токенов в секунду. Выше 30 — разницу с облачным API уже трудно заметить.

Как выбрать между моделями и квантованием

Частый вопрос: что лучше — большая модель с агрессивным квантованием или маленькая модель с мягким?

Ответ однозначный: маленькая модель с Q4_K_M почти всегда лучше, чем большая модель с Q2_K. Модель Qwen 3 8B в Q4_K_M выдаёт более связный и точный текст, чем 70B модель, пережатая до 2 бит.

Порядок действий:

  1. Определите объём доступной памяти (VRAM или RAM)
  2. Выберите максимальную модель, помещающуюся в Q4_K_M
  3. Если качество не устраивает — попробуйте Q5_K_M (если память позволяет) или смените модель
  4. Если памяти мало — возьмите модель поменьше, но не опускайтесь ниже Q3_K_M

Качество квантованной модели определяется не только числом бит, но и архитектурой модели, качеством обучающих данных и выбранным методом квантования. Не все 4-битные модели одинаковы.

Заключение

Квантование превратило запуск больших языковых моделей из привилегии владельцев дата-центров в доступную задачу для любого ПК с 8+ ГБ видеопамяти. Формат GGUF и инструменты вроде Ollama снизили порог входа до одной команды в терминале.

Ключевые выводы:

  • Q4_K_M — оптимальный баланс качества и размера для абсолютного большинства сценариев
  • GGUF — стандарт для локального запуска, работает на CPU и GPU
  • GPTQ и AWQ — для серверного деплоя с максимальной пропускной способностью
  • 8 ГБ VRAM достаточно для запуска 7-8B моделей с комфортной скоростью
  • Модель меньшего размера с мягким квантованием лучше большой модели с жёстким сжатием

Попробуйте прямо сейчас: установите Ollama и запустите ollama run qwen3:8b. Через пару минут у вас будет работающая языковая модель — полностью локальная, без подписок и без отправки данных в облако.