Glossaire

TensorRT

Optimisez les modèles d'apprentissage profond avec TensorRT pour une inférence plus rapide et efficace sur les GPU NVIDIA. Obtenez des performances en temps réel avec YOLO et les applications d'IA.

TensorRT est un optimiseur d'inférence d'apprentissage profond haute performance et une bibliothèque d'exécution de NVIDIA. Elle est spécialement conçue pour maximiser les performances des réseaux neuronaux formés sur les unités de traitement graphique (GPU) de NVIDIA. Après l'entraînement d'un modèle à l'aide d'un cadre comme PyTorch ou TensorFlow, TensorRT prend ce modèle et applique de nombreuses optimisations pour le préparer au déploiement. Le résultat est un moteur d'exécution très efficace qui peut réduire considérablement la latence de l'inférence et améliorer le débit, ce qui le rend idéal pour les applications nécessitant une inférence en temps réel.

Comment fonctionne TensorRT

TensorRT réalise ses gains de performance grâce à un processus d'optimisation en plusieurs étapes qui transforme un modèle entraîné standard en un moteur d'inférence rationalisé. Ce processus est largement automatisé et adapté à l'architecture GPU NVIDIA spécifique sur laquelle il sera déployé. Les principales techniques d'optimisation sont les suivantes :

  • Optimisation du graphe : TensorRT analyse le modèle formé et effectue des optimisations de graphe, telles que l'élimination des couches inutilisées et la fusion des couches verticalement (combinaison des couches séquentielles) et horizontalement (combinaison des couches parallèles). Cela permet de réduire le nombre d'opérations et l'encombrement mémoire.
  • Étalonnage de la précision : Il prend en charge l'inférence de précision inférieure, telle que la précision mixte (FP16) et INT8. En convertissant les poids des modèles en virgule flottante 32 bits (FP32) vers des précisions inférieures grâce à la quantification des modèles, TensorRT réduit considérablement l'utilisation de la mémoire et les exigences de calcul avec un impact minimal sur la précision.
  • Ajustement automatique du noyau : TensorRT choisit parmi une vaste bibliothèque de noyaux GPU optimisés pour chaque opération ou crée ses propres noyaux spécifiquement adaptés au GPU cible. Cela garantit que chaque calcul est effectué aussi efficacement que possible sur le matériel.
  • Optimisation de la mémoire des tenseurs : Il optimise l'utilisation de la mémoire en réutilisant la mémoire pour les tenseurs tout au long de l'exécution du modèle, réduisant ainsi l'empreinte mémoire et améliorant les performances.

Les modèles YOLO d'Ultralytics peuvent être facilement exportés au format TensorRT, ce qui permet aux développeurs de tirer parti de ces optimisations pour leurs applications de vision artificielle (CV).

Applications dans le monde réel

TensorRT est essentiel pour déployer une IA performante dans des environnements où les ressources sont limitées et où le temps est compté.

  1. Véhicules autonomes: Dans les voitures autonomes, les systèmes de perception doivent traiter les données des caméras et des capteurs en temps réel pour détecter les piétons, les autres véhicules et les obstacles. Des modèles comme Ultralytics YOLO11 optimisé avec TensorRT peuvent effectuer la détection d'objets avec une latence extrêmement faible, ce qui est essentiel pour prendre des décisions de conduite sûres.
  2. Fabrication intelligente: Dans une usine, l'IA est utilisée pour le contrôle automatisé de la qualité. Une caméra capture des images de produits sur un tapis roulant, et un modèle de vision les analyse pour détecter les défauts. En utilisant TensorRT, ces systèmes peuvent suivre le rythme des lignes de production à grande vitesse, en identifiant instantanément les problèmes et en améliorant l'efficacité globale.

TensorRT et les technologies connexes

Bien que TensorRT soit un puissant moteur d'inférence, il est important de comprendre en quoi il diffère des autres outils de l'écosystème de l'IA :

  • Cadres d'apprentissage profond: Les frameworks tels que PyTorch et TensorFlow sont principalement destinés à la formation de modèles. Bien qu'ils disposent de leurs propres capacités d'inférence, ils ne sont pas aussi optimisés pour le déploiement qu'un moteur d'exécution spécialisé comme TensorRT.
  • ONNX Runtime: Le format ONNX (Open Neural Network Exchange) permet de représenter les modèles de manière interopérable. ONNX Runtime peut exécuter des modèles sur diverses plates-formes matérielles, y compris les GPU NVIDIA (où il peut utiliser TensorRT comme fournisseur d'exécution). Cependant, l'intégration directe avec TensorRT permet souvent d'obtenir de meilleures performances sur le matériel NVIDIA grâce à ses optimisations spécifiques au matériel.
  • Intel OpenVINO: OpenVINO est similaire à TensorRT mais est optimisé pour le matériel Intel (CPU, iGPU, VPU). Il sert le même objectif d'accélération de l'inférence mais est adapté à un écosystème matériel différent.

Le principal avantage de TensorRT est son intégration profonde avec l'écosystème NVIDIA, des GPU aux bibliothèques CUDA, ce qui permet d'obtenir des performances inégalées pour les modèles déployés sur les plateformes NVIDIA, comme le montrent souvent les benchmarks MLPerf. La gestion du déploiement des modèles peut être encore plus rationalisée avec des plateformes MLOps comme Ultralytics HUB.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers