К основному содержимому

Настройка vLLM на сервере: быстрый инференс LLM

AI-агенты на VDS · 29.09.2026

Что такое vLLM и зачем он нужен на сервере

vLLM — библиотека для быстрого инференса больших языковых моделей на GPU. Она использует технологию PagedAttention, которая экономит видеопамять и увеличивает пропускную способность в несколько раз по сравнению с обычным запуском через Transformers. vLLM поднимает OpenAI-совместимый HTTP-сервер, поэтому клиенты для ChatGPT API переключаются на свою модель без переписывания кода.

Библиотеку выбирают, когда сервер обслуживает много параллельных запросов: чат-бот на сайте, внутренний ассистент компании или API для мобильного приложения. Для единичных экспериментов на CPU подходит llama.cpp, а vLLM раскрывает возможности именно на GPU-сервере с одной или несколькими видеокартами.

Требования к серверу для запуска vLLM

Перед установкой проверьте параметры сервера. vLLM требует NVIDIA GPU с поддержкой CUDA и достаточным объёмом видеопамяти — расчёт объёма зависит от размера модели и квантования.

ПараметрМинимумРекомендуется
GPUNVIDIA, 8 ГБ VRAMNVIDIA, 24 ГБ VRAM
Драйвер NVIDIA525550
CUDA12.112.4
Python3.103.11
Оперативная память16 ГБ32 ГБ

Точный объём видеопамяти для конкретной модели стоит посчитать заранее — см. расчёт VRAM для модели.

Установка vLLM на VDS

Поставьте драйвер NVIDIA и CUDA Toolkit, затем создайте виртуальное окружение Python и установите пакет через pip.

sudo apt update
sudo apt install -y nvidia-driver-550 python3.11-venv
python3.11 -m venv /opt/vllm-env
source /opt/vllm-env/bin/activate
pip install --upgrade pip
pip install vllm

Проверьте, что GPU виден системе, командой nvidia-smi. Если карта не отображается, перезагрузите сервер и проверьте, что модуль nouveau отключён в конфигурации ядра.

Как запустить OpenAI-совместимый сервер

vLLM поставляется с готовым сервером, который повторяет формат запросов OpenAI API. Запустите его одной командой, указав модель с Hugging Face.

python -m vllm.entrypoints.openai.api_server --model mistralai/Mistral-7B-Instruct-v0.2 --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.9

После запуска сервер принимает запросы на порту 8000 по пути /v1/chat/completions — формат совпадает с OpenAI API, поэтому библиотеки openai для Python и JavaScript подключаются без изменений: достаточно поменять base_url.

Чем ускорить работу и сэкономить память

Скорость и объём памяти регулируются параметрами запуска. Основные приёмы:

  • Квантование модели в AWQ или GPTQ снижает потребление VRAM почти вдвое без заметной потери качества.
  • Параметр --max-model-len ограничивает длину контекста и освобождает память под очередь запросов.
  • Continuous batching в vLLM объединяет параллельные запросы автоматически, отдельная настройка не требуется.
  • Несколько видеокарт подключаются параметром --tensor-parallel-size, что позволяет запускать модели крупнее одной GPU.

Когда видеопамяти не хватает даже с квантованием, вариант — запуск на процессоре через llama.cpp и формат GGUF: медленнее, зато без GPU.

Что делать при ошибке нехватки памяти

Ошибка CUDA out of memory — частая проблема при первом запуске. Порядок действий:

  • Уменьшите значение --gpu-memory-utilization до 0.8 и перезапустите сервер.
  • Сократите --max-model-len, если полный контекст модели избыточен для задачи.
  • Возьмите квантованную версию модели вместо полной точности fp16.
  • Проверьте зависшие процессы на GPU командой nvidia-smi и завершите их через kill.
  • Если модель всё равно не помещается, пересчитайте требуемый объём и выберите GPU с большим запасом VRAM.

После настройки отправьте тестовый запрос через curl и сравните скорость ответа с обычным запуском модели. Базовая установка vLLM на этом завершена — дальше сервер подключают к веб-интерфейсу или встраивают в продукт.

← Назад в базу знаний Задать вопрос поддержке