TensorRT
Découvre comment TensorRT optimise les modèles de deep learning pour les GPU NVIDIA. Apprends à exporter Ultralytics YOLO26 vers TensorRT pour une inférence rapide et à faible latence dès aujourd’hui.
TensorRT est un kit de développement logiciel (SDK) d’inférence deep learning hautes performances développé par NVIDIA. Il est conçu pour optimiser les modèles de réseaux neuronaux en vue de leur déploiement, en offrant une faible latence d’inférence et un débit élevé pour les applications de deep learning. Agissant comme un compilateur d’optimisation, TensorRT récupère les réseaux entraînés à partir de frameworks populaires comme PyTorch et TensorFlow, puis les restructure pour qu’ils s’exécutent efficacement sur les GPU NVIDIA. Cette capacité est essentielle pour exécuter des modèles d’IA complexes dans des environnements de production où la vitesse et l’efficacité sont primordiales.
Comment TensorRT optimise les modèles#
La fonction principale de TensorRT consiste à convertir un réseau neuronal entraîné en un « moteur » optimisé, spécifiquement adapté au matériel cible. Pour cela, il s’appuie sur plusieurs techniques avancées :
- Fusion des couches : l’optimiseur combine plusieurs couches d’un réseau neuronal en un seul kernel, ce qui réduit la surcharge liée aux accès mémoire et améliore la vitesse d’exécution.
- Calibration de la précision : TensorRT prend en charge les modes de précision réduite, comme la précision mixte (FP16) et la quantification entière (INT8). En réduisant le nombre de bits utilisés pour représenter les nombres — souvent avec une perte de précision minime — les développeurs peuvent accélérer considérablement les opérations mathématiques et réduire l’utilisation de la mémoire. Il s’agit d’une forme de quantification des modèles.
- Auto-optimisation des kernels : le logiciel sélectionne automatiquement les meilleures couches de données et les meilleurs algorithmes pour l’architecture spécifique du GPU utilisé, afin de maximiser l’utilisation des capacités de traitement parallèle du matériel via CUDA.
Applications concrètes#
Grâce à sa capacité à traiter d’immenses volumes de données avec un délai minimal, TensorRT est largement adopté dans les secteurs qui s’appuient sur la vision par ordinateur et sur des tâches d’IA complexes pour lesquelles le respect des délais est essentiel.
-
Systèmes autonomes : dans le domaine de l’IA automobile, les voitures autonomes doivent traiter les flux vidéo de plusieurs caméras afin de détecter instantanément les piétons, les panneaux et les obstacles. Avec TensorRT, les modèles de perception tels que les réseaux de détection d’objets peuvent analyser les images en quelques millisecondes, ce qui permet au système de contrôle du véhicule de prendre sans délai des décisions critiques pour la sécurité.
-
Automatisation industrielle : les usines modernes utilisent l’IA dans la fabrication pour l’inspection optique automatisée. Des caméras haute vitesse capturent des images des produits sur les chaînes d’assemblage, et les modèles optimisés par TensorRT identifient les défauts ou les anomalies en temps réel. Cela garantit que le contrôle qualité suit le rythme des environnements de production à grande vitesse, souvent grâce à un déploiement sur des appareils d’IA en périphérie comme la plateforme NVIDIA Jetson, directement dans l’usine.
Utiliser TensorRT avec Ultralytics YOLO#
L’intégration de TensorRT dans ton workflow est simple avec les outils d’IA modernes. Le package ultralytics fournit une méthode fluide pour convertir les modèles PyTorch standards en moteurs TensorRT. Cela permet aux utilisateurs de tirer parti de l’architecture de pointe d’Ultralytics YOLO26 avec l’accélération matérielle des GPU NVIDIA. Pour les équipes qui souhaitent gérer leurs jeux de données et leurs pipelines d’entraînement avant l’exportation, l’Ultralytics Platform offre un environnement complet pour préparer les modèles à un tel déploiement hautes performances.
L’exemple suivant montre comment exporter un modèle Ultralytics YOLO26 vers un fichier moteur TensorRT (.engine) et l’utiliser pour l’inférence en temps réel :
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. frameworks d’entraînement#
Il est important de distinguer TensorRT des autres termes souvent utilisés dans le domaine du déploiement de modèles :
- Par rapport à PyTorch/TensorFlow : les frameworks comme PyTorch sont principalement conçus pour l’entraînement des modèles et la recherche, en offrant flexibilité et facilité de débogage. TensorRT est un moteur d’inférence conçu uniquement pour exécuter les modèles entraînés aussi rapidement que possible. Il n’est pas utilisé pour l’entraînement.
- Par rapport à ONNX : le format ONNX (échange de réseaux neuronaux ouvert) sert de pont intermédiaire entre les frameworks. Alors qu’ONNX assure l’interopérabilité (par exemple, pour transférer un modèle de PyTorch vers une autre plateforme), TensorRT se concentre sur l’optimisation spécifique au matériel. Souvent, un modèle est d’abord converti au format ONNX, puis analysé par TensorRT afin de générer le moteur final.
Pour les développeurs qui souhaitent maximiser les performances de leurs agents d’IA ou de leurs systèmes de vision, comprendre la transition entre un framework d’entraînement et un runtime optimisé comme TensorRT constitue une étape clé du MLOps professionnel.









