Содержание
  1. Что такое llama.cpp простыми словами
  2. llama.cpp, Ollama и LM Studio: что из этого что
  3. GGUF и квантование: почему llama.cpp просит файл особого вида
  4. Где скачать llama.cpp и почему «Latest» ведёт мимо
  5. Какой архив llama.cpp брать под ваше железо
  6. Как запустить llama.cpp: первая команда
  7. llama-server: llama.cpp с чатом в браузере и API
  8. Сколько памяти нужно под llama.cpp
  9. Кому llama.cpp нужен, а кому хватит оболочки
  10. Частые вопросы
Справочник

llama.cpp: что это и нужно ли оно вам

15 сентября 2026 · 14 минут чтения

Материал редакции Зерокодера. Обновлено 15 сентября 2026 года.

llama.cpp — это бесплатная программа на C и C++, которая запускает большую языковую модель прямо на вашем компьютере, без интернета и без подписки. Написал её Георгий Герганов, первый выпуск вышел 10 марта 2023 года, лицензия MIT. Главное, что стоит знать до всякой установки: тот же движок уже работает внутри Ollama и LM Studio.

Коротко, что показал прогон редакции 15.09.2026 на сборке b10976:

  • кнопка «Latest» на GitHub ведёт к файлу nightly-tag.txt размером 7 байт со строкой b10964 внутри; сами программы лежат в соседних релизах с пометкой pre-release;
  • архив под Windows без видеокарты весит 18 428 731 байт и распаковывается в 51 готовый файл, компилировать ничего не нужно;
  • модель gemma-3-4B в сжатом виде выдала 19,16 токена в секунду на процессоре и 161,96 на видеокарте — разница в восемь с половиной раз;
  • CUDA-сборка без второго архива молча считает на процессоре и не сообщает об этом ни строкой;
  • у сервера есть готовый чат в браузере и API, совместимый с OpenAI, — интерфейс искать не нужно.

Что такое llama.cpp простыми словами

llama.cpp — это движок инференса: он берёт файл с весами нейросети и считает ответ на ваш вопрос. Репозиторий ggml-org/llama.cpp описывает себя одной строкой — «LLM inference in C/C++». На 15 сентября 2026 года у него 128 276 звёзд и 23 207 форков (данные GitHub API), а последняя запись в код была сделана в тот же день.

Слово «инференс» звучит страшнее, чем устроено. Большая языковая модель — это файл с числами. Чтобы получить из него текст, кто-то должен эти числа перемножить. В ChatGPT перемножением занимается чужой сервер, и вы платите за подписку. В llama.cpp перемножением занимается ваш процессор или ваша видеокарта, и платить не за что.

Проект начинался ровно с этой задачи. Википедия описывает мотив дословно: «as an implementation of the Llama inference code in pure C/C++ with no dependencies. This improved performance on computers without GPU or other dedicated hardware». Поддержку видеокарт добавили позже, и сегодня список железа в той же статье включает x86, ARM, Metal, CUDA, HIP, SYCL, OpenCL и Vulkan.

Отдельно про имя. Llama — семейство открытых моделей, с которого проект начинался, и про сами модели у нас есть разбор. llama.cpp — программа, которая эти модели запускает. Сегодня она считает, как формулирует Википедия, «various large language models»: на нашем замере через неё прошли Qwen3 и gemma-3.

llama.cpp, Ollama и LM Studio: что из этого что

Выбирать между llama.cpp и Ollama бессмысленно, потому что Ollama работает на llama.cpp. Википедия формулирует это так: «llama.cpp has been considered as the de facto standard as the core of almost all local inference tools, including Ollama and LM Studio». Русскоязычный справочник metanit, второй результат выдачи Яндекса по запросу «llama.cpp что это», пишет то же самое: «По сути, Ollama и LM Studio — это графические или сервисные «оболочки» (надстройки) над движком llama.cpp».

Это проверяется на своём же компьютере. На машине, где мы делали замер, установлена LM Studio. В её папке backends лежат три сборки — llama.cpp-linux-x86_64-avx2-2.33.0, llama.cpp-linux-x86_64-nvidia-cuda12-avx2-2.33.0 и llama.cpp-linux-x86_64-vulkan-avx2-2.33.0. Внутри каждой файлы llama-server и libllama.so, а в описании сборки backend-manifest.json стоят поля "engine": "llama.cpp" и "supported_model_formats": ["gguf"].

