Внутри 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

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

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

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

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

OpenClawRadar
Навык Clawhub позволяет OpenClaw анализировать данные Apple Health через API.
Инструменты

Навык Clawhub позволяет OpenClaw анализировать данные Apple Health через API.

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

OpenClawRadar
Создание самосовершенствующегося цикла мечты с помощью Cron Jobs и Claude
Инструменты

Создание самосовершенствующегося цикла мечты с помощью Cron Jobs и Claude

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

OpenClawRadar
Разработчик создает ИИ-фреймворк с 17 биологическими принципами, используя Claude Code.
Инструменты

Разработчик создает ИИ-фреймворк с 17 биологическими принципами, используя Claude Code.

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

OpenClawRadar