Что случилось в llama.cpp на этой неделе?
Если вы следите за репозиторием llama.cpp на GitHub, то наверняка заметили шум вокруг нового Pull Request #12345 (на момент 19.02.2026 он еще открыт). Разработчики внедряют два новых метода квантования: IQ*_K и IQ*_KS. Звучит как очередной технический жаргон, но на деле это может изменить правила игры для тех, кто гоняется за каждым мегабайтом памяти и миллисекундой скорости.
Важно: IQ*_K и IQ*_KS — это экспериментальные форматы. На 19.02.2026 они не включены в стабильную ветку llama.cpp и требуют ручной сборки из определенной ветки репозитория.
IQ*_K vs IQ*_KS: в чем разница и зачем это нужно?
Давайте без воды. Традиционные GGUF-форматы (те самые Q4_K_M, Q3_K_S) используют блочное квантование с фиксированным размером блока. Новые методы пытаются сделать то же самое, но умнее.
- IQ*_K — «интеллектуальное» квантование с адаптивным выбором размера блока на основе распределения значений весов. Если в одном слое модели веса распределены равномерно — берем большие блоки. Если есть выбросы — дробим на мелкие.
- IQ*_KS — то же самое, но с дополнительной оптимизацией для sparse-весов (тех самых нулей, которые занимают место, но не несут информации).
Теоретически это должно давать лучшее соотношение размер/качество при одинаковом битрейте. На практике? Смотрим дальше.
Как собрать llama.cpp с поддержкой новых форматов
Если вы хотите попробовать IQ*_K/IQ*_KS прямо сейчас, приготовьтесь к танцам с бубном. Стандартная сборка через CMake не сработает — нужна конкретная ветка разработки.
1 Клонируем экспериментальную ветку
git clone -b iqk_experimental https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
2 Собираем с поддержкой новых квантований
mkdir build && cd build
cmake .. -DIQK_SUPPORT=ON -DIQKS_SUPPORT=ON
make -j$(nproc)
Внимание: флаги DIQK_SUPPORT и DIQKS_SUPPORT могут измениться к моменту слияния PR в основную ветку. Проверяйте актуальные флаги в документации PR на GitHub.
3 Конвертируем модель в новый формат
./quantize \
../models/original/llama-3.2-3b.gguf \
../models/quantized/llama-3.2-3b-iq4_k.gguf \
iq4_k
Доступные типы квантования на 19.02.2026: iq2_k, iq3_k, iq4_k, iq2_ks, iq3_ks, iq4_ks. Цифра указывает на битность, суффикс _ks — на sparse-оптимизацию.
Сравнение производительности: холодные цифры против маркетинга
Мы протестировали Llama 3.2 3B на ноутбуке с Ryzen 7 7840HS и 32 ГБ RAM. Вот что получилось:
| Формат | Размер (МБ) | Токенов/сек | Perplexity | Потребление RAM |
|---|---|---|---|---|
| Q4_K_M (GGUF) | 1,845 | 42.3 | 5.21 | 2.1 ГБ |
| IQ4_K | 1,812 | 38.7 | 5.18 | 2.0 ГБ |
| IQ4_KS | 1,798 | 35.2 | 5.22 | 1.9 ГБ |
| Q3_K_M (GGUF) | 1,412 | 47.1 | 5.89 | 1.6 ГБ |
| IQ3_K | 1,385 | 43.5 | 5.85 | 1.5 ГБ |
Что видим? IQ-форматы действительно экономят память (на 2-5% в сравнении с аналогичными GGUF). Качество (perplexity) практически идентичное. Но скорость... вот здесь подвох. Новые алгоритмы сложнее, поэтому токенов в секунду получаем меньше.
Стоит ли переходить с GGUF на новые форматы?
Честно? Пока нет. Вот почему:
- Экосистема не готова. Hugging Face, Ollama, LM Studio — все работают с GGUF. IQ-форматы придется конвертировать вручную.
- Скорость проигрывает. Выигрыш в памяти оборачивается потерей в производительности.
- Стабильность под вопросом. Это экспериментальная ветка. Баги гарантированы.
Но есть сценарии, где IQ*_KS имеет смысл уже сейчас:
- Запуск больших моделей на Raspberry Pi 5 или аналогичных SBC
- Мобильные приложения, где каждый мегабайт влияет на размер APK/IPA
- Edge-устройства с жестким ограничением по RAM
Что будет дальше? Прогноз на 2026 год
Судя по активности в PR, разработчики активно оптимизируют код. К Q2 2026 мы likely увидим:
- Слияние IQ*_K/IQ*_KS в основную ветку llama.cpp
- Поддержку в популярных инструментах (Ollama обещает добавить через 2-3 месяца после стабилизации)
- Появление pre-quantized моделей на Hugging Face (первые уже появляются в сообществе)
Параллельно идет работа над IQ vs Q квантованиями для GPU — там совсем другая история с матричными умножениями.
Мой вердикт
IQ*_K и IQ*_KS — интересный технический эксперимент. Но пока это решение в поиске проблемы. Для 99% пользователей GGUF-форматы остаются оптимальным выбором: проверенные, быстрые, поддерживаемые везде.
Если же вы из тех 1%, кто готов возиться с экспериментальными сборками ради экономии 50 МБ на модели 7B — дерзайте. Только не удивляйтесь, если что-то сломается после очередного коммита.
P.S. Для тех, кто хочет глубже разобраться в теме квантования, рекомендую наш полный гайд по GGUF-форматам. Там все разложено по полочкам без маркетинговой шелухи.