vLLM vs Ollama vs llama.cpp: какой движок инференса выбрать в 2026 году
Три главных инструмента для запуска LLM на своём сервере: сравниваем архитектуру, производительность, простоту развёртывания и сценарии использования.
Для продакшен-API с несколькими одновременными пользователями — vLLM (PagedAttention, batching, OpenAI API). Для быстрого старта и экспериментов — Ollama (одна команда, автоматическое квантование). Для CPU-инференса, Apple Silicon или нестандартных конфигураций — llama.cpp.
- vLLM — для продакшен-API с высокой нагрузкой. PagedAttention + continuous batching, OpenAI-совместимый эндпоинт.
- Ollama — для быстрого локального запуска и прототипирования. Одна команда — модель работает.
- llama.cpp — для максимальной гибкости, CPU-инференса и кастомных сборок. Поддержка Apple Silicon, AMD ROCm.
- На batch=1 (один пользователь) все три дают сопоставимую скорость. Разница проявляется при batch ≥ 4.
Сравнение движков инференса LLM (сентябрь 2026)
| Параметр | vLLM | Ollama | llama.cpp |
|---|---|---|---|
| Основной язык | Python + CUDA | Go + llama.cpp | C/C++ + CUDA |
| GPU поддержка | NVIDIA (CUDA) | NVIDIA, AMD, Apple | NVIDIA, AMD, Apple, Intel |
| CPU инференс | Нет | Через llama.cpp | Да (основной режим) |
| Формат весов | HF, AWQ, GPTQ, FP8 | GGUF | GGUF |
| Continuous batching | Да (PagedAttention) | Нет | Нет (есть параллельные слоты) |
| OpenAI API | Да (нативно) | Частичная совместимость | Да (llama-server) |
| Docker-образ | Официальный | Официальный | Community |
| Сложность настройки | Средняя | Минимальная | Высокая |
vLLM: батчинг и скорость для продакшена
vLLM — Python-фреймворк от UC Berkeley, ставший стандартом для GPU-инференса в продакшене. Ключевая технология — PagedAttention: алгоритм управления KV-кэшем, который позволяет обслуживать множество запросов одновременно без пропорционального роста потребления памяти.
На практике это означает: vLLM на одном A100 80GB может обслуживать 20–30 одновременных пользователей, в то время как Ollama на том же железе — максимум 3–5. При batch=16 vLLM даёт суммарную пропускную способность 300–500 т/с (Llama 70B Q4), тогда как Ollama — те же 25–30 т/с для одного пользователя.
Развёртывание — Docker-контейнер с одной командой. API полностью совместим с OpenAI: замените base URL и ваш код на Python/JS/Go будет работать без изменений.
Ollama: «npm для нейросетей»
Ollama называют «Docker для LLM» — и это точное сравнение. Установка одной командой, запуск модели — ещё одной. Под капотом — llama.cpp с автоматическим подбором квантования и распределением слоёв между GPU и CPU.
Главное преимущество — zero-config. Ollama сама определяет доступную видеопамять, скачивает модель в нужном квантовании и распределяет вычисления. Для разработчика, который хочет «покрутить» модель — идеально.
Ограничения: нет continuous batching (каждый запрос — отдельный процесс), ограниченные возможности мониторинга, нет Fine-tuning из коробки. Для продакшена с SLA — недостаточно.
llama.cpp: максимальный контроль
llama.cpp — C/C++ рантайм от Georgi Gerganov, фундамент для Ollama и множества других инструментов. Даёт полный контроль: можно указать количество слоёв на GPU, размер KV-кэша, параметры семплирования и даже собрать под конкретную ISA (AVX-512, ARM NEON).
Ключевые сценарии: запуск на CPU (серверы без GPU), Apple Silicon (MacBook Pro M3/M4), AMD ROCm (Radeon Instinct), гибридный режим (часть слоёв на GPU, остальные в RAM).
llama-server предоставляет HTTP API, совместимый с OpenAI. Можно настроить параллельные слоты (--parallel N) для обработки нескольких запросов, но это не настоящий batching — каждый слот потребляет свою порцию KV-кэша.
# Сборка llama.cpp с CUDA
git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp
cmake -B build -DGGML_CUDA=ON && cmake --build build -j$(nproc)
# Запуск сервера (часть слоёв на GPU, часть в RAM)
./build/bin/llama-server \
-m models/llama-3.3-70b-Q4_K_M.gguf \
--n-gpu-layers 60 \
--ctx-size 8192 \
--parallel 4 \
--host 0.0.0.0 --port 8080Когда что выбирать: дерево решений
Задача: API для компании с 5+ одновременными пользователями → vLLM. Ничто другое не даст нужную пропускную способность с батчингом.
Задача: быстро проверить модель, написать промпт, интегрировать в pet-проект → Ollama. Минимум возни, максимум результата.
Задача: запуск на CPU, Mac или AMD GPU, специфические оптимизации → llama.cpp. Единственный вариант с полной кроссплатформенной поддержкой.
Задача: исследование, бенчмаркинг, максимальная производительность → SGLang. Альтернатива vLLM с RadixAttention и более быстрым планировщиком.
Проверенные серверы от надежных провайдеров
Timeweb Cloud
Cloud Start
CPU
1 ядер • 3.3 ГГц
RAM
1 ГБ
Диск
15 ГБ NVMe
Канал
200 Мбит/с
299 ₽/мес
Часто задаваемые вопросы (FAQ)
Что быстрее — vLLM или Ollama?
При одном пользователе (batch=1) скорость сопоставима. При 4+ одновременных запросах vLLM выигрывает в 3–5 раз за счёт PagedAttention и continuous batching.
Можно ли использовать vLLM без GPU?
Нет, vLLM требует NVIDIA GPU с CUDA. Для CPU-инференса используйте llama.cpp напрямую или Ollama (которая внутри использует llama.cpp).
Ollama умеет работать с несколькими GPU?
Да, начиная с версии 0.3. Ollama автоматически распределяет слои модели по доступным GPU. Вручную указать распределение нельзя — для этого нужен llama.cpp.