vLLM или Ollama: что выбрать для своей LLM

Ollama подходит для первого запуска личной модели или небольшого внутреннего инструмента. vLLM стоит проверять, когда основная задача — параллельные запросы и пропускная способность API. Выбор зависит от модели, GPU и нагрузки, а не только от названия движка.

Что меняется при переходе

Область Ollama vLLM
Первый запуск Загрузить тег и запустить модель Установить совместимый движок и загрузить поддерживаемый checkpoint
Веса в примерах раздела Квантованный тег Qwen из библиотеки Ollama Исходный checkpoint Qwen из Hugging Face
Интерфейс Собственный API и совместимые endpoints OpenAI-совместимый сервер
Ограничения памяти Контекст, параллельные запросы, загруженные модели Контекст, число последовательностей, бюджет GPU-памяти
Причина выбора Простое управление моделью и локальный API Планирование и объединение параллельных запросов
Инструкция Запуск Ollama Запуск vLLM

В наших стартовых конфигурациях используется разная точность весов. Сравнивать их времена как чистую разницу движков некорректно: в результат попадёт и эффект квантования. Для такого сравнения сначала выровняйте представление модели.

Начните с характера нагрузки

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

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

Повторяемое сравнение

  1. Возьмите архитектуру, которую поддерживают оба движка, и зафиксируйте веса и квантование.
  2. Используйте одинаковый GPU без посторонних задач.
  3. Явно ограничьте контекст и ответ. Сохраните промпты.
  4. Прогрейте модель, затем отдельно измерьте одиночные запросы и целевую параллельную нагрузку.
  5. Запишите ошибки, ожидание в очереди, время до первого токена, полное время и качество ответа.
  6. Сопоставьте стоимость сеанса с успешно выполненной полезной работой. Для постоянного API учтите простой.

Скрипт для Ollama измеряет только последовательные запросы. Он помогает проверить стартовую конфигурацию, но не заменяет нагрузочный тест или сравнительный benchmark vLLM/Ollama.

Перенос клиента

Сначала добейтесь ответа нового сервера на той машине, где он запущен. Затем меняйте base URL, имя модели и ключ в клиенте. Отдельно проверьте streaming, структурированный вывод и вызов инструментов, если приложение от них зависит. Совместимость API не означает одинаковую поддержку всех функций.

Не отправляйте тег qwen2.5:7b-instruct-q4_K_M на сервер vLLM, которому задан другой alias. Получите список через /v1/models и используйте его идентификатор. Сохраните старую конфигурацию до прохождения прежнего набора проверок.

Когда менять движок не требуется

Если рабочая конфигурация уже выдерживает нужное время ответа и нагрузку, второй движок добавит ещё один пакет, кеш и набор настроек. Основанием для переноса должно быть измеренное ограничение: очередь, ресурсы, формат модели или нужная возможность API.

Далее: расчёт памяти, развёртывание vLLM, примеры API.

Источники: vLLM quickstart, управление памятью, совместимость API Ollama.

Все инструкции по запуску своей LLM.

Готовы запустить?

Запустить GPU-сервер