Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Inferenzlatenz

Optimieren Sie die KI-Leistung mit niedriger Inferenzlatenz. Erfahren Sie mehr über Schlüsselfaktoren, reale Anwendungen und Techniken zur Verbesserung von Echtzeitreaktionen.

Die Inferenzlatenz ist die Zeitspanne, die zwischen einem Modell des maschinellen Lernens (ML) eine Eingabe erhält und der Erzeugung einer entsprechenden Ausgabe vergeht. Diese Kennzahl, die normalerweise in Millisekunden (ms) gemessen wird, ist ein entscheidender Faktor für die Reaktionsfähigkeit von Künstliche Intelligenz (KI) Systeme. Für Entwickler und Ingenieure, die an Computer Vision (CV)-Projekten arbeiten, ist die Minimierung der ist die Minimierung der Latenzzeit oft genauso wichtig wie die Maximierung der Genauigkeit, Dies gilt insbesondere für Anwendungen, die mit Menschen oder physischen Maschinen interagieren. Hohe Latenzzeiten führen zu träge Leistung, wohingegen eine niedrige Latenz ein nahtloses Benutzererlebnis schafft und eine sofortige Entscheidungsfindung ermöglicht, ein Konzept, das für moderne intelligente Systeme.

Die Bedeutung einer niedrigen Latenzzeit

Im Bereich der Modellentwicklung bestimmt die Geschwindigkeit die Geschwindigkeit, mit der ein System Daten verarbeitet, über seine Eignung für bestimmte Aufgaben. Niedrige Inferenzlatenz ist der Eckpfeiler der Echtzeit-Inferenz, bei der die Vorhersagen Vorhersagen innerhalb eines strengen Zeitbudgets erfolgen müssen, um verwertbar zu sein. Eine Verzögerung von einigen hundert Millisekunden könnte beispielsweise für ein Empfehlungssystem auf einer Shopping-Website akzeptabel Shopping-Website akzeptabel sein, aber für sicherheitskritische Systeme könnte sie katastrophal sein. Das Verständnis für die spezifischen Latenzanforderungen eines Projekts zu einem frühen Zeitpunkt im Entwicklungszyklus ermöglicht es den Teams, geeignete Modellarchitekturen und Hardwarekonfigurationen auszuwählen, um die Zuverlässigkeit zu gewährleisten.

Schlüsselfaktoren, die die Latenzzeit beeinflussen

Mehrere variable Komponenten tragen zur Gesamtzeit bei, die für einen einzigen Inferenzdurchgang benötigt wird:

  • Modellarchitektur: Der strukturelle Aufbau eines neuronalen Netzes (NN) beeinflusst stark seine Geschwindigkeit. Tiefe Modelle mit vielen Schichten, wie z. B. große Transformatoren, benötigen von Natur aus mehr Rechenleistung als leichtgewichtige Faltungsneuronale Netze (CNNs). Architekturen wie YOLO11 sind optimiert, um ein Gleichgewicht zwischen Tiefe und Geschwindigkeit für eine effiziente Ausführung.
  • Hardware-Beschleunigung: Die Wahl der Verarbeitungseinheit ist von entscheidender Bedeutung. Während eine Standard CPU allgemeine Aufgaben gut bewältigt, ist spezialisierte Hardware wie eine GPU (Graphics Processing Unit) oder eine TPU (Tensor Processing Unit) ist entwickelt, um die für KI-Modelle erforderlichen Matrixoperationen zu parallelisieren und so die Berechnungszeit erheblich zu verkürzen. NVIDIA CUDA Technologie ist ein gängiges Beispiel für Software, die diese diese Beschleunigung ermöglicht.
  • Eingabeauflösung: Die Verarbeitung größerer Bilder oder Videobilder erfordert mehr Rechenressourcen. Eine Verringerung der Eingabegröße (z. B. von 640p auf 320p) kann die Latenzzeit verringern, allerdings möglicherweise auf Kosten der Erkennung kleinen Objekten, ein Kompromiss, der in EfficientNet-Studien untersucht.
  • Modell-Optimierung: Techniken wie die Modellquantisierung - Umwandlung vonGewichten von 32-Bit-Gleitkomma in 8-Bit-Ganzzahlen und Modellbereinigung entfernen überflüssige Berechnungen. Werkzeuge wie ONNX Runtime wurden speziell entwickelt, um die Latenzzeit auf der Zielhardware zu verringern.

