vLLM — высокопроизводительный движок инференса LLM
📂 Исходный код на GitHubВысокопроизводительный движок для inference и сервинга LLM с технологией PagedAttention. Поддерживает 200+ моделей Hugging Face, квантизацию, спекулятивный декодинг, распределённый инференс и совместим с OpenAI API.
vLLM — быстрая и простая в использовании библиотека для inference и сервинга больших языковых моделей. Проект разработан в Sky Computing Lab в UC Berkeley и вырос в один из самых активных open-source AI-проектов с более чем 2000 контрибьюторов.
PagedAttention — ключевая технология
Главное нововведение vLLM — алгоритм PagedAttention, который кардинально меняет подход к управлению памятью KV-кэша. Вместо выделения непрерывных блоков памяти под каждую последовательность, PagedAttention разбивает KV-кэш на фиксированные страницы (блоки), которые распределяются динамически — по аналогии с виртуальной памятью операционных систем.
Это устраняет фрагментацию памяти и позволяет одновременно обрабатывать значительно больше запросов на том же оборудовании. Пропускная способность сервинга возрастает в 2–4 раза по сравнению с HuggingFace Transformers при равных условиях.
Производительность
vLLM обеспечивает высокую пропускную способность за счёт комплекса оптимизаций:
- Непрерывный батчинг (continuous batching) — новые запросы добавляются в обработку на лету, не дожидаясь завершения текущего батча
- Chunked prefill — предзаполнение (обработка промпта) разбивается на части и чередуется с генерацией токенов
- Prefix caching — кэширование общих префиксов промптов между запросами
- CUDA/HIP graphs — выполнение модели через графы CUDA для минимальных накладных расходов
Квантизация
Поддерживается широкий спектр форматов квантизации для уменьшения потребления памяти и ускорения инференса:
| Формат | Описание |
|---|---|
| FP8, MXFP8 | 8-битные форматы с плавающей точкой |
| INT8, INT4 | Целочисленная квантизация |
| GPTQ, AWQ | Популярные методы постобученной квантизации |
| GGUF | Формат для CPU-инференса |
| NVFP4, MXFP4 | 4-битные форматы нового поколения |
Полный список поддерживаемых методов — в документации.
Оптимизированные ядра
vLLM интегрирует лучшие реализации ключевых вычислительных операций:
- Attention: FlashAttention, FlashInfer, TRTLLM-GEN, FlashMLA, Triton
- GEMM/MoE: CUTLASS, TRTLLM-GEN, CuTeDSL — оптимизированные матричные умножения и вычисления Mixture-of-Experts
- torch.compile — автоматическая генерация ядер и оптимизация графа вычислений
Спекулятивный декодинг
vLLM поддерживает несколько методов спекулятивного декодинга для ускорения генерации:
- n-gram — предсказание следующих токенов по n-граммам
- Suffix — сопоставление суффиксов
- EAGLE — отдельная draft-модель для генерации гипотез
- DFlash — иерархический спекулятивный декодинг
Распределённый инференс
Для моделей, не помещающихся в память одного ускорителя, vLLM предлагает несколько стратегий параллелизма:
- Tensor parallelism — разбиение слоёв модели между GPU
- Pipeline parallelism — разбиение слоёв по этапам конвейера
- Data parallelism — репликация модели
- Expert parallelism — распределение экспертов MoE-моделей
- Disaggregated prefill/decode — разделение фаз предзаполнения и генерации на разные машины
Поддержка моделей
vLLM бесшовно работает с 200+ архитектурами моделей на Hugging Face:
- Decoder-only LLM: Llama, Qwen, Gemma, GPT-OSS
- Mixture-of-Experts: Mixtral, DeepSeek-V3, Qwen-MoE
- Hybrid SSM: Mamba, Qwen3.5 (гибридные модели внимания и пространства состояний)
- Мультимодальные: LLaVA, Qwen-VL, Pixtral
- Embedding-модели: E5-Mistral, GTE, ColBERT
- Reward-модели: Qwen-Math
Полный список — на странице supported models.
API и интеграции
vLLM поставляется с сервером, совместимым с OpenAI API — достаточно сменить базовый URL. Также поддерживаются Anthropic Messages API и gRPC. Дополнительные возможности:
- Структурированный вывод через xgrammar или guidance
- Tool calling и reasoning-парсеры
- Streaming-ответы
- Multi-LoRA — эффективное обслуживание нескольких адаптеров LoRA одновременно
Аппаратная поддержка
Помимо NVIDIA GPU, vLLM работает на:
- AMD GPU (через HIP)
- x86, ARM, PowerPC CPU
- Google TPU, Intel Gaudi, Huawei Ascend, Apple Silicon и других ускорителях
Установка
uv pip install vllm
Документация по быстрому старту — на docs.vllm.ai.
Резюме
vLLM — это зрелый проект с 84.8k звёзд на GitHub, 18.7k форков и 98 релизами. Распространяется под лицензией Apache 2.0. Основной язык реализации — Python (84%) с критическими частями на Rust, CUDA и C++. Проект активно используется более чем 8200 организациями-зависимыми и является де-факто стандартом для production-сервинга open-source LLM.
Источник: https://github.com/vllm-project/vllm