Glossar

TensorRT

Optimieren Sie Deep-Learning-Modelle mit TensorRT für schnellere und effizientere Inferenzen auf NVIDIA GPUs. Erzielen Sie Echtzeitleistung mit YOLO und KI-Anwendungen.

TensorRT ist ein hochleistungsfähiger Deep Learning (DL) Inferenzoptimierer und eine von NVIDIA entwickelte Laufzeitbibliothek. Sie wurde speziell entwickelt, um den Inferenzdurchsatz zu maximieren und die Inferenzlatenz für Deep-Learning-Anwendungen zu minimieren, die auf NVIDIA-GPUs laufen. 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.

Hauptmerkmale und Optimierungen

TensorRT erreicht signifikante Leistungsverbesserungen durch mehrere ausgeklügelte Techniken:

  • 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.
  • Schichten- und Tensor-Fusion: Kombiniert mehrere Schichten oder Operationen in einem einzigen Kernel(Layer Fusion), wodurch die Nutzung der Speicherbandbreite und der Kernel-Start-Overhead reduziert werden.
  • Kernel-Auto-Tuning: Wählt die besten vorimplementierten Algorithmen (Kernel) für die NVIDIA-GPU-Zielarchitektur aus und gewährleistet so eine optimale Leistung für die jeweilige Hardware.
  • Dynamischer Tensorspeicher: Minimiert den Speicherbedarf durch Wiederverwendung von Speicher, der für Tensoren zugewiesen wurde, deren Lebensdauer sich nicht überschneidet.
  • Multi-Stream-Ausführung: Ermöglicht die parallele Verarbeitung mehrerer Eingabeströme.

Wie TensorRT funktioniert

Der Arbeitsablauf beinhaltet typischerweise die Übernahme eines trainierten Modells (z.B. von PyTorch oder TensorFlow, oft über ein Zwischenformat wie ONNX) und dessen Einspeisung in den TensorRT-Optimierer. TensorRT analysiert das Modell, führt Graphenoptimierungen und zielspezifische Optimierungen basierend auf der spezifizierten Präzision und Ziel-GPU durch und erzeugt schließlich einen optimierten Inferenzplan, der als TensorRT-Engine bekannt ist. Diese Engine-Datei kann dann für schnelle Inferenz eingesetzt werden.

Relevanz für KI und ML

TensorRT ist von großer Bedeutung für die Phase der Modellbereitstellung im Lebenszyklus des maschinellen Lernens. Seine Fähigkeit, die Inferenz signifikant zu beschleunigen, macht es unverzichtbar für Anwendungen, die Inferenz in Echtzeit erfordern, wie z.B. Objekterkennung mit Modellen wie Ultralytics YOLO, Bildsegmentierung und natürliche Sprachverarbeitung. Ultralytics ist neben Tools wie CUDA eine Schlüsselkomponente im NVIDIA-Software-Stack, die es Entwicklern ermöglicht, das volle Potenzial der NVIDIA-Hardware 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-Modelle in das TensorRT-Format zu exportieren, um eine optimierte Bereitstellung zu ermöglichen, die häufig mit Plattformen wie dem Triton Inference Server verwendet wird.

Anwendungen in der realen Welt

TensorRT ist in verschiedenen Branchen weit verbreitet, wo schnelle und effiziente KI-Inferenz benötigt wird:

  1. Autonome Fahrzeuge: In selbstfahrenden Autos(AI in Automotive) optimiert TensorRT Wahrnehmungsmodelle (wie Objekterkennung und Fahrbahnsegmentierung), die auf eingebetteten NVIDIA DRIVE-Plattformen laufen, und gewährleistet so sicherheitsrelevante Entscheidungen in Echtzeit. Modelle wie RTDETR können mit TensorRT für den Einsatz in solchen Systemen optimiert werden(RTDETRv2 vs YOLOv5 Vergleich).
  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 schnellere Diagnosen 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-GPUs konzentriert, gibt es auch andere Werkzeuge im Ökosystem:

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

Das Hauptunterscheidungsmerkmal von TensorRT ist seine tiefe Integration mit NVIDIA-Hardware und seine aggressiven, auf GPUs zugeschnittenen Optimierungsstrategien, die auf NVIDIA-Plattformen im Vergleich zu allgemeineren Laufzeiten oft die höchste Leistung erbringen (siehe MLPerf Benchmarks). Die Verwaltung von Modellen und Bereitstellungen kann mit Plattformen wie Ultralytics HUB rationalisiert werden.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert