TensorRT
Узнай, как TensorRT оптимизирует модели глубокого обучения для GPU NVIDIA. Научись экспортировать Ultralytics YOLO26 в TensorRT для инференса с низкой задержкой и высокой скоростью уже сегодня.
TensorRT — это высокопроизводительный комплект разработки программного обеспечения для инференса глубокого обучения (SDK), разработанный NVIDIA. Он предназначен для оптимизации нейросетевых моделей при развертывании, обеспечивая низкую задержку инференса и высокую пропускную способность для приложений глубокого обучения. Выступая в роли оптимизирующего компилятора, TensorRT принимает обученные сети из популярных фреймворков, таких как PyTorch и TensorFlow, и перестраивает их для эффективного выполнения на GPU NVIDIA. Эта возможность крайне важна для запуска сложных моделей ИИ в производственных средах, где скорость и эффективность имеют первостепенное значение.
Как TensorRT оптимизирует модели#
Основная функция TensorRT заключается в преобразовании обученной нейросети в оптимизированный «движок», специально настроенный для целевого оборудования. Для этого используются несколько передовых методов:
- Объединение слоев: оптимизатор объединяет несколько слоев нейросети в одно ядро, снижая накладные расходы на доступ к памяти и повышая скорость выполнения.
- Калибровка точности: TensorRT поддерживает режимы пониженной точности, такие как смешанная точность (FP16) и целочисленное квантование (INT8). Уменьшая количество битов, используемых для представления чисел, часто при минимальной потере точности, разработчики могут значительно ускорить математические операции и сократить использование памяти. Это форма квантования моделей.
- Автоматическая настройка ядер: программное обеспечение автоматически выбирает лучшие слои данных и алгоритмы для используемой архитектуры GPU, обеспечивая максимальное использование возможностей параллельной обработки оборудования с помощью CUDA.
Практические применения#
Благодаря способности обрабатывать огромные объемы данных с минимальной задержкой TensorRT широко применяется в отраслях, использующих компьютерное зрение и сложные задачи ИИ, где время выполнения имеет критическое значение.
-
Автономные системы: в сфере ИИ в автомобилестроении беспилотные автомобили должны мгновенно обрабатывать видеопотоки с нескольких камер, чтобы обнаруживать пешеходов, дорожные знаки и препятствия. С помощью TensorRT модели восприятия, такие как сети обнаружения объектов, могут анализировать кадры за миллисекунды, позволяя системе управления автомобиля без задержек принимать решения, критически важные для безопасности.
-
Промышленная автоматизация: современные предприятия используют ИИ в производстве для автоматизированного оптического контроля. Высокоскоростные камеры снимают изделия на сборочных линиях, а модели, оптимизированные с помощью TensorRT, в реальном времени выявляют дефекты и аномалии. Это позволяет контролю качества успевать за высокоскоростным производством; часто такие модели развертываются на устройствах периферийного ИИ, например на платформе NVIDIA Jetson, непосредственно в производственном цехе.
Использование TensorRT с Ultralytics YOLO#
Интегрировать TensorRT в свой рабочий процесс легко с помощью современных инструментов ИИ. Пакет ultralytics предоставляет удобный способ преобразования стандартных моделей PyTorch в движки TensorRT. Это позволяет использовать современную архитектуру Ultralytics YOLO26 вместе с аппаратным ускорением NVIDIA GPU. Командам, которые хотят управлять наборами данных и конвейерами обучения перед экспортом, Ultralytics Platform предлагает комплексную среду для подготовки моделей к такому высокопроизводительному развертыванию.
В следующем примере показано, как экспортировать модель Ultralytics YOLO26 в файл движка TensorRT (.engine) и использовать его для инференса в реальном времени:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRT и ONNX: сравнение с фреймворками обучения#
Важно отличать TensorRT от других терминов, которые часто используются в сфере развертывания моделей:
- В сравнении с PyTorch/TensorFlow: такие фреймворки, как PyTorch, в первую очередь предназначены для обучения моделей и исследований, обеспечивая гибкость и удобство отладки. TensorRT — это движок инференса, предназначенный исключительно для максимально быстрого выполнения обученных моделей. Для обучения он не используется.
- В сравнении с ONNX: формат ONNX (обмена открытыми нейросетями) служит промежуточным связующим звеном между фреймворками. ONNX обеспечивает совместимость, например позволяя перенести модель из PyTorch на другую платформу, тогда как TensorRT сосредоточен на оптимизации под конкретное оборудование. Часто модель сначала преобразуют в ONNX, а затем TensorRT анализирует ее для создания финального движка.
Для разработчиков, стремящихся максимально повысить производительность своих ИИ-агентов или систем компьютерного зрения, понимание перехода от фреймворка обучения к оптимизированной среде выполнения, такой как TensorRT, — важный этап профессионального MLOps.