Практический вывод такой. Ollama и LM Studio прячут движок за удобным фасадом: каталог моделей, автообновление, выгрузка модели из памяти по простою. llama.cpp даёт голый движок и полный доступ к настройкам.

GGUF и квантование: почему llama.cpp просит файл особого вида

llama.cpp работает с файлами формата GGUF и ни с какими другими. GGUF — это контейнер, в котором лежат веса модели и её описание одним куском, чтобы программа могла открыть файл и сразу начать счёт.

Второе слово, без которого не обойтись, — квантование. Исходная модель хранит каждое число в 16 или 32 битах. Квантование пересчитывает их в 4 или 8 бит: файл худеет в несколько раз, ответы становятся чуть менее точными. Блог Serverflow приводит пример с числами: «модель LLaMA* 7B после квантизации Q4_K_M занимает около 4 ГБ вместо исходных 13 ГБ, и ее уже можно запустить на ноутбуке с 8 ГБ ОЗУ».

Буквы в имени файла читаются просто. Q4 и Q8 — сколько бит на число. K_M — вариант схемы сжатия среднего уровня. Ходовой выбор для домашней машины — Q4_K_M: приемлемое качество при вчетверо меньшем размере. Мы в прогоне брали два файла: Qwen3-0.6B-Q8_0.gguf на 804 753 632 байта и gemma-3-4b-it-Q4_K_M.gguf на 2 489 757 856 байт. Оба скачиваются с Hugging Face — крупнейшего склада открытых моделей.

Где скачать llama.cpp и почему «Latest» ведёт мимо

Здесь спотыкаются почти все, кто пришёл на страницу релизов впервые. GitHub показывает как последний релиз v0.4.1 от 14 сентября 2026 года. Внутри него ровно один файл: nightly-tag.txt размером 7 байт. Мы его скачали — там строка b10964 и перевод строки. Программы там нет.

Настоящие сборки лежат рядом, в релизах с именами вида b10976, и GitHub помечает их как pre-release. Выходят они потоком: в выборке GitHub API за 9–15 сентября 2026 года оказалось 60 записей, из них 59 с пометкой pre-release. По дням это 5, 14, 8, 13, 10, 9 и 1 сборка. Пугаться пометки не нужно — именно в этих релизах лежат готовые программы под все системы.

Компилировать ничего не требуется. В самой свежей на момент съёма сборке b10976 было 33 файла, среди них:

архив размер, байт для чего
llama-b10976-bin-win-cpu-x64.zip 18 428 731 Windows без видеокарты
llama-b10976-bin-win-vulkan-x64.zip 31 675 956 Windows, любая видеокарта
llama-b10976-bin-win-cuda-12.4-x64.zip 254 086 292 Windows, NVIDIA
cudart-llama-bin-win-cuda-12.4-x64.zip 391 443 627 дополнение к CUDA-архиву
llama-b10976-bin-macos-arm64.tar.gz 11 149 629 Mac на Apple Silicon
llama-b10976-bin-ubuntu-x64.tar.gz 16 844 927 Linux без видеокарты

Все скачанные нами архивы совпали с объявленными размерами байт в байт. Распаковка архива для Windows без видеокарты дала 51 файл на 46 736 669 байт, из них 21 исполняемый: llama-cli.exe, llama-server.exe, llama-bench.exe и другие. Команда llama-cli --version во всех трёх скачанных сборках печатает version: 0.4.1-dev (build 10976, commit 987498f45).

Какой архив llama.cpp брать под ваше железо

Мы прогнали три сборки одной и той же командой llama-bench -p 512 -n 128 на одной машине: Windows 11 (10.0.26200.9445), AMD Ryzen 7 7800X3D, NVIDIA GeForce RTX 4080 SUPER, 63,1 ГБ памяти. Модель gemma-3-4B Q4_K_M весом 2,31 ГиБ, 3,88 млрд параметров. Колонка со скоростью выдачи текста — та, которую вы чувствуете руками.

сборка llama.cpp что считало выдача, токенов в секунду
CPU процессор, 8 потоков 19,16 ± 0,69
CUDA 12.4 без архива cudart процессор 19,88 ± 0,30
Vulkan с принудительным -ngl 0 процессор 20,03 ± 1,16
Vulkan без ключей RTX 4080 SUPER 161,96 ± 0,35
CUDA 12.4 с архивом cudart RTX 4080 SUPER 173,03 ± 2,39

