Glosario

TensorRT

Optimiza los modelos de aprendizaje profundo con TensorRT para una inferencia más rápida y eficiente en las GPUs NVIDIA . Consigue rendimiento en tiempo real con YOLO y aplicaciones de IA.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

TensorRT es un optimizador de inferencia de Deep Learning (DL) de alto rendimiento y una biblioteca en tiempo de ejecución desarrollada por NVIDIA. Está diseñada específicamente para maximizar el rendimiento de inferencia y minimizar la latencia de inferencia para aplicaciones de aprendizaje profundo que se ejecutan en GPUsNVIDIA . TensorRT toma modelos de redes neuronales entrenados de varios marcos y aplica numerosas optimizaciones para generar un motor de tiempo de ejecución altamente optimizado para su despliegue. Este proceso es crucial para implantar modelos de forma eficiente en entornos de producción, especialmente cuando la velocidad y la capacidad de respuesta son fundamentales.

Características principales y optimizaciones

TensorRT consigue importantes mejoras de rendimiento mediante varias técnicas sofisticadas:

  • Calibración de precisión: Reduce la precisión del modelo de FP32 a precisiones más bajas como FP16 o INT8(precisión mixta o cuantificación del modelo) con una pérdida mínima de precisión, lo que conlleva un cálculo más rápido y un menor uso de memoria.
  • Fusión de Capas y Tensor : Combina varias capas u operaciones en un único núcleo(Fusión de Capas), reduciendo el uso de ancho de banda de memoria y la sobrecarga de lanzamiento del núcleo.
  • Autoajuste del núcleo: Selecciona los mejores algoritmos preimplementados (kernels) para el objetivo NVIDIA GPU objetivo, garantizando un rendimiento óptimo para el hardware específico.
  • Memoria Tensor Dinámica: Minimiza la huella de memoria reutilizando la memoria asignada a los tensores cuya vida útil no se solapa.
  • Ejecución Multi-Corriente: Permite el procesamiento paralelo de múltiples flujos de entrada.

Cómo funciona TensorRT

El flujo de trabajo suele consistir en tomar un modelo entrenado (por ejemplo, de PyTorch o TensorFlowa menudo a través de un formato intermedio como ONNX) e introducirlo en el optimizador TensorRT . TensorRT analiza el modelo, realiza optimizaciones del grafo y optimizaciones específicas del objetivo basadas en la precisión especificada y GPU objetivo, y finalmente genera un plan de inferencia optimizado, conocido como motor TensorRT . Este archivo de motor puede desplegarse para una inferencia rápida.

Relevancia en IA y ML

TensorRT es muy relevante para la fase de despliegue de modelos del ciclo de vida del aprendizaje automático. Su capacidad para acelerar significativamente la inferencia lo hace indispensable para aplicaciones que requieren inferencia en tiempo real, como la detección de objetos con modelos como Ultralytics YOLOla segmentación de imágenes y el procesamiento del lenguaje natural. Es un componente clave en la pila de software NVIDIA , junto con herramientas como CUDAque permite a los desarrolladores aprovechar todo el potencial del hardware NVIDIA , desde las potentes GPU para centros de datos hasta los módulos NVIDIA Jetson de bajo consumo para la IA Edge. Ultralytics proporciona una integración perfecta, permitiendo a los usuarios exportar los modelos YOLO al formato TensorRT para una implantación optimizada, a menudo utilizado con plataformas como el Servidor de InferenciaTriton .

Aplicaciones en el mundo real

TensorRT se utiliza ampliamente en diversos sectores en los que se necesita una inferencia de IA rápida y eficaz:

  1. Vehículos autónomos: En los coches autónomos(IA en Automoción), TensorRT optimiza los modelos de percepción (como la detección de objetos y la segmentación de carriles) que se ejecutan en plataformas NVIDIA DRIVE integradas, garantizando la toma de decisiones en tiempo real, crucial para la seguridad. Modelos como RTDETR pueden optimizarse utilizando TensorRT para su despliegue en tales sistemas(Comparación RTDETRv2 vs YOLOv5 ).
  2. Análisis de imágenes médicas: Los hospitales y las instituciones de investigación utilizan TensorRT para acelerar la inferencia de modelos de IA que analizan exploraciones médicas (TC, RM) para tareas como la detección de tumores o la identificación de anomalías(IA en la atención sanitaria), lo que permite diagnósticos más rápidos y respalda los flujos de trabajo clínicos. A menudo forma parte de sistemas más amplios de Visión por Computador (VC).

TensorRT frente a tecnologías relacionadas

Aunque TensorRT se centra en optimizar la inferencia específicamente para las GPU NVIDIA , existen otras herramientas en el ecosistema:

  • Marcos de aprendizaje profundo (PyTorch, TensorFlow): Se utilizan principalmente para entrenar modelos, pero también ofrecen capacidades básicas de inferencia. TensorRT optimiza los modelos entrenados en estos marcos para su despliegue.
  • ONNX Runtime: Un motor de inferencia multiplataforma que admite múltiples aceleradores de hardware, incluidas las GPU NVIDIA (a menudo utilizando TensorRT como proveedor de ejecución), CPU y otros. Ofrece una compatibilidad de hardware más amplia, pero puede no alcanzar el mismo nivel de optimización en el hardware NVIDIA que TensorRT directamente.
  • Intel OpenVINO: Similar a TensorRT pero optimizado para el hardware Intel (CPUs, iGPUs, VPUs). Los modelos Ultralytics también pueden exportarse al formato OpenVINO .

El diferenciador clave de TensorRT es su profunda integración con el hardware NVIDIA y sus agresivas estrategias de optimización adaptadas a las GPU, que a menudo producen los benchmarks de mayor rendimiento (ver Benchmarks MLPerf) en plataformas NVIDIA en comparación con tiempos de ejecución de propósito más general. La gestión de modelos y despliegues puede agilizarse utilizando plataformas como Ultralytics HUB.

Leer todo
OSZAR »