mrsaynothing.dev
llama.cpp против Ollama — какой запускать?

> llama.cpp против Ollama — какой запускать?▋

Публичный след прочитан, не запущен: Ollama прибивает свой движок llama.cpp к b11351, пока upstream выпускает b11443. Один — бытовая техника, другой — машинное отделение.

mrsaynothing· 6 октября 2026 г.· 4 мин чтения

Поисковые системы подсказывают фразу llama.cpp vs Ollama как поединок двух продуктов. Репозитории рассказывают другое: у одного в корне лежит файл, который называет точный номер сборки второго. Движок Ollama — это llama.cpp, прибитый к версии — распри, которую хочет интернет, и решения, которое вы принимаете на самом деле, — разные вещи.

Настоящее решение — сколько движка вы готовы трогать руками. Всё нижеследующее взято из двух репозиториев, их лент релизов и публичных тредов и проверено утром выхода этого поста.

Что такое llama.cpp на самом деле?

130 473 звезды, лицензия MIT, четыре релиза в день выхода обзора. llama.cpp — тот C/C++ инференс-движок, с которого в марте 2023-го пошла волна локальных моделей. Формат GGUF ввёл его же проект — лестница квантования, о которой все спорят, выражена в формате, придуманном собственными авторами llama.cpp. У него 24 125 форков, 2 515 открытых issues, а у самого плодовитого контрибьютора — 2 011 коммитов.

Лента релизов читается как журнал: к началу дня выхода обзора успели приземлиться четыре сборки (b11438 – b11443), каждая — нумерованный инкремент, который можно прибить. Рядом с CLI идёт llama-server — HTTP-сервер, совместимый с OpenAI: наведите любой клиент, и он поведёт себя как хостед-API, живущий на вашей машине.

verify: curl -s http://127.0.0.1:11434/api/version → {"version":"..."} на запущенной Ollama · llama-server --version → тег сборки, напр. b11443

Есть ли в Ollama что-то сверх обёртки?

Да — и граница напечатана в репозитории. В корне Ollama лежат три файла прибивки версий: LLAMA_CPP_VERSION (b11351 на момент обзора), MLX_VERSION и MLX_C_VERSION. Go-код в llm/llama_server.go запускает производный от llama.cpp серверный бинарник как подпроцесс и говорит с ним. Зависимость — не открытый секрет; это вход построения.

Что Ollama докладывает сверху — сервис: загрузка моделей одной командой из реестра, автоопределение железа, постоянный API на порту 11434 и второй движок — MLX — для машин Apple Silicon, которые предпочли бы safetensors вместо GGUF. Честное определение: Ollama — это менеджмент моделей и гигиена процессов вокруг движка, которого она не писала.

Что отставание версии значит на практике

Девяносто две сборки отделяют прибитую Ollama (b11351) от утреннего релиза upstream (b11443) на момент обзора. Починки движка — например, сентябрьское ускорение prompt-lookup-drafting, набравшее 89 очков на Hacker News, — сначала попадают в upstream и лишь недели спустя садятся на релизный поезд Ollama. Если строчка в changelog чинит вашу проблему, обёртка обычно узнаёт последней.

Так какой же быстрее?

На одном файле модели — ни то ни другое, движок общий. Сравнения токенов в секунду, обещающие разрыв, обычно меряют разные квантования, разные длины контекста или разные сборки самого движка. Наше сравнение с LM Studio ударило в ту же стену: интерфейс разный, математика одна.

Где разрывы настоящие, там виноваты дефолты и отставание, не движки: Ollama сама выбирает длину контекста и разгружает слои (ручки, стоящие за сюрпризами с VRAM), а llama.cpp оставляет настройку вам — и наказывает за забытую. Вопрос бенчмарка прячет вопрос контроля.

Вы выбираете не между двумя движками. Вы выбираете, сколько движка готовы трогать руками.

Что говорит против llama.cpp сам след?

Честная книга, потому что у следа она есть:

  • 2 515 открытых issues и темп осады. Четыре релиза за одно утро — это пропускная способность, но и перемалывание. Флаги переезжают, бэкенды перекраиваются, и прибитый сборочный скрипт требует той же заботы.
  • Сообщество говорит это вслух. Из треда Hacker News про сентябрьское ускорение (89 очков): "Frankly, llama.cpp is so badly written that these kind of speedups are trivial, and a hard fork (or a total rewrite) has been needed for the longest time." — rfgplk. Там же — тревога об управлении после сделки Nvidia и Hugging Face, поставившей работодателя ядра команды под вопрос.
  • Черновая работа на вас. Ни реестра, ни автодетекта: GGUF вы тянете с Hugging Face сами (гайд по установке ведёт эту часть), флаги выгрузки слоёв ставите сами, за процессом следите сами.

Какой же запускать?

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

ХотитеЗапускайтеПочему, по следу
Одна команда и окно чатаOllamaЗагрузка моделей, автодетект, постоянный API — бытовая техника
Все флаги и свежайшая сборкаllama.cppПрибитые сборки, llama-server, бэкенды на ваш выбор
Настольный GUILM StudioТа же движковая линия, но с кнопками — сравнение здесь
Один GPU, много пользователейvLLMСервинг на пропускную способность — оговорки про GGUF в силе

Практичный шов: начните с Ollama, а когда она начнёт спорить — флаг, который она не показывает, сломанный автодетект GPU (самый частый случай), починка, лежащая в более свежей сборке, — спускайтесь для этой задачи на llama.cpp. Файл модели переезжает с вами: GGUF — общий язык. Весь кластер, оба инструмента, индексируется в local-LLM hub.

Бытовая техника прячет от вас движок до того дня, когда движок и становится проблемой. Тот день — причина существования второго инструмента.

По какую сторону машинного отделения вы стоите — и стоила ли вам когда-нибудь полдня дефолтная настройка обёртки, которую сэкономил бы один флаг?

faq

— mrsaynothing

$ Следующий аргумент — на почту

Одно письмо на пост. Согласиться или разобрать.

self-hosted · никаких третьих сторон · отписка в один клик

что это?