Инференс и оптимизация 18 просмотров

vLLM

vLLM

vLLM — высокопроизводительный serving-движок для LLM с PagedAttention, continuous batching и оптимизацией KV-cache. Обеспечивает throughput в 2-24× выше наивного инференса.

Что такое vLLM

vLLM — open-source движок для инференса и serving LLM, разработанный в UC Berkeley. Ключевая инновация — PagedAttention, управляющий KV-cache по аналогии с виртуальной памятью ОС.

Ключевые технологии

PagedAttention

Традиционно KV-cache выделяется непрерывным блоком максимальной длины для каждого запроса. При 2K контексте, но реальном использовании 500 токенов — 75% VRAM тратится впустую.

PagedAttention разбивает KV-cache на страницы (blocks), выделяя их по мере необходимости. Утилизация VRAM → 98%+.

Continuous Batching

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

Prefix Caching

Общие системные промпты кэшируются и переиспользуются между запросами.

Запуск

# Запуск сервера (OpenAI-compatible API)
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3-8B-Instruct \
    --dtype bfloat16 \
    --max-model-len 8192 \
    --gpu-memory-utilization 0.9 \
    --port 8000

# Multi-GPU (tensor parallelism)
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3-70B-Instruct \
    --tensor-parallel-size 4 \
    --dtype bfloat16

Сравнение с альтернативами

Движок Throughput Совместимость Quantization
vLLM Высокий OpenAI API GPTQ, AWQ, FP8
TGI Средний REST API GPTQ, AWQ
TensorRT-LLM Очень высокий Custom FP8, INT4
llama.cpp Низкий CLI/API GGUF

vLLM — лучший выбор для production serving на GPU: высокий throughput, простой деплой, OpenAI-совместимый API.

Связанные термины

Попробуйте на практике

Арендуйте GPU и запустите ML-модели в Intelion Cloud

Начать работу