Anwendungsfälle in der Praxis

Die praktischen Auswirkungen der Latenzzeit lassen sich am besten anhand konkreter Anwendungsfälle verstehen, bei denen Geschwindigkeit nicht verhandelbar ist.

  1. Autonomes Fahren: In KI in Automobilanwendungen müssen Fahrzeuge ihre Umgebung kontinuierlich wahrnehmen. Ein Objekterkennungssystem, das einen Fußgänger erkennt der die Straße überquert, muss Kamerabilder verarbeiten und Bremssysteme innerhalb von Millisekunden auslösen. Eine zu große Latenzzeit verlängert den Bremsweg und beeinträchtigt unmittelbar die Sicherheit. Die Forschung über Latenzzeiten autonomer Fahrzeuge zeigen, dass selbst geringe Verzögerungen zu gefährlichen Situationen führen können.
  2. Industrielle Robotik: Für AI in der Fertigung, Hochgeschwindigkeits Pick-and-Place-Roboter auf Bildverarbeitungssysteme, um Gegenstände auf einem sich schnell bewegenden Förderband zu lokalisieren. Wenn die Inferenz Latenzzeit die Zeit überschreitet, in der sich das Objekt in Reichweite des Roboters befindet, versagt das System. Die Implementierung von KI-Lösungen stellt sicher, dass die Daten lokal auf dem Gerät verarbeitet auf dem Gerät verarbeitet werden, wodurch Netzwerkverzögerungen, die mit Cloud-Computing verbunden sind.

Inferenzlatenz vs. Durchsatz

Es ist wichtig, zwischen "Latenz" und "Durchsatz" zu unterscheiden, da sie oft in umgekehrtem Verhältnis zueinander stehen Optimierungsziele sind.

  • Die Inferenzlatenz konzentriert sich auf die Zeit, die für eine einzelne Vorhersage benötigt wird. Sie ist die primäre Metrik für interaktive Einzelbenutzeranwendungen wie virtuelle Assistenten oder autonomen Robotern.
  • Der Durchsatz misst, wie viele Vorhersagen ein System in einem bestimmten Zeitraum verarbeiten kann (z. B. Bilder pro Sekunde). Ein hoher Durchsatz wird in der Regel durch Erhöhung der Stapelgröße, die mehrere Eingaben gleichzeitig verarbeitet gleichzeitig verarbeitet. Durch die Stapelverarbeitung erhöht sich jedoch häufig die Latenzzeit für jedes einzelne Element, das in der Warteschlange wartet.

Diese Kompromiss zwischen Latenz und Durchsatz müssen die Entwickler ihre Inferenz-Pipelines auf die spezifischen Anforderungen der Einsatzumgebung abstimmen.

Messung der Latenzzeit mit Ultralytics

Sie können die Leistung der Ultralytics mit dem integrierten Benchmark-Modus bewerten. Dieses Tool liefert detaillierte Metriken zur Inferenzgeschwindigkeit in verschiedenen Formaten wie ONNX oder TorchScript.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Benchmark the model on CPU to measure latency
# Results will display inference time per image in milliseconds
model.benchmark(data="coco8.yaml", imgsz=640, device="cpu")

Optimieren für die Produktion

Um eine möglichst geringe Latenzzeit zu erreichen, verwenden Entwickler oft eine Inferenzmaschine ein, die auf ihre Hardware abgestimmt ist. Für Einsatz eines Modells auf einem NVIDIA Jetson Gerät mit TensorRT kann erhebliche Geschwindigkeitssteigerungen im Vergleich zur Ausführung von rohem PyTorch Code. In ähnlicher Weise kann die Verwendung von Intel OpenVINO kann die Leistung auf CPU beschleunigen. Diese Tools optimieren den Berechnungsgraphen, führen Schichten zusammen und verwalten den Speicher effizienter effizienter als Standard-Trainingsframeworks.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten