Инструменты10 сентября 2026 г., 00:01 МСК🤖 Auto

NVIDIA Dynamo: Разделение Encode-Prefill-Decode ускоряет мультимодальные модели до 7x

NVIDIA представила в Dynamo технологию EPD-дисагрегации, отделяющую кодирование изображений от LLM. Это дает ускорение до 5x по TTFT и 7x по времени ответа для задач с тяжелым медиа-контентом.

Баннер новости 7118

Суть проблемы: Head-of-Line Blocking в мультимодальных запросах

В традиционных агрегированных системах (Aggregated Serving) обработка изображения, префиллинг (prefill) и декодирование (decode) LLM выполняются в одном рабочем процессе на одной GPU. Это создает узкое место: если запрос содержит тяжелое видео или множество изображений, этап кодирования (Vision Transformer) занимает сотни миллисекунд. Это блокирует очередь для других запросов, включая текстовые, которые могли бы обрабатываться быстрее.

NVIDIA Dynamo решает это через Encode-Prefill-Decode (EPD) Disaggregation. Архитектура разделяет задачи на независимые стадии:

  • Encoder Workers: Отвечают только за извлечение эмбеддингов из медиа (изображений/видео).
  • PD Workers (Prefill-Decode): Принимают готовые эмбеддинги и выполняют работу с LLM.

Передача данных между этапами происходит через NVIDIA Inference Transfer Library (NIXL), что минимизирует накладные расходы.

Три топологии размещения и их эффективность

Эффективность зависит от того, как размещены энкодеры относительно LLM-воркеров. Выделены три сценария:

  1. Aggregated (Агрегированная): Классический подход, где все этапы на одной GPU. Простая, но не масштабируемая при росте медиа-нагрузки.
  2. Colocated Encoder (Совмещенная): Энкодеры и PD-воркеры работают на одних и тех же GPU, но имеют отдельные очереди и механизмы батчинга. Оптимально для однородных кластеров, так как не требует выделения целой GPU под легкий энкодер.
  3. Disaggregated Encoder (Разделенная): Энкодеры работают на более дешевых GPU (например, NVIDIA RTX 6000D), а PD-воркеры — на мощных (NVIDIA GB200). Это позволяет экономить ресурсы, оставляя топовые GPU для вычислений LLM.

Ключевые метрики производительности

Эксперименты показали значительный прирост метрик при использовании EPD, особенно для запросов с изображениями и квантованных MoE-моделей. Ниже приведено сравнение прироста производительности (Goodput) в зависимости от конфигурации:

Конфигурация / Сценарий Улучшение Goodput (относительно Aggregated) Примечание
Colocated Encoder (стандарт) 1.78x Базовое улучшение при разделении очередей
Colocated Encoder + NVFP4 (LLM) + BF16 (Encoder) 2.64x Гибридное квантование максимизирует пропускную способность
Ускорение TTFT (Time to First Token) до 5x Для запросов с тяжелыми изображениями
Ускорение E2E (End-to-End) до 7x Для коротких и средних ответов (short-to-medium outputs)
Снижение TTFT для текстовых запросов (в смешанном трафике) 42.2% За счет устранения блокировки от мультимодальных запросов
Снижение TTFT для изображений (в смешанном трафике) 30.8% Оптимизация очереди префиллинга

Когда EPD НЕ стоит использовать?

Дисагрегация не является универсальным решением. Прирост производительности сходит на нет в следующих случаях:

  • Длинные последовательности (Long OSL): Если время декодирования доминирует над временем префиллинга, выигрыш от ускорения TTFT теряется в общем времени ответа (E2E gains shrink).
  • Большие плотные модели (Large Dense Models): В таких моделях вычислительная нагрузка на LLM настолько велика, что доля времени, затрачиваемого на энкодер изображений, становится незначительной. Затраты на передачу эмбеддингов через NIXL могут превысить пользу от разделения.
  • Гомогенные кластеры с Disaggregated Encoder: Использование отдельных GPU для энкодеров в однородном кластере показывает худшие результаты, чем Colocated подход.

Рекомендации по внедрению

Для достижения максимальных результатов в NVIDIA Dynamo рекомендуется:

  1. Использовать Parallel Media Decoding для вынесения загрузки и декодирования медиа из воркеров во фронтенд Dynamo.
  2. Применять Embedding Cache для кэширования эмбеддингов повторяющегося медиа-контента.
  3. Настроить Multimodal KV Routing для маршрутизации запросов с одинаковым медиа на воркеры, уже имеющие соответствующие KV-блоки.

Источник: NVIDIA dev blog ↗