Две строки в этой таблице стоят отдельного разговора.

Первая — CUDA без cudart. Вы скачиваете архив на 254 МБ с надписью CUDA, распаковываете, запускаете, получаете ответы и никогда не узнаёте, что видеокарта простаивала. Никакой ошибки программа не печатает. Проверяется командой llama-cli --list-devices: до распаковки второго архива она отвечает Available devices: и следующей строкой (none). После распаковки поверх трёх библиотек из cudart-llama-bin-win-cuda-12.4-x64.zipcublas64_12.dll, cublasLt64_12.dll и cudart64_12.dll, суммарно 574 138 880 байт — та же папка отвечает CUDA0: NVIDIA GeForce RTX 4080 SUPER (16375 MiB, 15061 MiB free), и скорость вырастает до 173,03 токена в секунду.

Вторая — ключ -ngl. Справочник metanit утверждает: «даже если у вас установлена CUDA-версия llama.cpp, по умолчанию программа всегда оставляет все 100% слоев модели на процессоре и в оперативной памяти (RAM). Видеокарта в этом случае задействована не будет». Для сборки b10976 это уже неверно. Её собственная справка говорит про -ngl: default: auto. Наш замер подтверждает: без единого ключа сборка Vulkan даёт 161,96 токена в секунду, с принудительным -ngl 0 — 20,03. Страница metanit датирована 26.06.2026 — за 81 день до нашего замера.

Самый спокойный выбор для домашней машины — сборка Vulkan: один архив на 31,7 МБ, никаких дополнений, и она сама нашла обе видеокарты, дискретную и встроенную.

Как запустить llama.cpp: первая команда

Модель качать вручную не нужно. У llama-cli есть ключ -hf, который забирает файл с Hugging Face сам. Наша первая рабочая команда выглядела так:

КОД
llama-cli.exe -hf ggml-org/gemma-3-4b-it-GGUF:Q4_K_M -p "Что такое квантование модели? Ответь двумя предложениями." -n 128 -st

Ключи, которые понадобятся в первый же день:

ключ что задаёт
-m путь к уже скачанному файлу .gguf на диске
-hf адрес модели на Hugging Face и уровень сжатия
-p вопрос к модели
-n потолок длины ответа в токенах
-st отдать один ответ и выйти
-c размер памяти диалога
-t число потоков процессора, по числу физических ядер
-ngl сколько слоёв отдать видеокарте, по умолчанию auto

Первая попытка у нас сорвалась. Для однократного ответа руководства дают ключ -no-cnv — в нашем корпусе выдачи он встречается на двух страницах из 63. Сборка b10976 ответила на него дословно: error: invalid argument: -no-cnv. В этой сборке флаг живёт у другой программы, llama-completion.exe, и стоит прямо в примерах её справки; у llama-cli роль однократного ответа исполняет -st. Слова single-turn и -st не встречаются ни на одной из 63 прочитанных нами страниц выдачи.

Веса после скачивания оказались не в папке программы. Лог сервера показал путь: C:\Users\<имя>\.cache\huggingface\hub\models--ggml-org--gemma-3-4b-it-GGUF\. Для gemma-3-4B программа забрала два файла — саму модель на 2 489 757 856 байт и довесок для картинок mmproj-model-f16.gguf на 851 251 104 байта, потому что эта модель умеет смотреть изображения.

Качество ответа зависит от размера модели прямолинейно. Крошечная Qwen3-0.6B на вопрос про квантование ушла в квантовую механику: «в квантовой механике, модели, такие как модели телепатологии, используют квантовые урав…». gemma-3-4B на тот же вопрос ответила по делу: «Квантование модели — это процесс уменьшения размера и вычислительной сложности нейронных сетей за счет представления весов и активаций модели с использованием меньшего количества битов».

llama-server: llama.cpp с чатом в браузере и API

Главный аргумент против llama.cpp звучит как «нет интерфейса». Справочник metanit называет это первым минусом: «отсутствие стандартного красивого интерфейса «из коробки» отпугивает обычных пользователей». В сборке b10976 это уже не так.

В том же архиве лежит llama-server.exe. Мы запустили его одной командой с тем же ключом -hf, и в логе появилось: srv llama_server: model loaded и srv llama_server: listening on http://127.0.0.1:8088. По умолчанию сервер слушает порт 8080 и адрес 127.0.0.1, то есть доступен только с вашего компьютера. Открываете адрес в браузере — получаете чат. В справке это подтверждено строкой --ui, --webui, --no-ui, --no-webui whether to enable the Web UI (default: enabled).

Отдельных файлов страницы в архиве нет: llama-server.exe отдаёт её сам и в сжатом виде. Наш пробник без заголовка Accept-Encoding: gzip получил HTTP 415 и тело Error: gzip is not supported by this browser; с заголовком — HTTP 200 и 12 639 байт страницы. Любой браузер этот заголовок шлёт сам.

Второе, что даёт сервер, — API в формате OpenAI. Запрос POST /v1/chat/completions с вопросом «Одним словом: столица Франции?» вернулся за 2,16 секунды со словом «Париж» и полем model со значением ggml-org/gemma-3-4b-it-GGUF:Q4_K_M. Это значит, что любая программа, умеющая работать с OpenAI, переключается на ваш домашний сервер сменой адреса.

Сколько памяти нужно под llama.cpp

Считать надо по весу файла модели плюс запас на диалог. Файл gemma-3-4b-it-Q4_K_M.gguf занимает 2,31 ГиБ, и на видеокарте с 16 ГБ он разместился целиком с большим запасом. Ориентир из выдачи для процессора: Serverflow пишет, что сжатая до Q4_K_M модель на 7 млрд параметров «занимает около 4 ГБ вместо исходных 13 ГБ, и ее уже можно запустить на ноутбуке с 8 ГБ ОЗУ».

Что чувствуется на практике. Скорость около 160–170 токенов в секунду — это быстрее, чем вы читаете. Скорость около 19–20 токенов в секунду, которую даёт процессор, тоже пригодна для чтения, ответ просто печатается с видимой задержкой. Дальше начинается зона терпения: AiManual приводит замер «LLaMA 13B в Q4 на M1 Max даёт 5–6 токенов/с, а 70B требует уже 40 ГБ оперативной памяти и выдаёт 1–2 токена/с на мощном CPU».

Какие модели ходовые для домашнего запуска и сколько каждая весит — в отдельном разборе.

Кому llama.cpp нужен, а кому хватит оболочки

ситуация что брать
Хочу просто поговорить с моделью локально LM Studio: тот же движок с каталогом моделей
Нужен домашний сервер под свои программы llama.cpp, llama-server
Старая или встроенная видеокарта llama.cpp, сборка Vulkan
Слабый ноутбук без видеокарты llama.cpp, сборка CPU и модель до 4 млрд параметров
Нужен точный контроль настроек счёта llama.cpp, ключи -ngl, -c, -t
Боюсь командной строки Ollama или LM Studio

Честный порог входа в llama.cpp такой: одна распаковка архива, одна команда и одно решение про то, какой архив брать. Цена ошибки в этом решении измерена: на замере редакции 15.09.2026 CUDA-архив без своего дополнения дал 19,88 токена в секунду вместо 173,03 — разница в 8,7 раза.

Частые вопросы

llama.cpp — это платно?
Нет. Проект открыт под лицензией MIT, скачивание с GitHub бесплатное, модели на Hugging Face тоже. Платить не нужно ни за программу, ни за запросы.

Нужен ли интернет для работы llama.cpp?
Только один раз — чтобы скачать программу и файл модели. Дальше счёт идёт на вашем компьютере, и подключение можно отключить.

llama.cpp работает без видеокарты?
Да. Сборка CPU на нашем замере дала 19,16 токена в секунду на модели gemma-3-4B — это читаемая скорость. Видеокарта на той же машине подняла её до 161,96.

Чем llama.cpp отличается от Ollama?
Ollama работает на llama.cpp. Разница в удобстве: Ollama прячет файлы моделей и настройки за простыми командами, llama.cpp отдаёт прямой доступ ко всему.

Какой файл llama.cpp скачивать на Windows?
Для машины с любой видеокартой — llama-...-bin-win-vulkan-x64.zip, 31 675 956 байт в сборке b10976. Для NVIDIA с максимальной скоростью — CUDA-архив вместе со вторым архивом cudart, без него видеокарта задействована не будет. Без видеокарты — bin-win-cpu-x64.zip.

Почему llama.cpp не видит мою видеокарту?
Для сборки CUDA первое, что стоит проверить, — распакованы ли библиотеки из отдельного архива cudart. На замере редакции 15.09.2026 не хватало именно их. Команда llama-cli --list-devices с ответом (none) означает, что счёт идёт на процессоре.

Читайте также

3 материала