Чтобы получить чистое Markdown-содержимое этой страницы, добавьте .md к этому URL. Полный индекс документации см. на https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, см. на https://docs.nvidia.com/dynamo/llms-full.txt.
Примеры
Инструкции по быстрому старту см. в README TensorRT-LLM. В этом документе приведены все шаблоны развертывания для запуска TensorRT-LLM с Dynamo, включая развертывания на одном узле, на нескольких узлах и в Kubernetes.
Содержание
Настройка инфраструктуры
Для локальной разработки или разработки на bare-metal запустите etcd и, при необходимости, NATS с помощью Docker Compose:
docker compose -f dev/docker-compose.yml up -d
- etcd необязателен, но используется как локальный backend обнаружения по умолчанию. Также можно использовать
--discovery-backend file, чтобы задействовать обнаружение на основе файловой системы. - NATS необязателен: он нужен только при использовании событий KV-маршрутизации на базе NATS. Рабочие процессы нужно явно настроить на публикацию событий. Для маршрутизации без NATS используйте события на базе ZMQ или
--no-router-kv-eventsна frontend. - В Kubernetes при использовании оператора Dynamo ни etcd, ни NATS не требуются: оператор явно задает
DYN_DISCOVERY_BACKEND=kubernetes, чтобы включить нативное обнаружение сервисов K8s (DynamoWorkerMetadata CRD).
Каждый launch-скрипт запускает frontend и worker(s) в одном терминале. Для тестирования можно запускать каждую команду отдельно в разных терминалах. Каждый shell-скрипт просто выполняет python3 -m dynamo.frontend <args> для запуска ingress и python3 -m dynamo.trtllm <args> для запуска рабочих процессов.
Подробные сведения о поведении маршрутизации с учетом KV см. в разделе Концепции маршрутизации. О режимах развертывания см. в руководстве по Router.
Примеры для одного узла
Агрегированный режим
cd $DYNAMO_HOME/examples/backends/trtllm
./launch/agg.sh
Агрегированный режим с KV Routing
cd $DYNAMO_HOME/examples/backends/trtllm
./launch/agg_router.sh
Дезагрегированный режим
cd $DYNAMO_HOME/examples/backends/trtllm
./launch/disagg.sh
Дезагрегированный режим с KV Routing
В дезагрегированном workflow запросы направляются на prefill worker, чтобы максимально переиспользовать KV cache.
cd $DYNAMO_HOME/examples/backends/trtllm
./launch/disagg_router.sh
Агрегированный режим с Multi-Token Prediction (MTP) и DeepSeek R1
cd $DYNAMO_HOME/examples/backends/trtllm
export AGG_ENGINE_ARGS=./engine_configs/deepseek-r1/agg/mtp/mtp_agg.yaml
export SERVED_MODEL_NAME="nvidia/DeepSeek-R1-FP4"
# nvidia/DeepSeek-R1-FP4 is a large model
export MODEL_PATH="nvidia/DeepSeek-R1-FP4"
./launch/agg.sh
- Для первых двух inference-запросов наблюдается заметная задержка. Перед запуском бенчмарка отправьте прогревочные запросы.
- Производительность MTP может различаться в зависимости от acceptance rate предсказанных токенов, который зависит от набора данных или запросов, используемых во время бенчмаркинга. Кроме того, при использовании MTP параметр
ignore_eosобычно следует опускать или задавать равнымfalse, чтобы избежать спекуляции мусорными выводами и получения нереалистичных acceptance rate.
Расширенные примеры
Развертывание на нескольких узлах
Полные инструкции по обслуживанию на нескольких узлах см. в руководстве Примеры multinode. В нем приведены пошаговые примеры развертывания и рекомендации по конфигурации для запуска Dynamo с TensorRT-LLM на нескольких узлах. Хотя в пошаговом описании в качестве модели используется DeepSeek-R1, этот процесс легко адаптировать для любой поддерживаемой модели, обновив соответствующие конфигурационные файлы. Чтобы узнать, как использовать эти скрипты, когда один worker помещается на один узел, см. руководство Llama4 + Eagle.
Спекулятивное декодирование
Руководства для отдельных моделей
- Gemma3 со Sliding Window Attention
- GPT-OSS-120b — reasoning-модель с поддержкой вызова инструментов
Развертывание в Kubernetes
Полные инструкции по развертыванию в Kubernetes, конфигурации и рекомендации по устранению неполадок см. в руководстве по развертыванию TensorRT-LLM в Kubernetes.
Клиент
См. раздел клиент, чтобы узнать, как отправлять запросы в развертывание.
Чтобы отправить запрос в развертывание на нескольких узлах, обращайтесь к узлу, на котором запущен python3 -m dynamo.frontend <args>.