Компания NVIDIA выпустила обновление Dynamo v0.9.0, которое представляет собой наиболее значительный апгрейд инфраструктуры для распределённой среды вывода (framework) на сегодняшний день. Это обновление упрощает развёртывание крупномасштабных моделей и управление ими. Основное внимание в релизе уделено устранению тяжёлых зависимостей и улучшению обработки мультимодальных данных на GPU.
Великое упрощение: удаление NATS и etcd
Самым значительным изменением в версии v0.9.0 является удаление инструментов NATS и etcd. В предыдущих версиях эти инструменты отвечали за обнаружение сервисов и обмен сообщениями. Однако они добавляли «операционные издержки», требуя от разработчиков управления дополнительными кластерами.
NVIDIA заменила их новой системой Event Plane и Discovery Plane. Теперь система использует ZMQ (ZeroMQ) для высокопроизводительного транспорта и MessagePack для сериализации данных. Для команд, использующих Kubernetes, Dynamo теперь поддерживает обнаружение сервисов, встроенное в Kubernetes. Это изменение делает инфраструктуру более компактной и простой в обслуживании в производственных средах.
Мультимодальная поддержка и разделение E/P/D
Dynamo v0.9.0 расширяет поддержку мультимодальных данных на трёх основных бэкендах: vLLM, SGLang и TensorRT-LLM. Это позволяет моделям более эффективно обрабатывать текст, изображения и видео.
Ключевой особенностью этого обновления является разделение E/P/D (Encode/Prefill/Decode). В стандартных настройках один GPU часто обрабатывает все три этапа. Это может приводить к узким местам при интенсивной обработке видео или изображений. v0.9.0 вводит дезагрегацию кодировщика. Теперь вы можете запускать кодировщик на отдельном наборе GPU от Prefill и Decode workers. Это позволяет вам масштабировать оборудование в соответствии с конкретными потребностями вашей модели.
Предварительный просмотр FlashIndexer
Этот выпуск включает предварительный просмотр FlashIndexer. Этот компонент предназначен для решения проблем с задержками при управлении распределённым KV кэшем. При работе с большими контекстными окнами перемещение данных Key-Value (KV) между GPU является медленным процессом. FlashIndexer улучшает индексацию и извлечение этих кэшированных токенов, что приводит к снижению времени до первого токена (TTFT).
Умная маршрутизация и оценка нагрузки
Управление трафиком на сотнях GPU — сложная задача. Dynamo v0.9.0 представляет более умный планировщик, который использует прогнозную оценку нагрузки. Система использует фильтр Калмана для прогнозирования будущей нагрузки запроса на основе прошлых показателей. Она также поддерживает маршрутизацию с помощью подсказок от Kubernetes Gateway API Inference Extension (GAIE). Это позволяет сетевому уровню взаимодействовать напрямую с механизмом вывода. Если конкретная группа GPU перегружена, система может маршрутизировать новые запросы к простаивающим работникам с более высокой точностью.
Технический стек
В выпуске v0.9.0 обновлены несколько основных компонентов до их последних стабильных версий. Вот разбивка поддерживаемых бэкендов и библиотек:
| Компонент | Версия |
| — | — |
| vLLM | 0.14.1 |
| SGLang | 0.5.8 |
| TensorRT-LLM | 1.3.0rc1 |
| NIXL | 0.9.0 |
| Rust Core | dynamo-tokens crate |
Включение crate, написанного на Rust, обеспечивает высокую скорость обработки токенов. Для передачи данных между GPU Dynamo продолжает использовать NIXL (NVIDIA Inference Transfer Library) для связи на основе RDMA.
Основные выводы
- Декоуплинг инфраструктуры (прощание с NATS и ETCD): выпуск завершает модернизацию архитектуры связи. Заменив NATS и ETCD новой системой Event Plane (используя ZMQ и MessagePack) и Kubernetes-native service discovery, система устраняет «операционные издержки» управления внешними кластерами.
- Полная мультимодальная дезагрегация (E/P/D Split): Dynamo теперь поддерживает полное разделение Encode/Prefill/Decode (E/P/D) на всех трёх бэкендах (vLLM, SGLang и TRT-LLM). Это позволяет вам запускать визуальные или видеокодеры на отдельных GPU, предотвращая узкие места в процессе генерации текста.
- Предварительный просмотр FlashIndexer для снижения задержек: предварительный просмотр FlashIndexer вводит специализированный компонент для оптимизации управления распределённым KV кэшем. Он предназначен для значительного ускорения индексации и извлечения «памяти» разговора, направленной на дальнейшее снижение TTFT.
- Умное планирование с фильтрами Калмана: система теперь использует прогнозную оценку нагрузки на основе фильтров Калмана. Это позволяет планировщику более точно прогнозировать нагрузку на GPU и проактивно справляться с пиками трафика.
Создание прозрачных агентов ИИ: прослеживаемое принятие решений с помощью аудиторских журналов и человеческих ворот
В этом руководстве мы создаём агентский рабочий процесс в виде «прозрачного ящика», который делает каждое решение отслеживаемым, проверяемым и явно регулируемым человеком. Мы проектируем систему для регистрации каждой мысли, действия и наблюдения в журнал аудита, защищённый от несанкционированного доступа, одновременно внедряя динамическое управление разрешениями для операций с высоким риском.
Мы устанавливаем все необходимые библиотеки и импортируем основные модули, необходимые для агентских рабочих процессов и управления. Мы безопасно собираем ключ API OpenAI через терминал, чтобы избежать жёсткого кодирования секретов в ноутбуке. Мы также инициализируем клиента OpenAI и определяем модель, которая управляет циклом рассуждений агента.
Создание прозрачного агентского рабочего процесса
Мы определяем политику системы, ориентированную на управление, которая вынуждает агента выражать свои намерения в структурированном JSON. Мы используем языковую модель для предложения действий, явно разделяя мысль, действие и аргументы. Затем мы подключаем эти решения к узлам LangGraph, которые подготавливают, ограничивают и проверяют выполнение под строгим контролем.
Мы создаём систему, которая больше не работает как чёрный ящик, а как прозрачный, проверяемый механизм принятия решений. Мы показали, как в режиме реального времени работают аудиторские журналы, одноразовые токены одобрения человека и строгие шлюзы выполнения, чтобы предотвратить бесшумные сбои и неконтролируемую автономию. Этот подход позволяет нам сохранить возможности агентских рабочих процессов, одновременно внедряя подотчётность непосредственно в цикл выполнения.
В конечном итоге мы продемонстрировали, что строгое управление не замедляет работу агентов; вместо этого оно делает их более безопасными, заслуживающими доверия и лучше подготовленными для реального развёртывания в регулируемых средах с высоким уровнем риска.
1. Какие ключевые изменения внесены в обновление Dynamo v0.9.0 и как они влияют на упрощение инфраструктуры?
В обновлении Dynamo v0.9.0 NVIDIA удалила инструменты NATS и etcd, которые отвечали за обнаружение сервисов и обмен сообщениями в предыдущих версиях. Вместо них были внедрены новая система Event Plane и Discovery Plane, использующие ZMQ (ZeroMQ) для высокопроизводительного транспорта и MessagePack для сериализации данных. Это изменение делает инфраструктуру более компактной и простой в обслуживании в производственных средах.
2. Какие преимущества предоставляет разделение E/P/D в обновлении Dynamo v0.9.0?
Разделение E/P/D (Encode/Prefill/Decode) в обновлении Dynamo v0.9.0 позволяет запускать кодировщик на отдельном наборе GPU от Prefill и Decode workers. Это позволяет масштабировать оборудование в соответствии с конкретными потребностями модели, предотвращая узкие места при интенсивной обработке видео или изображений.
3. Какие компоненты и библиотеки были обновлены в выпуске v0.9.0 и какие версии они получили?
В выпуске v0.9.0 были обновлены несколько основных компонентов до их последних стабильных версий. Среди них:
* vLLM — 0.14.1;
* SGLang — 0.5.8;
* TensorRT-LLM — 1.3.0rc1;
* NIXL — 0.9.0;
* Rust Core — dynamo-tokens crate.
4. Какие проблемы решает предварительный просмотр FlashIndexer в обновлении Dynamo v0.9.0?
Предварительный просмотр FlashIndexer в обновлении Dynamo v0.9.0 предназначен для решения проблем с задержками при управлении распределённым KV кэшем. При работе с большими контекстными окнами перемещение данных Key-Value (KV) между GPU является медленным процессом. FlashIndexer улучшает индексацию и извлечение этих кэшированных токенов, что приводит к снижению времени до первого токена (TTFT).
5. Какие методы используются в руководстве для создания прозрачного агентского рабочего процесса?
В руководстве для создания прозрачного агентского рабочего процесса используются следующие методы:
* определение политики системы, ориентированной на управление, которая вынуждает агента выражать свои намерения в структурированном JSON;
* использование языковой модели для предложения действий, явно разделяя мысль, действие и аргументы;
* подключение решений к узлам LangGraph, которые подготавливают, ограничивают и проверяют выполнение под строгим контролем.