AIKraft Agents

ai-dynamo/dynamo

Система распределенного обслуживания инференса масштаба дата-центра

Инференс⭐ 8 445Rustпоследний релиз: v1.6.2
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Dynamo — это фреймворк для распределённого обслуживания LLM на уровне датацентра, выступающий оркестратором поверх существующих движков (vLLM, SGLang, TensorRT-LLM).

Зачем нужен

Инструмент решает проблему координации работы LLM на множестве GPU и узлов, превращая разрозненные инференс-движки в единую систему. Он полезен для максимизации пропускной способности и минимизации задержек за счёт интеллектуального роутинга, независимого масштабирования этапов префилла и декодирования, а также автоматического управления ресурсами.

Что можно реализовать

  • Служба LLM на множестве GPU/NVIDIA GB200 NVL72 с требованием высокой пропускной способности
  • Разделение нагрузки на префилл и декодирование (disaggregated serving) для оптимизации использования ресурсов
  • Маршрутизация запросов на основе состояния KV-кэша (KV-aware routing) для избежания избыточных вычислений
  • Автоматическое масштабирование с соблюдением SLA по задержке при минимальной стоимости владения (TCO)

Ключевые возможности

  • Поддержка Disaggregated Serving, KV-Aware Routing и SLA-Based Planner для всех основных бэкендов
  • Ускорение старта моделей до 7x благодаря оптимизированному стримингу весов (ModelExpress)
  • Снижение времени до первого токена (TTFT) в 2 раза за счёт интеллектуального роутинга
  • Снижение нарушений SLA на 80% при одновременном уменьшении TCO на 5%
  • Построен на Rust для производительности и Python для расширяемости

👤 Кому подойдёт: Инженеры по машинному обучению (MLE), DevOps-инженеры и архитекторы, отвечающие за развертывание и масштабирование LLM-инференса в корпоративных датацентрах.

Релизы

v1.6.2patchbreaking
🕐 19 ч назад · релиз на GitHub ↗

Обновление базовых пакетов, переход SGLang на Python 3.12.16, возврат HTTP 400 при превышении лимита токенов в TensorRT-LLM и опциональная заморозка GC.

  • Fixed: TensorRT-LLM теперь возвращает HTTP 400 вместо 500 при превышении лимита токенов, не останавливая воркер.
  • Added: Добавлен флаг --freeze-gc-after-init для SGLang, позволяющий заморозить сборку мусора после старта для снижения задержек.
  • Breaking: Образ SGLang переключен на CPython 3.12.16, из-за чего cuda-gdb больше не поддерживает скрипты на Python.
  • Added: Обновлены версии Mooncake, PyNvVideoCodec, pyasn1 и pinned diffusers в образах SGLang, vLLM и TensorRT-LLM.
  • Added: Планировщик (Planner) переведен на Python 3.13.18, сборка теперь падает при использовании устаревшего pip.
v1.6.1patchbreaking
🕐 9 дн назад · релиз на GitHub ↗

Патч v1.6.1: обновление Pillow до 13, обновление CA-хранилищ с удалением emSign ECC Root CA - G3 и исправление публикации KVBM-критов.

  • Breaking: Обновлены CA-хранилища: удален корневой сертификат emSign ECC Root CA - G3, что может вызвать сбои TLS-соединений с зависимыми эндпоинтами.
  • Added: Обновлены базовые образы и инструменты: Pillow 13, uv 0.13.5, pip 26.2.2, certifi 2026.10.19, Go 1.27.3, Python 3.13.
  • Fixed: Восстановлена публикация KVBM-критов (kvbm-kernels, kvbm-logical, kvbm-physical, kvbm-engine) на crates.io, которые не публиковались в v1.6.0.
  • Fixed: Исправлены команды sed в документации для Kubernetes, теперь они корректно заменяют любой тег образа, а не только 1.6.1.
v1.6.0major
🕐 14 дн назад · релиз на GitHub ↗

Dynamo v1.6.0: плагинный роутер, поддержка LPU, динамический LoRA, новые модели и улучшенная отказоустойчивость.

  • Added: Dynamo Router получил плагины для управления потоком запросов и единый механизм выбора воркеров.
  • Added: Добавлена поддержка LPU через LPX, снимки для failover и отдельные шаблоны подов для мультинод.
  • Added: vLLM sidecar теперь поддерживает динамический LoRA и роль encode для мультимодальных задач.
  • Added: Dynamo Frontend добавил парсеры для DeepSeek V4.1, эндпоинт /v1/rerank и поддержку mTLS.
  • Deprecated: Устаревшие флаги роутера заменены на единый параметр --router-policy-config.
v1.5.1patchbreaking
🕐 1 мес назад · релиз на GitHub ↗

Исправление перегрузки роутера, безопасность медиа и баги SGLang/Qwen3-VL; важные ломающие изменения в прокси и путях.

  • Fixed: Исправлено зависание состояния перегрузки в Dynamo Router и утечка фрагментов стоп-последовательностей.
  • Fixed: Устранены проблемы с min_tokens в SGLang, маршрутизацией видео Qwen3-VL и обнаружением RL-воркеров в Kubernetes.
  • Fixed: Добавлен лимит размера inline data: URL и улучшена валидация локальных путей для SGLang Diffusion.
  • Breaking: Требует явного включения DYN_MM_TRUST_EGRESS_PROXY для обхода прокси при загрузке медиа.
  • Breaking: Локальные файлы для SGLang Diffusion теперь требуют явного указания разрешённой директории через DYN_MM_LOCAL_PATH.
