Типы квантизации LLM: памятка
Хочешь запустить большую языковую модель локально, но не знаешь, какой файл скачать? Q4_K_M, IQ3_S, Q5_K_M - это не случайный набор символов. Это формат квантизации, и от него зависит качество ответов и сколько памяти съест модель.
Что такое квантизация
Обученная нейросеть - это миллиарды чисел с плавающей точкой (float32 или float16). Каждый параметр занимает 2–4 байта. Модель на 70 миллиардов параметров в float16 весит ~140 ГБ. На обычную видеокарту это не влезет.
Квантизация сжимает эти числа: вместо 16-битных float используются 4-битные или 3-битные целые числа. Модель становится меньше и быстрее, но немного теряет в точности. Это осознанный компромисс между размером и качеством.
Расшифровка названий
Разберём по частям на примере Q4_K_M:
| Часть | Значение |
|---|---|
Q или IQ | Тип квантизации. Q - классический метод, IQ - улучшенный: веса сжимаются с учётом их важности, обычно точнее при том же размере |
4, 5, 3, 2 | Количество бит на один вес. Больше бит - лучше качество - больше файл |
K | K-quant: более умное распределение точности по слоям модели |
M, L, S, XS | Размер внутри одного уровня бит: L (большой) → M (средний) → S (малый) → XS (очень малый) |
Таблица квантизаций
| Тип | Бит/вес | Качество | Рекомендуется |
|---|---|---|---|
| Q5_K_M | ~5.68 | Очень хорошее | ✅ Да |
| Q5_K_S | ~5.54 | Очень хорошее | ✅ Да |
| Q4_K_M | ~4.83 | Хорошее | ✅ Да |
| Q4_K_S | ~4.58 | Чуть ниже Q4_K_M, экономит место | ✅ Да |
| IQ4_NL | ~4.50 | Достойное, немного меньше Q4_K_S | ✅ Да |
| IQ4_XS | ~4.25 | Достойное, меньше Q4_K_S | ✅ Да |
| Q3_K_L | ~3.82 | Ниже среднего, но рабочее | ⚠️ Только при нехватке памяти |
| Q3_K_M | ~3.66 | Заметная потеря качества | ⚠️ Только при нехватке памяти |
| IQ3_M | ~3.66 | Сравнимо с Q3_K_M, новый метод | ⚠️ Только при нехватке памяти |
| IQ3_S | ~3.44 | Ниже среднего, лучше Q3_K_S при том же размере | ⚠️ С осторожностью |
| Q3_K_S | ~3.44 | Низкое | ❌ Не рекомендуется |
| IQ3_XS | ~3.30 | Низкое, чуть лучше Q3_K_S | ❌ С осторожностью |
| Q2_K | ~2.96 | Очень низкое, но работает | ❌ Только когда больше ничего не помещается |
Как выбрать
Простое правило: бери максимально качественный вариант, который влезает в твою видеопамять (или оперативную память при запуске на процессоре).
Есть 8 ГБ VRAM → Q4_K_M для 7B, Q3_K_M для 13B
Есть 16 ГБ VRAM → Q5_K_M для 13B, Q4_K_M для 30B
Есть 24 ГБ VRAM → Q5_K_M для 30B, Q4_K_M для 70B
Запускаешь на CPU → IQ4_XS или Q4_K_S, скорость важнее
Практические советы:
- Q4_K_M - золотой стандарт. Если не знаешь что брать, бери это.
- IQ4_XS - если нужно сэкономить несколько гигабайт без заметной потери качества.
- Q5_K_M - если есть запас памяти и хочется лучшего качества из доступных.
- Q3_* - только если модель буквально не помещается ни в каком другом виде.
- Q2_K - когда вообще нет выбора: память очень ограничена, а модель всё равно нужна.
Почему IQ-форматы часто лучше Q-форматов
Классические Q-форматы (Q4_K_S, Q3_K_S) сжимают все веса одинаково. IQ-форматы работают умнее: они знают, какие веса сильнее влияют на результат, и сохраняют их точнее. Веса, которые почти не влияют на выход, сжимаются сильнее.
Итог: IQ4_XS занимает меньше места, чем Q4_K_S, но даёт сравнимое или лучшее качество.
Итого
Квантизация - это не страшно. Это просто размен: меньше памяти ↔ меньше точности. Для большинства задач Q4_K_M даёт результат, практически неотличимый от оригинала.