Что такое квантизация моделей: почему нейросеть на 70 миллиардов параметров влезает в ноутбук
Если вы хоть раз пытались запустить нейросеть у себя на компьютере, вы натыкались на файлы вроде model-Q4_K_M.gguf и вопрос «а что такое Q4 и почему их пять штук на выбор». Это квантизация — и без неё локальный ИИ был бы доступен только владельцам серверных видеокарт за миллион рублей.
Простыми словами
Нейросеть — это гигантская таблица чисел (весов). У модели на 70 миллиардов параметров этих чисел, соответственно, 70 миллиардов. Каждое из них по умолчанию хранится в формате FP16 — 16 бит, то есть 2 байта.
Простая арифметика: 70 млрд × 2 байта = 140 ГБ. Столько видеопамяти нет ни у одной потребительской видеокарты — у RTX 4090 её 24 ГБ.
Квантизация — это уменьшение точности каждого числа. Вместо 16 бит на вес храним 8, 4 или даже меньше. При 4 битах те же 70 млрд параметров занимают уже около 35 ГБ, а модель на 8 млрд параметров — примерно 4,5 ГБ и спокойно работает на обычном игровом ПК.
Аналогия: это как сохранить фотографию в JPEG вместо RAW. Файл меньше в десять раз, а глазом разницу почти не видно.
Что означают обозначения
| Обозначение | Бит на вес | Размер модели 8B | Качество |
|---|---|---|---|
| FP16 / BF16 | 16 | ~16 ГБ | Оригинал, эталон |
| Q8_0 | 8 | ~8,5 ГБ | Отличий с оригиналом почти нет |
| Q6_K | ~6,5 | ~6,6 ГБ | Разница неразличима на практике |
| Q5_K_M | ~5,5 | ~5,7 ГБ | Очень хорошо |
| Q4_K_M | ~4,5 | ~4,9 ГБ | Золотая середина |
| Q3_K_M | ~3,9 | ~4,0 ГБ | Заметная деградация |
| Q2_K | ~2,6 | ~3,2 ГБ | Модель начинает «глупеть» |
Расшифровка суффиксов:
- K — «K-quants», умный метод: важные слои (внимание, эмбеддинги) квантуются мягче, чем остальные. Всегда лучше, чем старые Q4_0 / Q4_1.
- S / M / L — small / medium / large внутри одного уровня.
M— стандартный выбор. - GGUF — не уровень квантизации, а формат файла (наследник GGML), который понимают llama.cpp, Ollama, LM Studio, Jan. В одном GGUF-файле лежит и модель, и токенизатор, и метаданные.
Отдельно встречаются GPTQ, AWQ и EXL2 — это другие семейства квантизации, заточенные под запуск целиком на видеокарте (vLLM, ExLlama). GGUF универсальнее: он умеет раскидывать модель между видеопамятью и обычной оперативкой.
Сколько теряется качества
Главный вопрос. Ответ по замерам сообщества (перплексия — метрика «насколько модель удивлена текстом», чем ниже тем лучше):
- Q8 — потери в районе статистической погрешности. Смысла брать почти нет: занимает вдвое больше Q4 ради неощутимой разницы.
- Q6 / Q5 — потери меньше процента. Если памяти хватает — берите.
- Q4_K_M — потери порядка 1–2%. В диалоге вы их не заметите. Это дефолт, который рекомендуют почти все.
- Q3 — модель начинает путаться в длинных рассуждениях, хуже держит формат ответа.
- Q2 — ломается математика, код, следование инструкции. Использовать только если иначе модель вообще не влезает.
Важное правило, которое многие узнают поздно: большая модель в жёсткой квантизации обычно лучше маленькой модели в мягкой. 70B в Q4 умнее, чем 8B в Q8, при примерно сопоставимом размере файла (35 ГБ против 8,5 ГБ — тут, конечно, не сопоставимом, но принцип работает и на парах 13B-Q4 vs 7B-Q8). Сначала берите модель побольше, потом уже думайте про биты.
Как выбрать под своё железо
Считайте по простой формуле: размер файла + 1–2 ГБ на контекст должны помещаться в видеопамять.
- 8 ГБ VRAM (RTX 3060, 4060): модели 7–8B в Q4_K_M. Идеально: Qwen3, Llama 3.1 8B, Mistral.
- 12 ГБ (3060 12G, 4070): те же 8B, но уже в Q6, или 14B в Q4.
- 16 ГБ (4060 Ti 16G, 4080): 14B комфортно, 32B в Q3 — впритык.
- 24 ГБ (3090, 4090): 32B в Q4_K_M — оптимум. 70B работать будет, но с выгрузкой в оперативку и медленно.
- Только процессор + 32 ГБ RAM: 8B в Q4 пойдёт, скорость около 5–10 токенов в секунду. Читать успеваете, но не более.
- Mac с Apple Silicon: тут память общая (unified), так что M-чип с 32 ГБ тянет 32B-модель — часто лучше, чем ПК с 4090.
Если модель не влезает целиком — llama.cpp выгрузит часть слоёв в оперативку. Работать будет, но каждый выгруженный слой замедляет генерацию в разы.
С чего начать на практике
Самый простой путь — Ollama: одна команда ollama run qwen3:8b, квантизацию Q4_K_M он подберёт сам. Хотите выбирать вручную и видеть интерфейс — LM Studio, там при скачивании прямо показано, влезет модель в вашу видеокарту или нет.
Подробнее про локальный запуск мы писали в гайде как запустить ИИ локально через Ollama, а про то, чем инференс отличается от обучения — в отдельном разборе.
Коротко
- Квантизация ужимает веса модели с 16 бит до 8/6/5/4 — файл уменьшается в 3–4 раза.
- Q4_K_M — правильный дефолт: теряет 1–2% качества, экономит 70% памяти.
- Ниже Q3 не опускайтесь без крайней нужды — модель глупеет заметно.
- Большая модель в Q4 лучше маленькой в Q8.
- GGUF — формат файла, а не уровень квантизации. Его понимают Ollama, LM Studio, llama.cpp.