TensorRT
Explora cómo TensorRT optimiza modelos de deep learning para GPUs NVIDIA. Aprende a exportar Ultralytics YOLO26 a TensorRT para obtener inferencias de baja latencia y alta velocidad.
TensorRT es un kit de desarrollo de software (SDK) de inferencia de aprendizaje profundo de alto rendimiento desarrollado por NVIDIA. Está diseñado para optimizar modelos de redes neuronales para su implementación, proporcionando una baja latencia de inferencia y un alto rendimiento para aplicaciones de aprendizaje profundo. Al actuar como un compilador de optimización, TensorRT toma redes entrenadas de frameworks populares como PyTorch y TensorFlow y las reestructura para que se ejecuten de forma eficiente en las GPU de NVIDIA. Esta capacidad es crucial para ejecutar modelos de IA complejos en entornos de producción donde la velocidad y la eficiencia son prioritarias.
Cómo optimiza TensorRT los modelos#
La función principal de TensorRT es convertir una red neuronal entrenada en un «motor» optimizado y ajustado específicamente al hardware de destino. Lo consigue mediante varias técnicas avanzadas:
- Fusión de capas: El optimizador combina varias capas de una red neuronal en un único kernel, reduciendo la sobrecarga del acceso a memoria y mejorando la velocidad de ejecución.
- Calibración de precisión: TensorRT admite modos de precisión reducida, como la precisión mixta (FP16) y la cuantización de enteros (INT8). Al reducir el número de bits utilizados para representar los números —a menudo con una pérdida mínima de precisión—, los desarrolladores pueden acelerar considerablemente las operaciones matemáticas y reducir el uso de memoria. Esta es una forma de cuantización de modelos.
- Ajuste automático de kernels: El software selecciona automáticamente las mejores capas de datos y algoritmos para la arquitectura de GPU específica utilizada, garantizando el máximo aprovechamiento de las capacidades de procesamiento paralelo del hardware mediante CUDA.
Aplicaciones en el mundo real#
Gracias a su capacidad para procesar enormes cantidades de datos con un retraso mínimo, TensorRT se utiliza ampliamente en sectores que dependen de la visión por ordenador y de tareas complejas de IA en las que el tiempo es crítico.
-
Sistemas autónomos: En el ámbito de la IA en la automoción, los coches autónomos deben procesar al instante las señales de vídeo de varias cámaras para detectar peatones, señales y obstáculos. Con TensorRT, los modelos de percepción, como las redes de detección de objetos, pueden analizar fotogramas en milisegundos, lo que permite al sistema de control del vehículo tomar decisiones críticas para la seguridad sin retrasos.
-
Automatización industrial: Las fábricas modernas utilizan la IA en la fabricación para la inspección óptica automatizada. Las cámaras de alta velocidad capturan imágenes de los productos en las líneas de montaje, y los modelos optimizados con TensorRT identifican defectos o anomalías en tiempo real. Esto garantiza que el control de calidad pueda seguir el ritmo de los entornos de producción de alta velocidad, a menudo mediante su implementación en dispositivos de IA periférica, como la plataforma NVIDIA Jetson, directamente en la planta de producción.
Uso de TensorRT con Ultralytics YOLO#
Integrar TensorRT en tu flujo de trabajo es sencillo con las herramientas modernas de IA. El paquete ultralytics proporciona un método fluido para convertir modelos estándar de PyTorch en motores de TensorRT. Esto permite aprovechar la arquitectura de última generación de Ultralytics YOLO26 junto con la aceleración de hardware de las GPU de NVIDIA. Para los equipos que quieren gestionar sus conjuntos de datos y sus pipelines de entrenamiento antes de exportar, la Ultralytics Platform ofrece un entorno completo para preparar modelos para una implementación de alto rendimiento de este tipo.
El siguiente ejemplo muestra cómo exportar un modelo de Ultralytics YOLO26 a un archivo de motor de TensorRT (.engine) y utilizarlo para la inferencia en tiempo real:
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 frente a ONNX y los frameworks de entrenamiento#
Es importante distinguir TensorRT de otros términos que se oyen habitualmente en el ámbito de la implementación de modelos:
- Frente a PyTorch/TensorFlow: Los frameworks como PyTorch están diseñados principalmente para el entrenamiento de modelos y la investigación, y ofrecen flexibilidad y facilidad de depuración. TensorRT es un motor de inferencia diseñado exclusivamente para ejecutar modelos entrenados a la mayor velocidad posible. No se utiliza para entrenar.
- Frente a ONNX: El formato ONNX, cuyo nombre significa intercambio de redes neuronales abiertas (ONNX), actúa como puente intermediario entre frameworks. Mientras que ONNX proporciona interoperabilidad (por ejemplo, para mover un modelo de PyTorch a otra plataforma), TensorRT se centra en la optimización específica del hardware. A menudo, primero se convierte un modelo a ONNX y después TensorRT lo analiza para generar el motor final.
Para los desarrolladores que quieren maximizar el rendimiento de sus agentes de IA o sistemas de visión, comprender la transición de un framework de entrenamiento a un entorno de ejecución optimizado como TensorRT es un paso clave en unas MLOps profesionales.









