Инструменты21 июля 2026 г., 20:19 МСК🤖 Auto

NVIDIA srt-slurm: Автоматизация бенчмарков LLM с Pareto-анализом

NVIDIA представила фреймворк srt-slurm для воспроизводимого запуска распределенных тестов LLM. Инструмент позволяет генерировать SLURM-скрипты, настраивать дисагрегированные архитектуры (prefill/decode) и анализировать компромиссы между пропускной сп

Баннер новости 4063

Что такое srt-slurm и зачем это нужно

NVIDIA выпустила открытый фреймворк srt-slurm, который решает проблему воспроизводимости и сложности развертывания распределенных сервисов больших языковых моделей (LLM). Основной инструмент — утилита командной строки srtctl — преобразует декларативные YAML-конфигурации в готовые рабочие процессы SLURM. Это позволяет инженерам тестировать гиперпараметры и конфигурации кластеров в среде разработки (например, Google Colab), а затем безопасно переносить их на реальные GPU-кластеры без ручного написания скриптов sbatch.

Архитектура и поддержка бэкендов

Фреймворк спроектирован как модульная система, включающая ядро для валидации схем, генераторы скриптов и адаптеры для различных движков инференса. Поддерживаются следующие бэкенды:

  • SGLang (через контейнер lmsysorg/sglang:v0.5.5.post2)
  • TensorRT-LLM
  • vLLM
  • Mocker (для smoke-тестов и симуляции нагрузки)

Внутренняя структура репозитория включает модули для работы с топологией кластера, валидации конфигураций и парсинга логов. Для анализа результатов используется встроенная панель на базе Streamlit, которая визуализирует данные бенчмарков.

Дисагрегированная архитектура: пример DeepSeek-R1

Ключевая возможность srt-slurm — поддержка дисагрегированных (disaggregated) развертываний, где задачи предварительной обработки (prefill) и декодирования (decode) разделяются между разными узлами. Это критически важно для оптимизации использования GPU в высоконагруженных системах. В примере конфигурации для модели DeepSeek-R1 задана следующая структура:

Параметр Значение Назначение
GPU Type GB200 Тип используемых графических процессоров
Precision FP8 Точность вычислений (kv-cache dtype: fp8_e4m3)
Prefill Nodes 1 Количество узлов для этапа prefill
Decode Nodes 2 Количество узлов для этапа decode
GPUs per Node 4 Тензорная параллельность (tensor-parallel-size: 4)
Benchmark Type SaBench Тип нагрузочного тестирования
Concurrency 64, 128, 256 Уровни параллельных запросов для теста

Параметрические поиски (Sweeps) и Pareto-анализ

srt-slurm позволяет автоматически генерировать сетки гиперпараметров (parameter sweeps). Система создает отдельные конфигурационные файлы для каждой комбинации параметров (например, chunked-prefill-size и max-total-tokens) и запускает их в режиме dry-run для проверки корректности. После получения результатов метрик (пропускная способность vs задержка) инструмент строит Pareto-фронт, помогая инженерам выбрать оптимальную конфигурацию, которая максимизирует throughput при приемлемой latency.

Интеграция с Python API

Помимо CLI, фреймворк предоставляет типизированный Python API (srtctl.core.config, srtctl.core.sweep). Это позволяет программно загружать конфигурации, расширять списки параметров и генерировать шаблоны скриптов непосредственно в коде. Такой подход обеспечивает строгую типизацию и упрощает интеграцию процессов бенчмаркинга в CI/CD пайплайны разработки AI-инфраструктуры.

Источник: MarkTechPost ↗