Внутри vLLM: анатомия высокопроизводительной системы инференса больших языковых моделей

vLLM — один из самых широко используемых движков инференса с открытым исходным кодом для LLM, и недавний пост Алексы Гордича предлагает основательный технический обзор его внутреннего устройства. Он предназначен для разработчиков, интересующихся тем, как устроены современные движки LLM, или рассматривающих возможность внесения вклада в vLLM, SGLang и подобные проекты. Анализ привязан к коммиту 42172ad (9 августа 2025 г.) и фокусируется на новом движке V1 (V0 устарел).
Основные компоненты движка
Статья начинается с офлайн-синхронной настройки с использованием простого объекта LLM. Конструктор движка разбит на несколько ключевых частей:
- Конфигурация vLLM — все параметры для модели, кэша, параллелизма и т.д.
- Процессор — преобразует необработанные входные данные в запросы ядра движка посредством валидации и токенизации.
- Клиент ядра движка — в примере это
InprocClient, работающий в процессе; для продакшена следует перейти на многопроцессный клиент, напримерDPLBAsyncMPClient. - Обработчик выходных данных — преобразует выходные данные ядра движка в выходные данные для пользователя.
Само ядро движка содержит исполнитель моделей (управляющий прямыми проходами), менеджер структурированных выходных данных (для управляемой декодировки) и планировщик с очередями ожидания и выполнения. Планировщик использует политику (FCFS или приоритетную) и включает менеджер KV-кэша.
Paged Attention и KV-кэш
Менеджер KV-кэша — сердце paged attention. Он поддерживает free_block_queue доступных блоков, часто сотни тысяч, в зависимости от VRAM и размера блока. Размер блока для стандартного трансформера (не-MLA) вычисляется как:
2 * block_size * num_kv_heads * head_size * dtype_num_bytes
что при настройках по умолчанию даёт практический размер блока. Этот механизм пейджинга обеспечивает эффективное управление памятью и высокую пропускную способность.
Продвинутые функции
Пост не ограничивается основами. В нём описаны продвинутые функции, делающие vLLM готовым к продакшену:
- Chunked prefill — разбивает длинные промпты на фрагменты для перемежения с генерацией.
- Кэширование префиксов — повторно использует KV-кэш для общих префиксов промптов.
- Управляемая декодировка — ограничивает вывод схемой или грамматикой.
- Спекулятивная декодировка — использует черновую модель для ускорения генерации.
- Раздельные P/D — разделяет prefill и decode на разных GPU.
Также рассматривается масштабирование до нескольких GPU и узлов, а также уровень обслуживания для обработки одновременного веб-трафика. Упоминаются бенчмарки и автонастройка для измерения задержки и пропускной способности.
Для разработчиков, создающих или расширяющих системы инференса LLM, это даёт чёткую мысленную модель того, как vLLM оркестрирует планирование, память и выполнение. Это первая часть серии, поэтому в будущем ожидаются более глубокие погружения в отдельные подсистемы.
📖 Читать полный источник: HN LLM Tools
👀 Смотрите также

Логическая виртуальная машина: Система на основе промптов для предотвращения сбоев в рассуждениях языковых моделей
Исследователь разработал промпт Логической Виртуальной Машины (LVM), который заставляет большие языковые модели (LLM) останавливаться и сообщать о конкретных режимах коллапса при столкновении с парадоксами или отклонениями в рассуждениях, основываясь на единственном законе стабильности: K(σ) ⇒ K(β(σ)). Промпт не зависит от субстрата и работает на таких моделях, как Grok и Claude.

Плагин OpenClaw Budget Guard предотвращает одновременное превышение бюджета.
Новый плагин OpenClaw под названием @runcycles/openclaw-budget-guard решает проблему одновременного перерасхода бюджета, реализуя атомарные проверки баланса, резервирование перед выполнением и идемпотентные повторные попытки. Для его работы требуется сервер Cycles с Redis, а установка выполняется через bash-команду.

Обратно спроектированный внутренний API Airtable, раскрытый через MCP: 60+ инструментов для Claude Code
Разработчик декомпилировал внутренний API Airtable и создал MCP-сервер с 60+ инструментами, позволяющий Claude Code и 15+ IDE управлять представлениями баз данных, вычисляемыми полями и расширениями. Уже используется более 2000 пользователями, бесплатно и с открытым исходным кодом.

Gemma4 26B-A4B обеспечивает быструю локальную работу с поддержкой веб-поиска и изображений.
Модель gemma-4-26B-A4B демонстрирует производительность около 145 токенов в секунду на RTX 4090 и включает поддержку веб-поиска MCP и работы с изображениями в чат-приложениях. В блоге подробно описана настройка и использование на разных платформах, включая Mac и iPhone.