vLLM, Ollama, llama.cpp или SGLang: что ставить на сервер
Для себя и одного-двух пользователей ставьте Ollama или llama.cpp: они запускаются за минуты и работают даже без видеокарты. Для команды и продукта, где запросы идут параллельно, — vLLM, а SGLang — когда у запросов длинное общее начало (агенты, RAG, один системный промпт). Все четыре движка запускают модель на 8 млрд параметров на одной карте L4 24 ГБ, которая в облаке стоит 69,52 ₽/час.
В этой статье
Для внутреннего чат-бота или сервиса на 5–30 человек — vLLM на облачном сервере с L4 24 ГБ: OpenAI-совместимый API из коробки, параллельные запросы обрабатываются вместе, а не по очереди, оплата только за часы работы.
- Движок
- vLLM в Docker, модель до 8 млрд параметров в 16 битах или до 14 млрд в 4-битном сжатии
- Сервер
- 1 × L4 24 ГБ · 8 vCPU · 32 ГБ RAM
- Цена от
- 69,52 ₽/час
- Выделенный на месяц
- RTX 4090 24 ГБ, диски и безлимитный канал входят — 56 900 ₽/мес
- Когда не подходит
- один пользователь и модель в GGUF — проще Ollama; модели от 30 млрд — нужна карта на 48–96 ГБ
Реклама. АО «Селектел», ИНН 7810962785, selectel.ru. erid: 2VtzqwajdVY
Что нужно понять за минуту
Все четыре программы делают одно и то же: загружают открытую языковую модель и отвечают на запросы по HTTP. У всех есть API в формате OpenAI, так что чат-интерфейс, n8n или ваш код подключаются к любой из них одинаково. Разница в том, сколько людей движок обслуживает одновременно и на каком железе он работает.
- Ollama — самый простой путь. Одна команда на установку, модели скачиваются по имени (
ollama pull qwen3:8b). Под капотом — тот же движок ggml, что и у llama.cpp, плюс удобная обёртка. - llama.cpp — лёгкий движок на C++ для моделей в формате GGUF. Работает на процессоре, на видеокарте или на обоих сразу: если модель не влезла в видеопамять, часть слоёв остаётся на CPU. Сервер
llama-serverотдаёт OpenAI-совместимый API. - vLLM — сервер для продакшена на видеокартах. Видеопамять под контекст он раздаёт страницами (PagedAttention) и склеивает запросы разных пользователей в общие пакеты на лету (continuous batching). Поэтому при 10–30 одновременных запросах он не выстраивает их в очередь. Коротко о движке — в глоссарии.
- SGLang — такой же серверный движок, как vLLM, с упором на повторное использование общего начала запросов (RadixAttention). Выигрывает, когда у запросов длинный общий префикс: агенты, RAG, один большой системный промпт.
Одно правило помогает больше любых таблиц: для одного пользователя разница между движками обычно небольшая — скорость ответа больше зависит от карты и степени сжатия модели, чем от программы. Большая разница появляется, когда пишут сразу несколько человек. Ollama и llama.cpp обрабатывают ограниченное число запросов параллельно, остальные ждут. vLLM и SGLang для этого и созданы.
Цифр токенов в секунду в этой статье нет сознательно. Они сильно зависят от модели, длины запросов, версии движка и карты, а чужие бенчмарки на другом железе ничего не скажут о вашем. Ниже — команда, которой за час на арендованной карте можно получить свои цифры.
Что ставить: короткая таблица
| Задача | Что ставить | Почему |
|---|---|---|
| Попробовать модель, личный ассистент | Ollama | установка за минуты, модели по имени |
| Сервер без видеокарты, маленькая модель | llama.cpp | работает на CPU, модели в GGUF |
| Модель больше видеопамяти | llama.cpp или Ollama | часть слоёв уходит на процессор |
| Чат-бот или API для команды 5–30 человек | vLLM | параллельные запросы, ключ доступа, метрики |
| Агенты, RAG с общим системным промптом | SGLang или vLLM | переиспользование общего начала запросов |
| Несколько карт в одном сервере | vLLM или SGLang | модель делится между картами (tensor parallel) |
Если сомневаетесь между vLLM и SGLang — начните с vLLM: у него больше поддерживаемых моделей и готовых инструкций. Пошаговая установка с Docker и ключом API — в гайде vLLM на своём GPU-сервере.
Сколько стоит железо под каждый движок
Сам софт бесплатный, платите только за сервер. Что выбрать, решает размер модели: на 24 ГБ видеопамяти помещаются модели до 14 млрд параметров в 4-битном сжатии с запасом на контекст, для 30 млрд в 8 битах нужна карта на 48 ГБ, для 70 млрд — на 96 ГБ. Под свою модель и число пользователей посчитайте в калькуляторе видеопамяти.
| Где запускать | Память | Цена | Месяц круглосуточно, ≈ | Каким движкам |
|---|---|---|---|---|
| Облачный сервер без GPU, 8 vCPU | 32 ГБ RAM | — | 14 436,42 ₽/мес | llama.cpp, Ollama |
| Облачный сервер с L4 | 24 ГБ | 69,52 ₽/час | 50 750 ₽ | все четыре |
| Облачный сервер с RTX 4090 48 ГБ | 48 ГБ | 146,42 ₽/час | 106 900 ₽ | все четыре |
| Облачный сервер с RTX PRO 6000 | 96 ГБ | 289,79 ₽/час | 211 550 ₽ | все четыре |
| Выделенный сервер с RTX 4090 24 ГБ | 24 ГБ | 1 890 ₽/день | 56 900 ₽/мес | все четыре |
| Dedicated Inference, qwen3-8b | — | от 63,30 ₽/час | 46 200 ₽ | уже vLLM внутри |
Облачные GPU — калькулятор пула ru-7a (Москва), минимальная конфигурация с картой, диск и IP отдельно. Сервер без GPU — линейка Standard, пул ru-9a (Санкт-Петербург), без диска и IP. Месяц для почасовых позиций — наш расчёт: цена часа × 730 часов. Цены с НДС, проверено 08.11.2026 · источник
Выделенный сервер с RTX 4090 24 ГБ дороже облачного L4 при круглосуточной работе, но в него входят 128 ГБ оперативной памяти, два NVMe по 2 ТБ и безлимитный канал — в облаке диск под веса модели оплачивается отдельно. Посуточный тариф удобен для разового замера движков: сутки на одной карте, все четыре варианта на одной модели.
Последняя строка — вариант «ничего не ставить». Dedicated Inference запускает модель из каталога провайдера с OpenAI-совместимым API, и для языковых моделей внутри работает тот же vLLM. Платите за часы работы, токены не тарифицируются. Что выгоднее при вашем объёме запросов — готовая модель, оплата за токены или свой сервер, — считает калькулятор LLM по API или свой GPU.
Как запустить и сравнить на своей карте
Все команды ниже публикуют порт только на 127.0.0.1: наружу API открывают через reverse proxy с ключом. Модель для примера — Qwen3-8B: в 16 битах её веса занимают около 16 ГБ и помещаются на L4 24 ГБ (наш расчёт: 8 млрд параметров × 2 байта).
vLLM — порт 8000:
docker run -d --gpus all --ipc=host -p 127.0.0.1:8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:latest \
--model Qwen/Qwen3-8B --max-model-len 16384 --api-key "$LLM_API_KEY"
SGLang — порт 30000:
docker run -d --gpus all --ipc=host --shm-size 16g -p 127.0.0.1:30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server --model-path Qwen/Qwen3-8B \
--host 0.0.0.0 --port 30000 --api-key "$LLM_API_KEY"
llama.cpp — порт 8080, модель в GGUF скачайте заранее в ~/models:
docker run -d --gpus all -p 127.0.0.1:8080:8080 -v ~/models:/models \
ghcr.io/ggml-org/llama.cpp:server-cuda \
-m /models/Qwen3-8B-Q4_K_M.gguf --host 0.0.0.0 --port 8080 \
-ngl 99 -c 32768 --parallel 4 --api-key "$LLM_API_KEY"
Здесь -ngl 99 переносит на видеокарту все слои, а -c 32768 — общий контекст, который делится между четырьмя параллельными слотами (по 8 192 токена на каждого).
Ollama — порт 11434, число параллельных запросов задаётся переменной OLLAMA_NUM_PARALLEL:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen3:8b
Первая строка запускает официальный установщик Ollama: он ставит программу и службу systemd. Если не хотите выполнять скрипт из интернета вслепую, сначала скачайте его и прочитайте. По умолчанию Ollama слушает только 127.0.0.1:11434, так что наружу он не открыт.
Для сравнения подойдёт команда vllm bench serve из пакета vLLM. Она шлёт запросы в любой OpenAI-совместимый API и считает пропускную способность и время до первого токена. Пример для llama.cpp; для других движков меняйте --base-url, а для Ollama добавьте --served-model-name qwen3:8b. Ключ API команда берёт из переменной OPENAI_API_KEY:
vllm bench serve --backend openai \
--base-url http://127.0.0.1:8080 --endpoint /v1/completions \
--model Qwen/Qwen3-8B \
--dataset-name random --random-input-len 1000 --random-output-len 300 \
--num-prompts 200 --max-concurrency 8
Прогоните одну и ту же модель с --max-concurrency 1, 8 и 32. Смотрите на две цифры: суммарные токены в секунду (сколько людей выдержит сервер) и время до первого токена (насколько долго человек ждёт начала ответа). Учтите, что у llama.cpp и Ollama модель сжата до 4 бит, а у vLLM и SGLang в примере — в 16 битах. Для честного сравнения берите одинаковую точность или хотя бы помните о разнице в качестве ответов.
Что не подойдёт и ограничения
- Ollama без защиты. В Ollama нет проверки ключа доступа: открытый наружу порт 11434 — это бесплатная нейросеть для всех, кто его найдёт. Публикуйте только на
127.0.0.1и ставьте перед ним reverse proxy с авторизацией. - vLLM занимает почти всю видеопамять. По умолчанию он резервирует больше 90 % памяти карты под веса и кэш контекста (параметр
--gpu-memory-utilization, в версиях 2026 года — 0,92). Второй движок или вторая модель на той же карте без настройки не запустятся. - Форматы моделей разные. vLLM и SGLang работают с моделями в формате Hugging Face (в том числе AWQ, GPTQ, FP8), llama.cpp и Ollama — с GGUF. Поддержка GGUF в vLLM есть, но экспериментальная: под vLLM берите обычные веса.
- Мало памяти — не только про веса. Каждый параллельный пользователь занимает видеопамять под свой контекст. Модель, которая влезла для одного человека, может не выдержать десятерых. Это одинаково для всех четырёх движков.
- SGLang меняется быстро. Флаги запуска между версиями иногда меняются, а образы 2026 года собраны под CUDA 13 и требуют свежий драйвер NVIDIA — проверьте версию в
nvidia-smiдо запуска. Закрепляйте версию образа вместоlatest, когда сервис работает в продакшене, — это касается и vLLM. - Облачный GPU нельзя зарезервировать. Если в выбранном пуле нет свободной карты, сервер не создастся с ошибкой «No valid host was found». Для долгого проекта с гарантией карты берите выделенный сервер.
- Ноль на балансе. Облачный сервер с GPU блокируется, и если долг не погасить за 12 часов, сервер удаляется вместе с данными. Веса моделей и конфиги держите так, чтобы их можно было быстро развернуть заново.
- Dedicated Inference — не для своей модели. Сервис работает в режиме предварительного доступа, только в Москве, и загрузить туда свою или дообученную модель нельзя. Для своей модели нужен свой сервер с vLLM или SGLang. Как собрать такой сервис целиком — в решении своя LLM на сервере.
Как мы сделали
Как мы сделали
Выбор движка у нас начинается с вопроса «нужна ли тут вообще видеокарта». Для поиска по своим документам мы держим модель эмбеддингов bge-m3 на процессоре домашнего сервера: ей выделено 4 vCPU и 4 ГБ памяти, ответ приходит примерно за 0,17 с, тексты не покидают наш периметр. Распознавание речи (Whisper) работает на парке дешёвых телефонов. А крупные языковые модели мы запускаем только в облаке. По нашей нагрузке почасовое облако выгодно, пока карта занята меньше 16–18 часов в сутки, дальше дешевле выделенный сервер. Точный порог зависит от карты: для своей посчитайте в калькуляторе облако или выделенный GPU.
Частые вопросы
Что выбрать: vLLM или SGLang?
Оба движка рассчитаны на много параллельных запросов и отдают OpenAI-совместимый API. vLLM поддерживает больше моделей и железа, у него крупнее сообщество и больше готовых инструкций — это выбор по умолчанию. SGLang стоит попробовать, если у ваших запросов длинное общее начало: один большой системный промпт, агенты с многошаговыми цепочками, RAG с одинаковыми инструкциями. Решать лучше замером на своей модели и своём профиле запросов.
Чем vLLM отличается от llama.cpp?
llama.cpp — лёгкий движок на C++ для моделей в формате GGUF: работает на процессоре, на видеокарте или на обоих сразу, если модель не влезла в видеопамять целиком. vLLM работает с моделями в формате Hugging Face на видеокарте и выигрывает, когда одновременно пишут много пользователей. Для одного пользователя или слабого железа берите llama.cpp, для сервиса на команду — vLLM.
vLLM или Ollama — что лучше для сервера?
Ollama удобнее: одна команда на установку, модели скачиваются по имени, есть OpenAI-совместимый API. Но в Ollama нет проверки ключа доступа, и под параллельной нагрузкой он заметно уступает vLLM. Для себя и тестов — Ollama, для продукта и команды — vLLM за reverse proxy с ключом.
Как сделать бенчмарк vLLM и других движков?
В пакете vLLM есть команда vllm bench serve. Она шлёт запросы в любой OpenAI-совместимый API и считает токены в секунду и задержку первого токена. Запустите её против каждого движка с одной моделью, одинаковой длиной запросов и ответов и разным числом одновременных запросов: 1, 8 и 32.
Можно ли запустить LLM на сервере без видеокарты?
Да, через llama.cpp или Ollama. Небольшая модель в 4-битном сжатии работает на облачном сервере с 8 vCPU и 32 ГБ памяти, но отвечает в разы медленнее, чем на GPU, и годится для одного пользователя или фоновой обработки. vLLM и SGLang рассчитаны на видеокарту.
Источники
- Облачные серверы с GPU — калькуляторпроверено 08.11.2026
- Выделенные серверы с GPU — готовые конфигурациипроверено 08.11.2026
- Калькулятор цен — облачные серверы Standardпроверено 08.11.2026
- Dedicated Inference — каталог моделейпроверено 08.11.2026
- Dedicated Inference — описание сервисапроверено 08.11.2026
- Оплата облачных серверов — документацияпроверено 08.11.2026
- Резервирование ресурсов и GPU — FAQ миграциипроверено 08.11.2026
- vLLM — запуск в Dockerпроверено 09.11.2026
- vLLM — параметры движка (gpu-memory-utilization)проверено 09.11.2026
- vLLM — команда vllm bench serveпроверено 09.11.2026
- SGLang — установка и Docker-образпроверено 09.11.2026
- llama.cpp — llama-server, параметрыпроверено 09.11.2026
- Ollama — FAQ (OLLAMA_HOST, OLLAMA_NUM_PARALLEL)проверено 09.11.2026
Связанные гайды
- Гайд
vLLM на своём GPU-сервере: установка, Docker и OpenAI API
Как поставить vLLM на арендованный GPU-сервер: Docker Compose, OpenAI-совместимый API с ключом и HTTPS, какая карта нужна под Qwen3.8 и сколько это стоит.
- Решение
Запустить LLM на своём сервере: какую карту взять и сколько стоит
Как запустить свою LLM на арендованном GPU-сервере: карта под модель 8B, 32B и 70B, Ollama или vLLM, API с ключом, копия весов в S3 и цены.
- Инструмент
Сколько видеопамяти нужно для LLM: калькулятор и подбор GPU
Считаем видеопамять под модель: веса, кэш контекста, запас. Llama, Qwen, Gemma, gpt-oss, DeepSeek в 16, 8 и 4 битах — и какие видеокарты подойдут по цене.
- Инструмент
LLM по API или свой GPU: калькулятор стоимости в рублях
Сравниваем оплату нейросети за токены, готовую модель с оплатой по часам и свой сервер с видеокартой: сколько стоит месяц и с какого объёма выгоднее своё.
- Гайд
Аренда GPU-сервера для нейросети в России: облако, выделенный и цены
Аренда сервера с видеокартой в России: облачные GPU почасово и выделенные посуточно и помесячно, цены и наличие на 8 ноября 2026, что взять под нейросеть.