Все статьи
5 августа 2026 г.·3 мин чтения

vLLM, Ollama и llama.cpp: почему самый быстрый движок не нужен за домашним ПК

Чем vLLM отличается от llama.cpp и Ollama, почему он требует Linux и серверную видеокарту, для каких нагрузок он создан и в каком случае его действительно стоит ставить.

В сравнениях движков vLLM обычно выигрывает: выше пропускная способность, лучше работа с памятью, солиднее цифры в бенчмарках. После такого сравнения логично захотеть поставить его себе.

Проблема в том, что цифры получены на другой задаче. vLLM оптимизирован под то, чего у тебя за домашним компьютером нет, и это видно уже по требованиям к установке.

Что показывают требования

Официальная документация vLLM отвечает на вопрос «для кого это» лучше любого обзора.

Операционная система: Linux. Windows не поддерживается нативно — только через WSL или сторонние форки. Уже здесь отсекается большая часть домашних машин.

Видеокарта: NVIDIA с compute capability 7.5 и выше, то есть от RTX 20-й серии, либо серверные A100, L4, H100. Есть поддержка AMD ROCm для MI200/MI300 и Radeon RX 7900/9000, Intel XPU и отдельный пакет vLLM-Metal для Apple Silicon. CPU-режим существует, но живёт в ночных сборках.

Python 3.10–3.13, конкретная версия CUDA, для части бэкендов только Python 3.12.

Сравни с llama.cpp, где ты скачиваешь архив под свою систему и запускаешь .exe. Это разница не в удобстве, а в предназначении: vLLM — серверный компонент, который ставят инженеры в инфраструктуру.

Под что он оптимизирован

Главная идея vLLM — эффективно обслуживать много одновременных запросов. Он умно переиспользует память под контексты разных пользователей и склеивает запросы в общие пачки, чтобы видеокарта не простаивала между ними.

Выигрыш появляется, когда запросов действительно много: сто пользователей чата, обработка очереди документов, продакшен-сервис. Тогда vLLM выжимает из одной видеокарты в несколько раз больше суммарной работы, чем движок, рассчитанный на одного.

А теперь посчитай свои запросы. За домашним компьютером ты отправляешь один запрос и ждёшь ответа. Потом второй. Параллельных нагрузок нет, оптимизировать нечего. Скорость одного ответа у vLLM не будет заметно выше — она упирается в ту же видеокарту и ту же модель.

Ещё одно отличие: формат моделей

llama.cpp и Ollama работают с GGUF — одним файлом, ужатым до нужного размера. Про формат и квантизацию есть отдельный разбор.

vLLM ориентирован на модели в их обычном виде с Hugging Face, и это влияет на память напрямую: там, где GGUF-версия влезает в 8 гигабайт видеопамяти, полноразмерная требует заметно больше. Для сервера с 80 гигабайтами это неважно. Для домашней карты — решающе.

Когда vLLM действительно нужен

Три ситуации:

  1. Ты поднимаешь сервис, которым пользуется много людей одновременно.
  2. Тебе нужно прогнать через модель большой объём данных пачкой, и важна пропускная способность, а не отклик.
  3. У тебя есть Linux-сервер с серверной видеокартой, и он всё равно простаивает.

Во всех трёх vLLM правильный выбор, и llama.cpp там будет проигрывать.

Когда достаточно llama.cpp или Ollama

Если пользователь один, а машина обычная — во всех остальных случаях. Разница между движком и обёрткой разобрана отдельно, но для домашнего сценария оба варианта дают то же время ответа, что и vLLM, при несравнимо меньшей возне с установкой.

Простая проверка, нужен ли тебе vLLM: посмотри, сколько запросов приходит к твоей модели одновременно. Если ответ «один, мой», выигрыша не будет — вся оптимизация vLLM про параллельность.

Что стоит оптимизировать вместо движка

Здесь полезно отступить на шаг. Вопрос «какой движок быстрее» кажется главным, пока не посчитаешь, куда на самом деле уходит время.

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

Дока сокращает именно его. Агент открывает файлы сам, вносит правки на месте, запускает команды и проверяет результат, а локальная модель ставится из интерфейса без выбора бэкендов и версий CUDA. Движок под капотом при этом самый обычный — потому что для одного человека разницы в скорости между движками нет, а разница между «получил текст» и «работа сделана» огромна.

Так что если ты выбираешь между vLLM и llama.cpp для домашней машины, честный ответ: бери llama.cpp и не думай об этом. А сэкономленный вечер потрать на то, чтобы попробовать агента на своей реальной задаче.