AiKraft
Инструменты23 октября 2026 г., 20:31 МСК🤖 Auto

TensorRT 11.1: Автооптимизация с приростом до 1.63x через Global Performance Tuner

NVIDIA представила Global Performance Tuner в TensorRT 11.1, позволяющий автоматически искать оптимальные параметры компиляции. Тесты показали ускорение от 1.14x до 1.63x по сравнению с настройками по умолчанию.

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

Проблема «одного пути» и решение NVIDIA

Глубокие нейросети требуют сложной оптимизации для работы на GPU. Традиционно разработчики использовали фиксированные стратегии компиляции (build routes), которые не всегда были оптимальны для конкретной модели, формы тензоров или архитектуры GPU. NVIDIA решила эту проблему, внедрив в TensorRT 11.1 инструмент Global Performance Tuner. Его суть — представление альтернативных стратегий планирования как явных, searchable (поисковых) комбинаций параметров компилятора.

Масштаб оптимизации: более 200 параметров

Ключевая особенность нового инструмента — работа с огромным пространством конфигураций. TensorRT теперь экспонирует более 200 knobs (параметров компилятора), каждый из которых имеет допустимые значения и значения по умолчанию. Эти параметры управляют эвристиками, решениями о слиянии операций (fusion) и путями генерации кода. Инструметр trtexec реализует цикл настройки, который:

  • Раскрывает выражение маршрута в конкретные build routes.
  • Собирает и измеряет производительность каждого кандидата.
  • Отбрасывает маршруты, вызвавшие сбой или потерю точности.
  • Выбирает самый быстрый из допустимых вариантов.

Результаты тестирования: точность vs скорость

Важнейшим аспектом является «accuracy-aware tuning» (настройка с учетом точности). Точность выступает фильтром, а производительность — критерием ранжирования. В тестировании на десяти различных рабочих нагрузках (workloads) автоматический поиск показал значительный прирост скорости по сравнению с дефолтной сборкой:

Метрика Значение / Описание
Версия TensorRT 11.1
Количество настраиваемых параметров (knobs) > 200
Диапазон ускорения (по сравнению с default) от 1.14x до 1.63x
Количество протестированных workload 10
Поддержка API C++ (IBuilderConfig), Python (Torch-TensorRT 2.15)

Практическое применение и лучшие практики

Для эффективного использования Global Performance Tuner NVIDIA рекомендует следующие подходы:

  • Используйте --dryRun: Просматривайте список маршрутов перед их сборкой, чтобы оценить объем работы.
  • Кэширование: Используйте флаги --tuningCacheFile и --continue для инкрементальной и возобновляемой настройки, что экономит время при повторных запусках.
  • Переоптимизация: Перенастраивайте модель при изменении ее архитектуры, форм входных тензоров, целевого GPU или стека программного обеспечения.

Разработчики могут использовать C++ API (setBuildRoute, getBuildRoute, getAllBuildRoutes) для создания собственных кастомных тюнеров, интегрируя логику поиска прямо в пайплайн развертывания моделей.

Источник: NVIDIA dev blog ↗