Glossaire

TensorRT

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

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

TensorRT est un optimiseur d'inférence d'apprentissage profond haute performance et une bibliothèque d'exécution développée par. NVIDIA. Il accélère les modèles d'apprentissage profond sur lesunités de traitement graphique (GPU) NVIDIA en appliquant diverses techniques d'optimisation. L'objectif principal de TensorRT est d'obtenir la latence d'inférence la plus faible possible et le débit le plus élevé pour les modèles déployés dans des environnements de production, ce qui le rend crucial pour les applications d'inférence en temps réel.

Comment fonctionne TensorRT

TensorRT prend un réseau neuronal entraîné, souvent exporté à partir de frameworks tels que PyTorch ou TensorFlowet l'optimise spécifiquement pour leGPU NVIDIA cible. Les principales étapes d'optimisation sont les suivantes :

  • Optimisation du graphique : Fusionner les couches et éliminer les opérations redondantes pour créer un graphique de calcul plus efficace.
  • Étalonnage de la précision : Réduction de la précision numérique des poids du modèle (par exemple, de FP32 à FP16 ou INT8) avec un impact minimal sur la précision, ce qui accélère considérablement les calculs et réduit l'utilisation de la mémoire.
  • Auto-réglage du noyau : Sélection des meilleurs algorithmes pré-implémentés (noyaux) à partir des bibliothèques de NVIDIA(cuDNN, cuBLAS) pour les couches de modèle spécifiques et le GPU cible.
  • Mémoire Tensor dynamique : Minimiser l'empreinte mémoire en réutilisant la mémoire allouée aux tenseurs.

Ces optimisations permettent d'obtenir un moteur d'inférence d' exécution très efficace, adapté au modèle et au matériel spécifiques.

Pertinence pour Ultralytics

TensorRT est une cible de déploiement clé pour les modèlesYOLO d'Ultralytics . Les utilisateurs peuvent exporter leurs modèles Ultralytics YOLO formés au format TensorRT pour obtenir des accélérations significatives sur le matériel NVIDIA , y compris les appareils de pointe comme NVIDIA Jetson. Cela permet des applications très performantes dans divers domaines. Les pages de comparaison de modèles, telles que la comparaisonYOLOv5 vs RT-DETR , présentent souvent les vitesses d'inférence obtenues grâce à l'optimisation TensorRT . Ultralytics fournit également des guides pour l'intégration avec les plateformes NVIDIA , comme le guide DeepStream sur NVIDIA Jetson.

Applications dans le monde réel

TensorRT est largement utilisé lorsque l'inférence rapide et efficace sur le matériel NVIDIA est essentielle :

  1. Véhicules autonomes : Les voitures autonomes reposent sur le traitement de vastes quantités de données de capteurs en temps réel. TensorRT accélère les modèles de détection d'objets, de segmentation et de planification de trajectoire, permettant une prise de décision rapide essentielle à la sécurité. Il s'agit d'une composante essentielle de l'IA dans les solutions automobiles.
  2. L'analyse vidéo et les villes intelligentes : Le traitement de plusieurs flux vidéo haute résolution pour des tâches telles que la surveillance du trafic, l'analyse des foules ou la surveillance de la sécurité nécessite une immense puissance de calcul. TensorRT optimise les modèles tels que Ultralytics YOLOv8 pour traiter efficacement ces charges de travail exigeantes sur des serveurs ou des appareils périphériques, alimentant ainsi les solutions d'IA pour les villes intelligentes.

TensorRT vs. termes similaires

  • ONNX (Open Neural Network Exchange): ONNX est un format ouvert pour représenter les modèles d'apprentissage profond. Alors que TensorRT peut importer des modèles à partir du format ONNX , ONNX lui-même est agnostique en termes de matériel, alors que TensorRT est spécifiquement un optimiseur et un moteur d'exécution pour les GPU NVIDIA . Les modèles Ultralytics peuvent être exportés vers ONNX.
  • OpenVINO: Similaire à TensorRT, OpenVINO est une boîte à outils d'optimisation de l'inférence, mais elle est développée par Intel et cible principalement le matériel Intel (CPU, iGPU, VPU). En savoir plus sur l'intégration d'Ultralytics OpenVINO .
  • PyTorch / TensorFlow: ce sont des frameworks d'apprentissage profond utilisés principalement pour la formation des modèles. TensorRT optimise les modèles après qu' ils ont été formés à l'aide de ces frameworks, les préparant ainsi à un déploiement efficace des modèles.
Tout lire