Для сервиса, которым одновременно пользуются десятки сотрудников или клиентов, на видеокартах обычно выбирают vLLM или SGLang: они рассчитаны на параллельные запросы и распределение модели по нескольким GPU. Ollama подходит для быстрого старта, прототипа и небольшой команды, llama.cpp — для запуска на процессоре, Mac или слабом железе и для квантованных моделей в формате GGUF. Все четыре проекта открыты и бесплатны, все дают API, совместимый с OpenAI, поэтому смена движка обычно не требует переписывать приложение.
Материал подготовлен AIrassvet 22 октября 2026 года для ИТ-директоров и руководителей разработки, которые выбирают, на чём развернуть открытую языковую модель в своём контуре. Сравнение построено по официальной документации, README и научным статьям проектов, а версии и лицензии сверены с GitHub в день публикации. Собственных нагрузочных тестов для статьи мы не проводили: цифры производительности принадлежат авторам проектов.
Содержание
- Кратко
- Что входит и не входит в сравнение
- Что такое сервер инференса и зачем его выбирать
- Сравнительная таблица
- vLLM: стандарт для продакшена на GPU
- SGLang: агенты, структурированный вывод и общий префикс
- llama.cpp: CPU, Mac и гибридный запуск
- Ollama: самый быстрый старт
- А как же TGI и TensorRT-LLM
- Когда что выбирать
- Как проверить выбор на своей нагрузке
- Частые вопросы
- Первоисточники и метод
Кратко
- vLLM — сервер для многопользовательской нагрузки на GPU: PagedAttention, непрерывный батчинг, кэш префиксов, параллелизм на несколько видеокарт, широкая поддержка железа. Лицензия Apache 2.0.
- SGLang — сервер того же класса с упором на агентные сценарии, структурированный вывод и повторное использование общего контекста (RadixAttention). Лицензия Apache 2.0.
- llama.cpp — движок на C/C++ без зависимостей: процессоры, Apple Silicon, множество GPU-бэкендов, квантизация от 1,5 до 8 бит, гибридный запуск CPU+GPU. Встроенный сервер с API, совместимым с OpenAI. Лицензия MIT.
- Ollama — удобная обёртка для запуска моделей одной командой на macOS, Windows, Linux и в Docker. По умолчанию одна модель обрабатывает один запрос за раз. Лицензия MIT.
- Text Generation Inference (TGI) от Hugging Face переведён в режим поддержки, а его репозиторий на GitHub в архиве; для новых проектов сами авторы рекомендуют vLLM, SGLang и llama.cpp.
Что входит и не входит в сравнение
В сравнении: назначение четырёх открытых серверов инференса, поддерживаемое железо, работа с параллельными запросами, API, квантизация, распределение на несколько GPU, мониторинг, лицензии и критерии выбора.
Вне сравнения: выбор самой модели и расчёт железа (смотрите обзор локальных LLM, железа и стоимости), сравнение облака и своих серверов по совокупной стоимости и платные корпоративные платформы. Мы не публикуем собственных цифр скорости: они сильно зависят от модели, видеокарты, длины запросов и настроек.
Что такое сервер инференса и зачем его выбирать
Сервер инференса (inference server) — программа, которая загружает языковую модель в память и отвечает на запросы приложений по API. Модель — это веса, а сервер решает, как быстро и для скольких пользователей одновременно эти веса будут работать.
Главная техническая разница между серверами — управление памятью под кэш контекста (KV-cache) и пакетная обработка запросов. Кэш хранит промежуточные результаты для каждого активного диалога и растёт с длиной текста. Сервер, который эффективно раскладывает этот кэш и объединяет запросы в пакеты на лету, обслуживает больше пользователей на той же видеокарте. Авторы vLLM в статье о PagedAttention сообщают о росте пропускной способности в 2–4 раза при той же задержке по сравнению с FasterTransformer и Orca.
Для бизнеса выбор сервера определяет три вещи: сколько видеокарт понадобится под нагрузку, насколько просто эксплуатировать сервис и на каком железе вообще можно работать. Как это выглядит на уровне всей платформы, мы разбирали в статье «Своя LLM в компании: очереди, GPU и контроль качества».
Сравнительная таблица
| Критерий | vLLM | SGLang | llama.cpp | Ollama |
|---|---|---|---|---|
| Основное назначение | Многопользовательский сервис на GPU | Многопользовательский сервис, агенты, структурированный вывод | Локальный и встраиваемый запуск на любом железе | Быстрый запуск моделей на рабочей станции или сервере |
| Лицензия | Apache 2.0 | Apache 2.0 | MIT | MIT |
| Последний релиз на 22.10.2026 | v0.32.0, 18 октября 2026 | v0.5.22, 19 октября 2026 | v0.7.0, 15 октября 2026 | v0.40.8, 21 октября 2026 |
| Железо по документации | GPU NVIDIA, AMD, Intel; CPU x86, ARM, PowerPC; плагины для TPU, Gaudi, Ascend, Apple Silicon и других | GPU NVIDIA, AMD; TPU; Intel GPU и Xeon; Apple Silicon; Huawei Ascend; Moore Threads | CPU x86, ARM, RISC-V; Apple Silicon; CUDA, HIP, MUSA, Vulkan, SYCL, CANN (Ascend) и другие бэкенды | macOS, Windows, Linux, Docker |
| Параллельные запросы | Непрерывный батчинг, PagedAttention | Непрерывный батчинг, RadixAttention | Слоты сервера (--parallel), непрерывный батчинг включён по умолчанию |
OLLAMA_NUM_PARALLEL, по умолчанию 1 запрос на модель |
| Несколько GPU | Тензорный, конвейерный, data-, expert- и context-параллелизм | Тензорный, конвейерный, expert- и context-параллелизм (параметры запуска) | Разделение по слоям по умолчанию, по строкам, тензорный режим — экспериментальный | Не описано в проверенной документации |
| API | Совместимый с OpenAI, Anthropic Messages API, gRPC | Совместимый с OpenAI | Совместимый с OpenAI (llama serve) |
Собственный REST API и совместимый с OpenAI /v1 |
| Квантизация | FP8, INT8, INT4, GPTQ, AWQ, GGUF и другие | Заранее квантованные веса (GPTQ, AWQ и др.) и онлайн-квантизация, в том числе FP8 | Целочисленная от 1,5 до 8 бит, формат GGUF | Готовые модели из библиотеки ollama.com/library |
| Мониторинг | Эндпоинт /metrics для Prometheus |
Метрики Prometheus по флагу --enable-metrics |
--metrics, совместимые с Prometheus |
Встроенные метрики в проверенной документации не описаны |
| Порог входа | Средний: Python или Docker, настройка под GPU | Средний: Docker или Python | Низкий для одного пользователя, выше для тонкой настройки | Минимальный: установка и одна команда |
Версии и лицензии получены через GitHub API 22 октября 2026 года; возможности — из README и документации проектов на ту же дату (метрики vLLM, метрики SGLang, квантизация SGLang, параметры запуска SGLang). Набор функций меняется от версии к версии, поэтому перед выбором проверьте ту версию, которую будете ставить.
vLLM: стандарт для продакшена на GPU
vLLM — открытый сервер для многопользовательской нагрузки, который начинался с научной работы о PagedAttention. В README перечислены ключевые механизмы: PagedAttention для управления памятью кэша, непрерывный батчинг входящих запросов, chunked prefill и кэширование префиксов, а также тензорный, конвейерный и другие виды параллелизма для распределения модели по нескольким видеокартам.
Что важно для компании:
- Совместимость. Сервер отдаёт API, совместимый с OpenAI, а также Anthropic Messages API и gRPC. Приложение, написанное под облачный API, переключается сменой адреса.
- Железо. Кроме видеокарт NVIDIA, заявлены AMD и Intel GPU, процессоры x86, ARM и PowerPC и плагины для Huawei Ascend, Google TPU, Intel Gaudi и Apple Silicon. Это важно, если закупки видеокарт ограничены.
- Квантизация. Поддерживаются FP8, INT8, INT4, GPTQ, AWQ, GGUF и другие форматы; о компромиссах между памятью и качеством мы писали в статье «Квантизация LLM: что это».
Ограничение: vLLM рассчитан на серверные видеокарты и требует настройки под модель и нагрузку. Для ноутбука разработчика или одного пользователя это избыточно.
SGLang: агенты, структурированный вывод и общий префикс
SGLang — сервер того же класса, что и vLLM, который в README описан как оптимизированный для агентных нагрузок, крупномасштабного обслуживания и RL-обучения. В статье авторов описаны два ключевых механизма: RadixAttention, который переиспользует кэш общего начала запросов, и сжатые конечные автоматы для ускоренной генерации структурированного вывода, например JSON. Авторы сообщают о пропускной способности до 6,4 раза выше, чем у других систем, на задачах управления агентами, генерации JSON, RAG и многошаговых диалогов.
Когда это заметно на практике: у ИИ-агентов и чат-ботов поддержки длинный общий системный промпт и инструкции к инструментам повторяются в каждом запросе. Сервер, который не пересчитывает этот общий префикс заново, экономит вычисления.
По железу SGLang перечисляет видеокарты NVIDIA (от RTX 30-й серии до B300), AMD Instinct, Google TPU, Intel, Apple Silicon, а также Huawei Ascend и Moore Threads. В комплекте есть и движок генерации изображений и видео SGLang Diffusion.
Ограничение: проект развивается очень быстро, а набор функций зависит от платформы. Фиксируйте версию и прогоняйте регрессионный тест перед обновлением.
llama.cpp: CPU, Mac и гибридный запуск
llama.cpp — движок на чистом C/C++ без зависимостей, цель которого — запуск моделей с минимальной настройкой на широком спектре железа. В README заявлены: оптимизация под Apple Silicon, инструкции AVX, AVX2, AVX512 и AMX для x86, целочисленная квантизация от 1,5 до 8 бит, собственные ядра CUDA, поддержка AMD через HIP, Moore Threads через MUSA, Vulkan, SYCL и Huawei Ascend через CANN.
Самая полезная для бизнеса особенность — гибридный запуск CPU+GPU: часть слоёв модели работает на видеокарте, остальные на процессоре. Так можно запустить модель, которая не помещается в видеопамять целиком, ценой скорости.
Встроенный сервер (llama serve) отдаёт API, совместимый с OpenAI. В его документации есть параметры для нескольких одновременных слотов, непрерывный батчинг (включён по умолчанию), кэширование промпта, метрики в формате Prometheus и режимы разделения модели между несколькими GPU, из которых тензорный пока помечен как экспериментальный.
Ограничение: llama.cpp работает в основном с собственным форматом весов GGUF, а для высокой многопользовательской нагрузки на серверных GPU обычно выбирают vLLM или SGLang. Хорошая ниша — офлайн-контуры, рабочие станции, Mac и серверы без видеокарт.
Ollama: самый быстрый старт
Ollama превращает запуск модели в одну команду: установщики для macOS, Windows и Linux, официальный образ Docker, библиотека готовых моделей, собственный REST API на порту 11434 и совместимые с OpenAI эндпоинты /v1.
Параллельную работу настраивают переменными окружения, описанными в FAQ Ollama:
OLLAMA_NUM_PARALLEL— сколько запросов одна модель обрабатывает одновременно, по умолчанию 1; потребность в памяти растёт пропорционально этому числу, умноженному на длину контекста;OLLAMA_MAX_LOADED_MODELS— сколько моделей может быть загружено сразу, по умолчанию 3 на каждую видеокарту или 3 при работе на процессоре;OLLAMA_MAX_QUEUE— сколько запросов встанет в очередь; при переполнении сервер отвечает ошибкой 503.
Отсюда ниша Ollama: прототипы, внутренние инструменты для небольшой команды, рабочие места разработчиков и аналитиков. Если сервис должен выдерживать десятки одновременных пользователей, после пилота обычно переходят на vLLM или SGLang — благодаря совместимому API это смена адреса и параметров, а не переписывание приложения.
Отдельный момент для контура безопасности: Ollama умеет работать и с облачными моделями после входа в учётную запись. Если данные не должны покидать периметр, используйте только локальные модели и закройте серверу выход в интернет.
А как же TGI и TensorRT-LLM
Text Generation Inference от Hugging Face долго был одним из основных вариантов. Сейчас в его README указано, что проект переведён в режим поддержки и принимает только мелкие исправления, а сами авторы рекомендуют vLLM, SGLang и локальные движки вроде llama.cpp и MLX. По данным GitHub API на 22 октября 2026 года, репозиторий находится в архиве. Для нового проекта TGI выбирать не стоит, а существующие установки разумно планировать к миграции; об этом процессе — в статье о миграции при отключении моделей.
TensorRT-LLM — библиотека NVIDIA для оптимизированного инференса на видеокартах NVIDIA. Она имеет смысл, когда инфраструктура полностью построена на оборудовании NVIDIA и нужна максимальная производительность ценой более сложной сборки. В этом сравнении мы её не разбираем подробно.
Когда что выбирать
| Ситуация | Рекомендуемый выбор | Почему |
|---|---|---|
| Пилот или прототип, 1–5 пользователей | Ollama | Минимальный порог входа, совместимый API |
| Сервер без видеокарты, офлайн-контур, Mac | llama.cpp | Работа на CPU и Apple Silicon, квантизация GGUF, гибридный режим |
| Модель не помещается в видеопамять, а GPU одна | llama.cpp | Часть слоёв на процессоре |
| Корпоративный ассистент или API для десятков и сотен пользователей на GPU | vLLM | Непрерывный батчинг, PagedAttention, параллелизм на несколько GPU |
| ИИ-агенты, длинные общие промпты, генерация JSON | SGLang или vLLM | RadixAttention и ускорение структурированного вывода в SGLang, кэш префиксов в vLLM; выбирать тестом |
| Видеокарты не NVIDIA (AMD, Ascend, Moore Threads) | Проверить vLLM, SGLang и llama.cpp на конкретной модели | Поддержка заявлена у всех трёх, но набор функций зависит от платформы |
| Уже работает TGI | План миграции на vLLM или SGLang | TGI в режиме поддержки, репозиторий в архиве |
Типичный путь компании — начать с Ollama или llama.cpp на этапе пилота, а при выходе в работу перейти на vLLM или SGLang. Если вы сравниваете не движки, а сам вариант размещения, смотрите разбор облачной и локальной LLM по совокупной стоимости.
Как проверить выбор на своей нагрузке
Цифры из статей и чужих бенчмарков получены на других моделях, видеокартах и запросах. Решение лучше подтвердить коротким тестом:
- Зафиксируйте модель и формат весов. Один и тот же вариант модели и квантизации для всех кандидатов, иначе сравниваются разные вещи.
- Соберите профиль нагрузки. Типичная длина запроса и ответа, число одновременных пользователей в пике, доля запросов с общим длинным промптом.
- Запустите 2 кандидата на одном сервере. Например, Ollama и vLLM или vLLM и SGLang.
- Измерьте три показателя. Время до первого токена, скорость генерации на одного пользователя и общую пропускную способность при пиковой параллельности.
- Проверьте эксплуатацию. Метрики, логи, перезапуск, обновление версии, работу с очередью при перегрузке.
- Проверьте качество ответов. На наборе своих запросов убедитесь, что ответы двух серверов совпадают по качеству: разные настройки и квантизация могут влиять на результат.
Частые вопросы
Чем vLLM отличается от Ollama?
vLLM — сервер для многопользовательской нагрузки на видеокартах: непрерывный батчинг, PagedAttention и параллелизм на несколько GPU. Ollama — инструмент для быстрого запуска моделей одной командой, где по умолчанию одна модель обрабатывает один запрос за раз. Ollama удобнее для пилота, vLLM — для рабочего сервиса.
Можно ли запустить LLM без видеокарты?
Да, для этого лучше всего подходит llama.cpp: он оптимизирован под процессоры x86 и ARM и Apple Silicon и поддерживает квантизацию до 1,5–8 бит. Скорость на процессоре заметно ниже, поэтому такой вариант подходит для небольших моделей, малого числа пользователей или офлайн-контуров, где важнее изоляция, чем скорость.
Придётся ли переписывать приложение при смене сервера?
Обычно нет. vLLM, SGLang, llama.cpp и Ollama предоставляют API, совместимый с OpenAI, поэтому приложение переключается сменой адреса сервера и названия модели. Проверить стоит отличия в поддержке отдельных параметров, вызова инструментов и структурированного вывода, которые различаются между серверами и версиями.
Какой сервер выбрать для ИИ-агентов?
Для агентов важны повторное использование длинного общего промпта и быстрая генерация JSON для вызова инструментов. Эти сценарии прямо оптимизирует SGLang (RadixAttention и ускорение структурированного вывода), а vLLM поддерживает кэширование префиксов. Выбор между ними лучше делать нагрузочным тестом на своих агентных сценариях.
Первоисточники и метод
- README и документация проектов: vLLM, SGLang, llama.cpp и документация llama-server, Ollama, FAQ Ollama и совместимость Ollama с OpenAI, Text Generation Inference.
- Kwon и соавторы. Efficient Memory Management for Large Language Model Serving with PagedAttention, arXiv:2309.06180.
- Zheng и соавторы. SGLang: Efficient Execution of Structured Language Model Programs, arXiv:2312.07104.
- Версии, даты релизов, лицензии и статус архива получены через GitHub API 22 октября 2026 года.
Метод: мы сравнили проекты по одинаковому набору критериев только по первоисточникам и не проводили собственных нагрузочных тестов. Цифры производительности принадлежат авторам статей и получены в их условиях.
Как AIrassvet помогает развернуть LLM на сервере компании
Выбор сервера инференса — одно из решений при запуске своей модели, наряду с выбором модели, железа и контроля качества. На сайте AIrassvet указаны направления, которые закрывают эту задачу:
- внедрение и развёртывание LLM, в том числе на серверах заказчика: подбор модели и сервера инференса под нагрузку и имеющееся железо;
- интеграция модели с корпоративными системами и ИИ-агентами через совместимый API;
- тестирование и запуск: нагрузочный тест кандидатов, проверка качества ответов и сопровождение после запуска.
Первый шаг — выбрать один процесс, для которого нужна своя модель, и зафиксировать текущий результат, источники данных, ограничения и критерий приёмки.
Итог: выбор сервера определяет число пользователей и железо
Если коротко: Ollama — для старта и небольшой команды, llama.cpp — для процессоров, Mac и офлайн-контуров, vLLM — для многопользовательского сервиса на GPU, SGLang — для агентных сценариев и структурированного вывода с той же серверной нагрузкой. TGI для новых проектов уже не подходит.
Все четыре проекта бесплатны и совместимы с API OpenAI, поэтому начать можно с простого варианта и перейти на серверный, когда нагрузка вырастет. Финальное решение принимайте по короткому тесту на своей модели, железе и профиле запросов.






