Echtzeit-Inferenz bezieht sich auf den Prozess, bei dem ein trainiertes Modell für maschinelles Lernen (ML) sofort Vorhersagen oder Entscheidungen trifft, sobald neue Daten eintreffen. Im Gegensatz zur Batch-Inferenz, bei der Daten in Gruppen verarbeitet werden, die im Laufe der Zeit gesammelt werden, legt die Echtzeit-Inferenz den Schwerpunkt auf geringe Latenzzeiten und sofortige Reaktionen. Diese Fähigkeit ist wichtig für Anwendungen, die sofortiges Feedback oder Maßnahmen auf der Grundlage von Live-Datenströmen erfordern, damit Systeme dynamisch auf veränderte Bedingungen reagieren können.
Verstehen der Echtzeit-Inferenz
In der Praxis bedeutet Echtzeit-Inferenz, dass ein ML-Modell, wie z. B. ein Ultralytics YOLO Modell für Computer Vision, so einzusetzen, dass es einzelne Dateneingaben (z. B. Videobilder oder Sensormesswerte) analysieren und mit minimaler Verzögerung Ergebnisse liefern kann. Die wichtigste Leistungskennzahl ist die Inferenzlatenz, d.h. die Zeit, die vom Erhalt einer Eingabe bis zur Erstellung einer Vorhersage vergeht. Um eine niedrige Latenz zu erreichen, sind oft mehrere Strategien erforderlich:
- Modell-Optimierung: Techniken wie die Modellquantisierung (Verringerung der Genauigkeit der Modellgewichte) und das Modellpruning (Entfernen weniger wichtiger Modellparameter) werden eingesetzt, um kleinere, schnellere Modelle zu erstellen.
- Hardware-Beschleunigung: Der Einsatz von Spezialhardware wie GPUs, TPUs oder speziellen KI-Beschleunigern auf Edge-Geräten (z. B. NVIDIA Jetson, Google Coral Edge TPU) beschleunigt die Berechnungen erheblich.
- Effiziente Software: Mit optimierten Inferenzmaschinen und Laufzeiten wie TensorRT, OpenVINOoder ONNX Runtime hilft, die Leistung auf der Zielhardware zu maximieren. Frameworks wie PyTorch bieten ebenfalls Funktionen, die eine effiziente Inferenz unterstützen.
Inferenz in Echtzeit vs. Batch-Inferenz
Der Hauptunterschied liegt in der Art der Datenverarbeitung und den damit verbundenen Latenzanforderungen:
- Inferenz in Echtzeit: Verarbeitet einzelne Datenpunkte oder kleine Mini-Batches, sobald sie eintreffen. Der Schwerpunkt liegt auf der Minimierung der Latenzzeit für sofortige Ergebnisse. Ideal für interaktive Systeme oder Anwendungen, die auf Live-Ereignisse reagieren.
- Batch Inference: Verarbeitet große Datenmengen, die im Laufe der Zeit anfallen. Der Schwerpunkt liegt auf der Maximierung des Durchsatzes (effiziente Verarbeitung großer Datenmengen) und nicht auf der Minimierung der Latenzzeit für einzelne Vorhersagen. Geeignet für Offline-Analysen, Berichte oder Aufgaben, bei denen es nicht auf sofortige Ergebnisse ankommt, wie in der Übersicht über Batch-Prognosen vonGoogle Cloud erläutert.
Anwendungen der Echtzeit-Inferenz
Echtzeit-Inferenz ist die Grundlage für viele moderne KI-Anwendungen, bei denen eine sofortige Entscheidungsfindung wichtig ist:
- Autonome Systeme: Selbstfahrende Autos sind bei der Objekterkennung (Erkennung von Fußgängern, Fahrzeugen, Hindernissen) und der Navigation stark auf Echtzeit-Inferenz angewiesen, damit das Fahrzeug sofort auf seine Umgebung reagieren kann. Ultralytics Modelle werden häufig bei der Entwicklung von KI für selbstfahrende Autos eingesetzt.
- Sicherheit und Bewachung: KI-gestützte Sicherheitssysteme nutzen Echtzeit-Inferenzverfahren, um Eindringlinge zu erkennen, verdächtige Aktivitäten zu identifizieren oder Menschenmengen in Live-Videobildern zu überwachen, so dass sofortige Warnungen und Reaktionen möglich sind.
- Diagnostik im Gesundheitswesen: In der medizinischen Bildanalyse kann die Echtzeit-Inferenz Ärzte bei Eingriffen unterstützen, indem sie sofortiges Feedback gibt oder Anomalien in Live-Bildern wie Ultraschall hervorhebt, was die Diagnosegenauigkeit verbessern kann.
- Industrielle Automatisierung: Echtzeit-Inferenz ermöglicht eine automatisierte Qualitätskontrolle in der Fertigung, indem sie Fehler an Produktionslinien sofort erkennt oder Roboterarme für präzise Aufgaben anleitet.
Plattformen wie Ultralytics HUB bieten Tools zum Trainieren, Optimieren und Bereitstellen von Modellen und erleichtern so die Implementierung von Echtzeit-Inferenzlösungen für verschiedene Einsatzoptionen.