Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Inferenz-Engine

Entdecken Sie, wie eine Inferenz-Engine Machine-Learning-Modelle wie Ultralytics für den Echtzeit-Einsatz optimiert. Informieren Sie sich noch heute über Tipps zur Leistungssteigerung für Edge-KI.

Eine Inferenz-Engine ist eine spezialisierte Softwarekomponente, die dafür entwickelt wurde, trainierte Machine-Learning-Modelle auszuführen und Vorhersagen aus neuen Daten zu generieren. Im Gegensatz zur Trainingsphase, die sich auf das Erlernen von Mustern durch rechenintensive Prozesse wie Backpropagation konzentriert, ist eine Inferenz-Engine streng für die als Modellbereitstellung bekannte Betriebsphase optimiert. Ihr primäres Ziel ist es, Berechnungen so effizient wie möglich durchzuführen, die Inferenzlatenz zu minimieren und den Durchsatz auf der Zielhardware zu maximieren, unabhängig davon, ob es sich um einen skalierbaren Cloud-Server oder ein batteriebetriebenes Edge-AI-Gerät handelt. Durch den Wegfall des für das Training erforderlichen Overheads ermöglichen diese Engines den Einsatz komplexer neuronaler Netze in Echtzeitanwendungen .

Wie Inferenzmaschinen die Leistung optimieren

Der Übergang von einer Trainingsumgebung zu einer Inferenz-Engine umfasst in der Regel mehrere Optimierungsschritte zur Straffung der Modellstruktur. Da das Modell nicht mehr lernen muss, kann die Engine die für Gradientenaktualisierungen erforderlichen Daten verwerfen und so die Modellgewichte effektiv einfrieren. Zu den gängigen Techniken, die von Inferenz-Engines verwendet werden, gehören die Schichtfusion, bei der mehrere Operationen in einem einzigen Schritt kombiniert werden, um den Speicherzugriff zu reduzieren, und die Modellquantisierung, bei der Gewichte von hochpräzisen Gleitkommaformaten in Ganzzahlen mit geringerer Präzision (z. B. INT8) umgewandelt werden.

Diese Optimierungen ermöglichen es fortschrittlichen Architekturen wie Ultralytics , mit unglaublich hoher Geschwindigkeit zu laufen, ohne dass dabei die Genauigkeit wesentlich beeinträchtigt wird. Verschiedene Engines sind oft auf bestimmte Hardware-Ökosysteme zugeschnitten, um maximale Leistung zu erzielen:

  • NVIDIA TensorRTNVIDIA Bietet hochleistungsfähige Inferenz auf NVIDIA GPUs durch die Verwendung hardwarespezifischer Kernel und die Optimierung des Netzwerkgraphen.
  • Intel OpenVINOIntel Optimiert die Deep-Learning-Leistung auf Intel Architekturen, einschließlich CPUs und integrierten Grafikkarten, und ist damit ideal für Edge-Computing geeignet.
  • ONNX : Ein plattformübergreifender Beschleuniger, der Modelle im ONNX und eine Brücke zwischen verschiedenen Frameworks und Hardware-Backends bildet.

Anwendungsfälle in der Praxis

Inferenz-Engines sind die stillen Treiber hinter vielen modernen KI-Anwendungen und ermöglichen es Computersichtsystemen, sofort auf ihre Umgebung zu reagieren.

  1. Autonome Fahrzeuge: In selbstfahrenden Autos müssen Objekterkennungsmodelle Fußgänger, Verkehrszeichen und andere Fahrzeuge in Millisekunden identifizieren. Eine lokal auf der Hardware des Autos laufende Inferenz-Engine stellt sicher, dass diese Verarbeitung mit Echtzeit-Inferenzgeschwindigkeiten erfolgt, da die Verwendung einer Cloud-Verbindung gefährliche Verzögerungen mit sich bringen würde.
  2. Intelligente Fertigung: Fabriken nutzen industrielle IoT-Kameras zur Inspektion von Produkten auf Fertigungsstraßen. Eine Inferenz-Engine verarbeitet Video-Feeds, um Anomalien zu erkennen und Fehler sofort zu melden. Diese Automatisierung reduziert Ausschuss und gewährleistet eine strenge Qualitätskontrolle, ohne die Produktion zu verlangsamen.

Inferenz-Engine vs. Trainings-Framework

Es ist hilfreich, zwischen der Software, die zur Erstellung des Modells verwendet wird, und der Engine, die zu dessen Ausführung verwendet wird, zu unterscheiden. Ein Trainingsframework (wie PyTorch oder TensorFlow) bietet die Werkzeuge zum Entwerfen von Architekturen, zum Berechnen von Verlusten und zum Aktualisieren von Parametern über überwachtes Lernen. Es priorisiert Flexibilität und Debugging-Fähigkeiten.

Im Gegensatz dazu übernimmt die Inferenz-Engine das fertige Artefakt aus dem Trainings-Framework und priorisiert Ausführungsgeschwindigkeit und Speichereffizienz. Zwar kann man die Inferenz auch innerhalb eines Trainings-Frameworks ausführen, doch ist dies selten so effizient wie die Verwendung einer dedizierten Engine, insbesondere für die Bereitstellung auf Mobiltelefonen oder eingebetteten Geräten über Tools wie TensorFlow oder Apple Core ML.

Verwendung einer Inferenz-Engine mit YOLO26

Die ultralytics Das Paket abstrahiert einen Großteil der Komplexität von Inferenz-Engines, sodass Benutzer nahtlos Vorhersagen ausführen können. Im Hintergrund übernimmt es die Vorverarbeitung von Bildern und die Ausführung des Modells. Für Benutzer, die eine Skalierung anstreben, bietet das Ultralytics vereinfacht den Prozess des Trainings und Exportierens von Modellen in optimierte Formate, die mit verschiedenen Inferenz-Engines kompatibel sind.

Das folgende Beispiel zeigt, wie ein vortrainiertes YOLO26-Modell geladen und eine Inferenz für ein Bild durchgeführt wird:

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

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