Glossar

TensorRT

Optimiere Deep-Learning-Modelle mit TensorRT für schnellere, effiziente Inferenzen auf NVIDIA GPUs. Erreiche Echtzeitleistung mit YOLO und KI-Anwendungen.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

TensorRT ist ein hochleistungsfähiger Deep Learning (DL) Inferenzoptimierer und eine Laufzeitbibliothek, die von NVIDIA. Sie wurde speziell entwickelt, um den Inferenzdurchsatz zu maximieren und die Inferenzlatenz für Deep Learning-Anwendungen auf NVIDIA zu minimieren. TensorRT nimmt trainierte neuronale Netzwerkmodelle aus verschiedenen Frameworks und wendet zahlreiche Optimierungen an, um eine hoch optimierte Laufzeit-Engine für den Einsatz zu erzeugen. Dieser Prozess ist entscheidend für den effizienten Einsatz von Modellen in Produktionsumgebungen, insbesondere wenn Geschwindigkeit und Reaktionsfähigkeit entscheidend sind.

Wichtige Funktionen und Optimierungen

TensorRT erreicht durch mehrere ausgeklügelte Techniken erhebliche Leistungssteigerungen:

  • Präzisionskalibrierung: Reduziert die Modellgenauigkeit von FP32 auf niedrigere Genauigkeiten wie FP16 oder INT8(gemischte Genauigkeit oder Modellquantisierung) mit minimalem Genauigkeitsverlust, was zu schnelleren Berechnungen und geringerem Speicherbedarf führt.
  • Layer und Tensor Fusion: Kombiniert mehrere Schichten oder Operationen in einem einzigen Kernel(Layer Fusion) und reduziert so die Nutzung der Speicherbandbreite und den Overhead beim Start des Kernels.
  • Kernel Auto-Tuning: Wählt die besten vorimplementierten Algorithmen (Kernel) für das Ziel aus NVIDIA GPU Architektur aus, um eine optimale Leistung für die jeweilige Hardware zu gewährleisten.
  • Dynamischer Tensor : Minimiert den Speicherbedarf durch die Wiederverwendung von Speicher für Tensoren, deren Lebensdauer sich nicht überschneidet.
  • Multi-Stream-Ausführung: Ermöglicht die parallele Verarbeitung mehrerer Eingangsströme.

Wie TensorRT funktioniert

Der Arbeitsablauf umfasst in der Regel die Übernahme eines trainierten Modells (z. B. aus PyTorch oder TensorFlow, oft über ein Zwischenformat wie ONNX) und füttert es mit dem TensorRT . TensorRT analysiert das Modell, führt Graph-Optimierungen und zielspezifische Optimierungen auf der Grundlage der angegebenen Präzision und GPU durch und erzeugt schließlich einen optimierten Inferenzplan, der als TensorRT bezeichnet wird. Diese Engine-Datei kann dann für eine schnelle Inferenz eingesetzt werden.

Relevanz in KI und ML

TensorRT ist für die Phase der Modellbereitstellung im Lebenszyklus des maschinellen Lernens von großer Bedeutung. Seine Fähigkeit, die Inferenz erheblich zu beschleunigen, macht es unverzichtbar für Anwendungen, die Inferenz in Echtzeit erfordern, wie z.B. die Objekterkennung mit Modellen wie Ultralytics YOLO, die Bildsegmentierung und die Verarbeitung natürlicher Sprache. Sie ist eine Schlüsselkomponente im NVIDIA Software Stack, neben Tools wie CUDAund ermöglicht es Entwicklern, das volle Potenzial der NVIDIA zu nutzen, von leistungsstarken Rechenzentrums-GPUs bis hin zu energieeffizienten NVIDIA Jetson-Modulen für Edge AI. Ultralytics bietet eine nahtlose Integration, die es den Nutzern ermöglicht, YOLO in das TensorRT zu exportieren, um sie optimal einzusetzen, was häufig mit Plattformen wie dem Triton Inference Server geschieht.

Anwendungen in der realen Welt

TensorRT wird in vielen Branchen eingesetzt, in denen schnelle und effiziente KI-Inferenzen benötigt werden:

  1. Autonome Fahrzeuge: In selbstfahrenden Autos(AI in Automotive) optimiert TensorRT Wahrnehmungsmodelle (wie Objekterkennung und Fahrspursegmentierung), die auf eingebetteten NVIDIA DRIVE Plattformen laufen, und sorgt so für sicherheitsrelevante Entscheidungen in Echtzeit. Modelle wie RTDETR können mit TensorRT für den Einsatz in solchen Systemen optimiert werden(Vergleich RTDETRv2 vs. YOLOv5 ).
  2. Medizinische Bildanalyse: Krankenhäuser und Forschungseinrichtungen nutzen TensorRT , um die Inferenz von KI-Modellen zu beschleunigen, die medizinische Scans (CT, MRT) für Aufgaben wie die Tumorerkennung oder die Identifizierung von Anomalien analysieren(KI im Gesundheitswesen), was eine schnellere Diagnose ermöglicht und klinische Arbeitsabläufe unterstützt. Dies ist oft Teil größerer Computer Vision (CV) Systeme.

TensorRT vs. Verwandte Technologien

Während sich TensorRT auf die Optimierung von Inferenzen speziell für NVIDIA konzentriert, gibt es auch andere Tools im Ökosystem:

  • Deep Learning Frameworks (PyTorch, TensorFlow): Diese werden hauptsächlich zum Trainieren von Modellen verwendet, bieten aber auch grundlegende Inferenzfunktionen. TensorRT optimiert die in diesen Frameworks trainierten Modelle für den Einsatz.
  • ONNX Runtime: Eine plattformübergreifende Inferenz-Engine, die mehrere Hardware-Beschleuniger unterstützt, darunter NVIDIA GPUs (die oft TensorRT als Ausführungsprovider nutzen), CPUs und andere. Sie bietet eine breitere Hardwarekompatibilität, erreicht aber auf NVIDIA möglicherweise nicht das gleiche Maß an Optimierung wie TensorRT direkt.
  • Intel OpenVINO: Ähnlich wie TensorRT , aber optimiert für Intel Hardware (CPUs, iGPUs, VPUs). Ultralytics können auch in das OpenVINO exportiert werden.

Das Hauptunterscheidungsmerkmal von TensorRT ist die tiefe Integration mit NVIDIA und die aggressiven, auf GPUs zugeschnittenen Optimierungsstrategien, die auf NVIDIA im Vergleich zu allgemeineren Runtimes oft die höchste Leistung erbringen (siehe MLPerf Benchmarks). Mit Plattformen wie Ultralytics HUB kann die Verwaltung von Modellen und Einsätzen vereinfacht werden.

Alles lesen