ik_llama.cpp
- title
- ik_llama.cpp
- type
- toolbox
- summary
- Форк llama.cpp от ikawrakow с квантами IQK, KV-кэшем Q6 и ускоренной обработкой длинных промптов
- tags
- llm, inference, local-models, quantization, cpp
- language
- C/C++
- license
- MIT
- created
- 2026-05-13
- updated
- 2026-07-29
- lang
- ru
- translation_of
- ik-llama-cpp
- source_updated
- 2026-07-29
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
ik_llama.cpp - это форк llama.cpp от ikawrakow. Именно ikawrakow создал K-кванты и I-кванты, лежащие в основе качества современного GGUF (Q4_K_M, IQ4_XS и др.), годами работал над основным llama.cpp, а затем отделился после разногласий с ggerganov и теперь развивает собственную линейку SOTA-квантов и CPU-оптимизаций в этом форке.
Это не прямая замена (drop-in replacement). ikawrakow работает над форком в одиночку; оптимизации не перетекают между проектами, и у каждого есть возможности, которых нет у другого. Выбор между ними зависит от конкретной нагрузки.
Где выигрывает ik_llama
- Кванты IQK. Новые форматы квантования, недоступные в основном llama.cpp.
IQ4_KSна Qwen 3.5 (по замерам Вячеслава) показывает примерно в 3 раза лучший KLD, чемQ4_K_Mпри том же размере на диске, и соответствует качествуUD-Q4_K_XLпри экономии ~1 ГБ. Выигрыш в размере особенно заметен на больших моделях - 20-30 ГБ критичны, когда нужно уместить GLM-5.1 или DeepSeek V3.2 в 192 ГБ системной RAM. - Квантование KV-кэша в Q6. Основной llama.cpp предлагает
q4_0,q8_0,f16для KV-кэша; ik_llama добавляетQ6. Полезно, когдаq4_0теряет слишком много в качестве, аq8_0не оставляет достаточного запаса по памяти. - Обработка промптов с длинным контекстом. Пропускная способность PP (prompt processing) по мере роста контекста держится гораздо лучше, чем в основном проекте. Вячеслав на стандартных размерах batch'а намерил в 4 раза более высокий PP; основному llama.cpp, чтобы с этим сравниться, требуются флаги
-ub 4096 -b 4096, что стоит дополнительных ~3 ГБ VRAM. - Ветки кода под AVX-512 / Intel CPU. Агрессивно оптимизированы. Имеет смысл сравнить именно на оборудовании Intel.
Где ik_llama уступает
- Кванты MXFP4. Частичная поддержка, в 2-3 раза медленнее основного llama.cpp. Не стоит использовать ik_llama для сборок Gemma 4 в MXFP4.
- Vulkan и GPU от AMD. Работают, но в разы медленнее, чем в основном проекте. С поддержкой ROCm ситуация похожая.
- Скорость TG (генерации токенов). Даже на собственных нативных квантах IQK генерация токенов (TG) может быть медленнее, чем у эквивалента в основном llama.cpp при том же объёме памяти. Зависит от архитектуры модели.
- Отставание по кодовой базе от основного проекта. Новые архитектуры моделей сначала появляются в основном llama.cpp; ik_llama догоняет позже.
Практические рекомендации
| Ситуация | Выбор |
|---|---|
| RTX 50-й серии, MXFP4 Gemma 4, агентное написание кода | основной llama.cpp |
| Нагрузка в основном на Intel CPU, AMD GPU, MXFP4 | основной llama.cpp |
| Нагрузки на Nvidia, упирающиеся в PP на длинном контексте | ik_llama |
| Максимум качества при минимальном месте на диске для больших MoE | ik_llama с GGUF в формате IQK от Ubergarm |
| Только начинаете | основной llama.cpp; возвращайтесь к ik_llama только под конкретную задачу, которую он решает |
Тестовый стенд Вячеслава (i7-14700, DDR5-4800, Manjaro, Nvidia) показывает, что ik_llama выигрывает по PP на длинном контексте, но проигрывает по TG на mxfp4. Конкретные цифры зависят от вашего оборудования - не стоит воспринимать ik_llama как автоматическое улучшение.
Связанные проекты
- Ubergarm (huggingface.co/ubergarm) - публикует файлы GGUF в формате IQK специально для ik_llama. Использует динамическое квантование с калибровкой.
- Сборки под Windows от Thireus (github.com/Thireus/ik_llama.cpp) - готовые бинарные сборки под Windows.
Связанные страницы вики
- llama-cpp - upstream / родственный проект
- llm-quantization - обзор квантования, включая IQK
- habr-local-llm-quantization-deep-dive - каталог компромиссов, который резюмирует эта страница
- unsloth - альтернативный издатель динамических квантов для основного llama.cpp
- neutrino-1-8b - тот же паттерн в миниатюре: форк llama.cpp от вендора, чей тип тензоров FV5 не могут загрузить ванильный llama.cpp, Ollama и LM Studio
Repo: https://github.com/ikawrakow/ik_llama.cpp · C/C++ · MIT