Внутри 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
👀 Смотрите также

Система самоподдерживающейся документации с использованием изолированных блоков для нулевого расхождения
Разработчик создал bash-скрипт, который извлекает структурированные данные непосредственно из исходных файлов и вставляет их в CLAUDE.md через ограждённые HTML-комментарии, обеспечивая синхронизацию документации с кодом без ручного обслуживания.

Навык Clawhub позволяет OpenClaw анализировать данные Apple Health через API.
Новый навык Clawhub под названием 'apple-health-export-analyzer' позволяет OpenClaw читать и анализировать данные Apple Health, предоставляя их через API, обрабатывая большие XML-файлы для извлечения соответствующих метрик и предоставляя ежедневные обновления о здоровье с практическими рекомендациями.

Создание самосовершенствующегося цикла мечты с помощью Cron Jobs и Claude
Разработчик создал автономный цикл сновидений с помощью двух cron-задач: одна в 22:30 для исследования и размышлений, другая в 23:00 для обзора и планирования. Система сканирует arXiv, GitHub trending и Reddit, выявляет слабые места и предлагает конкретные улучшения.

Разработчик создает ИИ-фреймворк с 17 биологическими принципами, используя Claude Code.
Разработчик создал AI-фреймворк под названием Cognitive Sparks, реализовав 17 биологических принципов, таких как пороговое срабатывание и геббовская пластичность, на основе книги 1999 года 'Sparks of Genius'. Весь проект — 22 документа по дизайну и 3300 строк кода — был создан за один день с помощью Claude Code, без кода, написанного человеком.