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

For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt.

Справочное руководство

Сборка собственного контейнера

Образ Dynamo TensorRT-LLM накладывает Dynamo поверх upstream-контейнера nvcr.io/nvidia/tensorrt-llm/release — он не собирает TensorRT-LLM из исходников. Чтобы пересобрать его локально, зафиксировать другой upstream-тег TRT-LLM или подключить образ TRT-LLM, собранный из исходников, см. руководство Building a Custom Container.

Передача KV Cache

Dynamo с TensorRT-LLM поддерживает два способа передачи KV cache в disaggregated serving: UCX (по умолчанию) и NIXL (экспериментальный). Подробную информацию и инструкции по настройке каждого метода см. в KV Cache Transfer Guide.

Миграция запросов

Dynamo поддерживает request migration, чтобы корректно обрабатывать сбои worker'ов. Если функция включена, запросы можно автоматически переносить на исправные worker'ы, если worker выходит из строя в середине генерации. Подробности настройки см. в документации Request Migration Architecture.

Отмена запросов

Когда пользователь отменяет запрос, например отключаясь от frontend, запрос автоматически отменяется на всех worker'ах, освобождая вычислительные ресурсы для других запросов.

Матрица поддержки отмены

PrefillDecode
Aggregated
Disaggregated

Подробнее см. документацию Request Cancellation Architecture.

Несколько вариантов (n)

Dynamo передаёт совместимые с OpenAI запросы на несколько вариантов в TensorRT-LLM через n. Для запроса с n > 1 на пути детерминированного декодирования TensorRT-LLM по умолчанию задайте TLLM_ALLOW_N_GREEDY_DECODING=1 в окружении worker TensorRT-LLM. Без этого TensorRT-LLM отклонит запрос до начала генерации.

Если тест или развёртывание намеренно проверяет n > 1 для этого пути, задайте:

export TLLM_ALLOW_N_GREEDY_DECODING=1

Ограничьте область действия этой переменной окружения конкретным worker TensorRT-LLM или конфигурацией теста, где требуется n > 1. Для E2E-тестов Dynamo задавайте её в соответствующем EngineConfig.env, а не глобально, и сохраняйте запрос клиента в OpenAI-формате с n вместо добавления best_of.

TensorRT-LLM документирует поведение n/best_of и проверяет этот guard как greedy decoding в tensorrt_llm/sampling_params.py.

Поддержка мультимодальности

Dynamo с backend TensorRT-LLM поддерживает мультимодальные модели, позволяя обрабатывать текст и изображения (или заранее вычисленные embeddings) в одном запросе. Подробные инструкции по настройке, примеры запросов и рекомендации см. в TensorRT-LLM Multimodal Guide.

Поддержка diffusion (экспериментально)

Dynamo поддерживает генерацию видео и изображений с помощью diffusion-моделей через TensorRT-LLM. Требования, поддерживаемые модели, использование API и параметры конфигурации см. в Diffusion Guide.

Обработка logits

Logits processor'ы позволяют изменять logits следующего токена на каждом шаге декодирования. Dynamo предоставляет независимый от backend интерфейс и адаптер для TensorRT-LLM. API, примеры и инструкции по подключению собственного processor'а см. в Logits Processing Guide.

Маршрутизация DP rank (Attention Data Parallelism)

TensorRT-LLM поддерживает attention data parallelism для таких моделей, как DeepSeek, что позволяет маршрутизировать запросы с учётом KV cache к конкретным DP rank. Подробности настройки и использования см. в DP Rank Routing Guide.

Интеграция KVBM

Dynamo с TensorRT-LLM сейчас поддерживает интеграцию с Dynamo KV Block Manager. Эта интеграция может заметно снизить задержку time-to-first-token (TTFT), особенно в сценариях вроде многоходовых диалогов и повторяющихся запросов с длинным контекстом.

См. инструкции здесь: Running KVBM in TensorRT-LLM.

Наблюдаемость

TensorRT-LLM предоставляет метрики Prometheus для мониторинга производительности inference. Подробный справочник по метрикам, настройке сбора и интеграции с Grafana см. в Observability Guide.

Отключение циклического GC Python для бенчмарков с высокой конкуренцией

Dynamo с TensorRT-LLM предоставляет DYN_TRTLLM_SERVER_DISABLE_GC, чтобы повторить поведение TRTLLM_SERVER_DISABLE_GC в trtllm-serve. Если переменная задана, worker TensorRT-LLM отключает циклический сборщик мусора Python при запуске, чтобы паузы generational GC не попадали в hot path запроса. Освобождение памяти на основе подсчёта ссылок продолжает работать как обычно — отключается только cycle collector.

export DYN_TRTLLM_SERVER_DISABLE_GC=1

Это особенно полезно для бенчмарков с высокой конкуренцией, где такой режим повышает throughput и стабилизирует измерения TTFT/ITL, убирая всплески хвостовой задержки, вызванные GC.

Известные проблемы и способы их смягчения

Известные проблемы, обходные пути и способы их смягчения см. на странице Known Issues and Mitigations.