Перейти к основному содержимому

Для чистого Markdown-содержимого этой страницы добавьте .md к этому URL. Полный индекс документации см. на https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, см. на https://docs.nvidia.com/dynamo/llms-full.txt.

Примеры

Для инструкций по быстрому старту см. SGLang README. Этот документ описывает все варианты развертывания SGLang с Dynamo, включая LLM, мультимодальные и диффузионные модели, а также развертывание в Kubernetes.

Настройка инфраструктуры

Для локальной разработки или работы на bare metal запустите etcd и, при необходимости, NATS через Docker Compose:

docker compose -f dev/docker-compose.yml up -d
  • etcd необязателен, но является стандартным локальным бэкендом обнаружения. Также можно использовать --discovery-backend file, чтобы применять обнаружение на базе файловой системы.
  • NATS нужен только при использовании событий KV routing на базе NATS (--kv-events-config). Для маршрутизации без NATS используйте события на базе ZMQ или --no-router-kv-events.
  • В Kubernetes ничего из этого не требуется при использовании оператора Dynamo (DYN_DISCOVERY_BACKEND=kubernetes).

Каждый launch-скрипт запускает frontend и worker(ы) в одном терминале. Для тестирования вы можете запускать каждую команду отдельно в разных терминалах. Для AI-агентов, работающих с Dynamo, можно запускать launch-скрипт в фоне и использовать команды curl для проверки развертывания.

Обслуживание LLM

Агрегированное обслуживание

Самый простой вариант развертывания: один worker выполняет и prefill, и decode.

cd $DYNAMO_HOME/examples/backends/sglang
./launch/agg.sh

Аггрегированное обслуживание с KV routing

Два worker'а за KV-aware router, который максимально переиспользует cache:

cd $DYNAMO_HOME/examples/backends/sglang
./launch/agg_router.sh

Это запускает frontend с --router-mode kv и два worker'а с публикацией KV events на базе ZMQ.

Дезагрегированное обслуживание

Разделяет prefill и decode на независимые worker'ы, соединенные через NIXL для передачи KV cache. Требуется 2 GPU.

cd $DYNAMO_HOME/examples/backends/sglang
./launch/disagg.sh

Подробнее о том, как работает disaggregation в SGLang с Dynamo, включая bootstrap-механизм и поток передачи RDMA, см. в SGLang Disaggregation.

Дезагрегированное обслуживание с KV-aware prefill routing

Масштабируется до 2 prefill + 2 decode worker'ов с KV-aware routing в обоих пулах. Требуется 4 GPU.

cd $DYNAMO_HOME/examples/backends/sglang
./launch/disagg_router.sh

Frontend использует --router-mode kv и автоматически определяет prefill worker'ы, чтобы активировать внутренний prefill router. Каждый worker публикует KV events по ZMQ на уникальных портах.

Мультимодальное обслуживание

Агрегированное мультимодальное

Обслуживайте мультимодальные модели с помощью встроенной мультимодальной поддержки SGLang:

cd $DYNAMO_HOME/examples/backends/sglang
./launch/agg_vision.sh
Проверка развертывания
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-VL-8B-Instruct",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "Explain why Roger Federer is considered one of the greatest tennis players of all time"},
{"type": "image_url", "image_url": {"url": "https://media.newyorker.com/photos/63249cff39ac97c4c23ff5d0/master/w_2560%2Cc_limit/Marzorati%2520-%2520Federer%2520Retirement%25202.jpg"}}
]
}
],
"max_tokens": 50,
"stream": false
}' | jq

Мультимодальное с дезагрегированными компонентами

Для продвинутых мультимодальных развертываний с отдельными encoder, prefill и decode worker'ами (паттерны E/PD и E/P/D) см. отдельную документацию SGLang Multimodal.

ПаттернСкриптОписание
E/PD./launch/multimodal_epd.shОтдельный vision encoder + объединенный PD worker
E/P/D./launch/multimodal_disagg.shОтдельные encoder, prefill и decode worker'ы

Диффузионные модели

Диффузионная LM

Запускайте диффузионные языковые модели, такие как LLaDA2.0:

cd $DYNAMO_HOME/examples/backends/sglang
./launch/diffusion_llada.sh

Диффузионная генерация изображений

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

cd $DYNAMO_HOME/examples/backends/sglang
./launch/image_diffusion.sh

Параметры: --model-path, --fs-url (локальный или S3), --http-url.

Генерация видео

Генерируйте видео по текстовым запросам с помощью моделей Wan2.1:

cd $DYNAMO_HOME/examples/backends/sglang
./launch/text-to-video-diffusion.sh

Параметры: --wan-size 1b|14b, --num-frames, --height, --width, --num-inference-steps.

Полное описание всех типов diffusion worker'ов (LLM, image, video) см. в Diffusion.

Развертывание в Kubernetes

Полные примеры развертывания в K8s см. здесь:

Troubleshooting

Проверка версии CuDNN завершается с ошибкой

RuntimeError: cuDNN frontend 1.8.1 requires cuDNN lib >= 9.5.0

Установите SGLANG_DISABLE_CUDNN_CHECK=1 перед запуском. Это часто встречается, когда PyTorch поставляет версию CuDNN старее, чем требуется моделям Conv3d в SGLang. Затрагивает vision и диффузионные модели.

Регистрация модели завершается ошибкой config.json

unable to extract config.json from directory ...

Это происходит с моделями diffusers (FLUX.1-dev, Wan2.1 и т. п.), которые используют model_index.json вместо config.json. Убедитесь, что вы используете правильный флаг worker'а (--image-diffusion-worker или --video-generation-worker), а не стандартный режим LLM worker. Эти флаги используют путь регистрации, которому не требуется config.json.

OOM на GPU при запуске

Если предыдущий запуск оставил осиротевшие GPU-процессы, следующий запуск может упасть с OOM. Проверьте zombie-процессы:

nvidia-smi # look for lingering sgl_diffusion::scheduler or python processes
kill -9 <PID>

Дезагрегированные worker'ы не могут подключиться

Убедитесь, что prefill и decode worker'ы могут достигать друг друга по TCP. Bootstrap-механизм использует --disaggregation-bootstrap-port (по умолчанию: 12345). Для многонодовых конфигураций убедитесь, что порт доступен между хостами, и задайте --host 0.0.0.0.

См. также

  • SGLang README: Быстрый старт и обзор возможностей
  • Reference Guide: Архитектура, конфигурация и эксплуатационные детали
  • SGLang Multimodal: Паттерны развертывания vision-моделей
  • SGLang HiCache: Интеграция иерархического cache
  • Benchmarking: Инструменты для performance-бенчмаркинга
  • Tuning Disaggregated Performance: Руководство по настройке P/D