v1.5.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Dynamo v1.5.0: кастомные политики роутера, индексация KV в Mooncake, декодирование изображений во Frontend и переход на Rust EPP.

  • Added: Dynamo Router поддерживает пользовательские политики выбора воркеров и индексацию KV-индексов в Mooncake и дисковые уровни.
  • Added: Dynamo Frontend по умолчанию стримит вызовы инструментов, валидирует запросы до генерации токенов и декодирует изображения один раз.
  • Breaking: Критерий хранения CRD в Kubernetes переведен на nvidia.com/v1beta1, а Go Endpoint Picker заменен на Rust EPP.
  • Deprecated: Компонент KVBM признан устаревшим, его удаление запланировано в версии v1.6.0.
  • Added: AIConfigurator переименован в AISimulate и выпускается как отдельный пакет, а Dynamo Snapshot выделен в автономный оператор.
v1.4.2patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлена загрузка NIXL во Frontend и SGLang, добавлена поддержка NVIDIA Enterprise Support, обновлены зависимости.

  • Fixed: Исправлено разрешение путей загрузки NIXL в Frontend и SGLang Runtime, устранена ошибка с некорректными заглушками.
  • Added: Запущен Dynamo Enterprise: набор артефактов для поддержки NVIDIA AI Enterprise без функциональных отличий от open-source.
  • Fixed: Обновлен AWS EFA Installer до версии v1.50.
  • Fixed: Зафиксирована версия Pillow на уровне v12.3.0 и добавлено ограничение для plotext ниже v6.
  • Deprecated: Удален неиспользуемый плагин Nsight EFA Metrics из собираемых образов.
v1.4.1patch
🕐 2 мес назад · релиз на GitHub ↗

Добавлены OpenAI-совместимые эндпоинты классификации и пулинга, исправлено зависание роутера и передача лог-вероятностей.

  • Added: Добавлены эндпоинты /v1/classify и /v1/pooling с поддержкой vLLM и различными форматами ответов.
  • Fixed: Исправлено зависание состояния перегрузки в Dynamo Router при восстановлении после ошибок.
  • Fixed: Устранена ошибка 400 при передаче параметра logprob_token_ids в фронтенде.
  • Fixed: Починена передача объектов NIXL в vLLM-Omni, вызывавшая ошибку из-за неизменяемых буферов.
  • Обновлены Go-модули gRPC, x/net, x/text и инструментальная цепочка до версии 1.26.6.
v1.4.0major
🕐 2 мес назад · релиз на GitHub ↗

Dynamo v1.4.0: мультидатацентровый роутинг, vLLM-совместимый эндпоинт, NIXL-дисагрегация для vLLM-Omni и симулятор Spica.

  • Added: Dynamo Router: экспериментальный кросс-датацентровый префиксный роутинг с ретрансляцией KV и воспроизведением бронирований.
  • Added: Dynamo Frontend: новый vLLM-совместимый эндпоинт /inference/v1/generate и включенный по умолчанию кэш токенизатора.
  • Added: vLLM-Omni: поддержка NIXL RDMA для дисагрегированного обслуживания мультинодовых пайплайнов от autoregressive до diffusion.
  • Added: Spica: фреймворк дискретно-событийного моделирования для планирования мощностей без использования GPU.
  • Added: Обновление движков: vLLM v0.26.0, SGLang v0.5.16, TensorRT-LLM 1.3.0rc22 и NIXL v1.3.x.
v1.3.1patch
🕐 3 мес назад · релиз на GitHub ↗

Исправлен сбой KV-передачи в disaggregated SGLang на AWS EFA за счёт обновления NIXL и EFA Installer.

  • Fixed: Устранён сбой disaggregated-инференса на AWS EFA: теперь используется релизный wheel NIXL вместо сборки из исходников, что решает проблему зависания передачи KV.
  • Fixed: Обновлены версии зависимостей: NIXL (релизный wheel), EFA Installer (1.49.0) и libfabric (v2.4.0).
  • Fixed: Исправлены битые ссылки в документации и обновлены теги контейнеров до версии 1.3.1.
  • Известная проблема: зависание на H100 при частичном выделении EFA-устройств сохраняется, решение пока не найдено.
v1.3.0major
🕐 3 мес назад · релиз на GitHub ↗

Dynamo v1.3.0: масштабный Router, RL-инференс, мультимодальность, CUDA 13 и улучшенное планирование SLA.

  • Added: Масштабное обновление Dynamo Router: выделенный сервис выбора, Branch-Sharded KV Indexer, топологически-осознанная маршрутизация и ускорение на 28x.
  • Added: Инференс в контуре RL: поддержка TITO, ин-плейс обновления весов и стриминг метаданных для post-training циклов.
  • Added: Надёжный tool-calling и reasoning: конфигурируемый парсер, поддержка DeepSeek-V4, Qwen3, Kimi K2 и других моделей.
  • Added: Мультимодальность и диффузия: media-aware KV routing, SGLang prefill/decode для изображений/видео и унифицированный бэкенд для diffusion.
  • Added: Переход на CUDA 13, обновление vLLM/SGLang/TensorRT-LLM, NIXL v1.x и AIConfigurator для точного autoscaling по SLA.
v1.2.1patch
🕐 4 мес назад · релиз на GitHub ↗

Исправлены загрузчики ModelExpress, совместимость с ROCm/Python 3.10 и ошибки SGLang.

  • Added: Интеграция ModelExpress 0.4.0 для загрузки моделей в vLLM и SGLang.
  • Fixed: Устранён сбой загрузки моделей из объектных хранилищ (S3, GCS, Azure).
  • Fixed: Исправлен краш декодирования токенов в SGLang для MoE-моделей (кроме DeepSeek-V4).
  • Fixed: Восстановлена совместимость импорта с AMD ROCm и Python 3.10.
  • Fixed: Исправлены ошибки сборки контейнеров EFA для RDMA.