EnglishРусский Map

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