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

✍️ OpenClawRadar📅 Опубликовано: 7 августа 2026 г.🔗 Source
Внутри vLLM: анатомия высокопроизводительной системы инференса больших языковых моделей
Ad

vLLM — один из самых широко используемых движков инференса с открытым исходным кодом для LLM, и недавний пост Алексы Гордича предлагает основательный технический обзор его внутреннего устройства. Он предназначен для разработчиков, интересующихся тем, как устроены современные движки LLM, или рассматривающих возможность внесения вклада в vLLM, SGLang и подобные проекты. Анализ привязан к коммиту 42172ad (9 августа 2025 г.) и фокусируется на новом движке V1 (V0 устарел).

Основные компоненты движка

Статья начинается с офлайн-синхронной настройки с использованием простого объекта LLM. Конструктор движка разбит на несколько ключевых частей:

  • Конфигурация vLLM — все параметры для модели, кэша, параллелизма и т.д.
  • Процессор — преобразует необработанные входные данные в запросы ядра движка посредством валидации и токенизации.
  • Клиент ядра движка — в примере это InprocClient, работающий в процессе; для продакшена следует перейти на многопроцессный клиент, например DPLBAsyncMPClient.
  • Обработчик выходных данных — преобразует выходные данные ядра движка в выходные данные для пользователя.

Само ядро движка содержит исполнитель моделей (управляющий прямыми проходами), менеджер структурированных выходных данных (для управляемой декодировки) и планировщик с очередями ожидания и выполнения. Планировщик использует политику (FCFS или приоритетную) и включает менеджер KV-кэша.

Ad

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

Ad

👀 Смотрите также

Логическая виртуальная машина: Система на основе промптов для предотвращения сбоев в рассуждениях языковых моделей
Инструменты

Логическая виртуальная машина: Система на основе промптов для предотвращения сбоев в рассуждениях языковых моделей

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

OpenClawRadar
Плагин OpenClaw Budget Guard предотвращает одновременное превышение бюджета.
Инструменты

Плагин OpenClaw Budget Guard предотвращает одновременное превышение бюджета.

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

OpenClawRadar
Обратно спроектированный внутренний API Airtable, раскрытый через MCP: 60+ инструментов для Claude Code
Инструменты

Обратно спроектированный внутренний API Airtable, раскрытый через MCP: 60+ инструментов для Claude Code

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

OpenClawRadar
Gemma4 26B-A4B обеспечивает быструю локальную работу с поддержкой веб-поиска и изображений.
Инструменты

Gemma4 26B-A4B обеспечивает быструю локальную работу с поддержкой веб-поиска и изображений.

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

OpenClawRadar