TensorRT
Explora cómo TensorRT optimiza los modelos de aprendizaje profundo para las GPU de NVIDIA. Aprende hoy a exportar Ultralytics YOLO26 a TensorRT para una inferencia 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 despliegue, ofreciendo 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 marcos populares como PyTorch y TensorFlow y las reestructura para ejecutarse de manera eficiente en GPUs de NVIDIA. Esta capacidad es crucial para ejecutar modelos complejos de IA en entornos de producción donde la velocidad y la eficiencia son fundamentales.
Cómo optimiza los modelos TensorRT#
La función principal de TensorRT es convertir una red neuronal entrenada en un "motor" optimizado ajustado específicamente para el hardware de destino. Esto lo logra mediante varias técnicas avanzadas:
- Fusión de capas: El optimizador combina múltiples capas de una red neuronal en un solo kernel, lo que reduce la sobrecarga de acceso a la memoria y mejora la velocidad de ejecución.
- Calibración de precisión: TensorRT admite modos de precisión reducida, como precisión mixta (FP16) y cuantización de enteros (INT8). Al reducir el número de bits utilizados para representar números, a menudo con una pérdida mínima de precisión, los desarrolladores pueden acelerar significativamente 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 que se está utilizando, garantizando la máxima utilización de las capacidades de procesamiento paralelo del hardware a través de CUDA.
Aplicaciones en el mundo real#
Debido a su capacidad para procesar cantidades masivas de datos con un retraso mínimo, TensorRT se adopta ampliamente en industrias que dependen de la visión artificial y tareas complejas de IA donde el tiempo es crítico.
-
Sistemas autónomos: En el ámbito de la IA en la automoción, los coches autónomos deben procesar transmisiones de vídeo de múltiples cámaras para detectar peatones, señales y obstáculos al instante. Utilizando 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 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 mantenga el ritmo de los entornos de producción de alta velocidad, desplegándose a menudo en dispositivos de IA en el borde 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 de IA modernas. El paquete ultralytics ofrece un método fluido para convertir modelos estándar de PyTorch en motores de TensorRT. Esto permite a los usuarios aprovechar la arquitectura de vanguardia de Ultralytics YOLO26 con la aceleración por hardware de las GPUs de NVIDIA. Para los equipos que buscan gestionar sus conjuntos de datos y canalizaciones de entrenamiento antes de la exportación, la Plataforma Ultralytics ofrece un entorno completo para preparar modelos para un despliegue de alto rendimiento de este tipo.
El siguiente ejemplo demuestra cómo exportar un modelo de Ultralytics YOLO26 a un archivo de motor TensorRT (.engine) y usarlo para real-time inference:
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 vs. ONNX vs. Marcos de entrenamiento#
Es importante distinguir TensorRT de otros términos que se escuchan a menudo en el panorama del despliegue de modelos:
- Vs. PyTorch/TensorFlow: Marcos como PyTorch están diseñados principalmente para el entrenamiento de modelos y la investigación, ofreciendo flexibilidad y facilidad de depuración. TensorRT es un motor de inferencia diseñado únicamente para ejecutar modelos entrenados lo más rápido posible. No se utiliza para el entrenamiento.
- Frente a ONNX: El formato ONNX (Open Neural Network Exchange) actúa como un puente intermediario entre marcos. Si bien ONNX proporciona interoperabilidad (por ejemplo, mover un modelo de PyTorch a otra plataforma), TensorRT se centra en la optimización específica para el hardware. A menudo, un modelo se convierte primero a ONNX y luego es analizado por TensorRT para generar el motor final.
Para los desarrolladores que buscan maximizar el rendimiento de sus agentes de IA o sistemas de visión, comprender la transición de un marco de entrenamiento a un motor de ejecución optimizado como TensorRT es un paso clave en el MLOps profesional.






