Inference Engine
Entdecke, wie eine Inferenz-Engine Machine-Learning-Modelle wie Ultralytics YOLO26 für die Echtzeitbereitstellung optimiert. Erfahre mehr über Leistungstipps für Edge-KI.
Eine Inferenz-Engine ist eine spezialisierte Softwarekomponente, die dafür entwickelt wurde, trainierte Machine-Learning-Modelle auszuführen und aus neuen Daten Vorhersagen zu generieren. Im Gegensatz zur Trainingsphase, in der das Lernen von Mustern durch rechenintensive Prozesse wie Backpropagation im Mittelpunkt steht, ist eine Inferenz-Engine strikt auf die als Modellbereitstellung bezeichnete Betriebsphase optimiert. Ihr Hauptziel besteht darin, Berechnungen so effizient wie möglich auszufü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. Indem diese Engines den für das Training erforderlichen Overhead entfernen, ermöglichen sie den Einsatz komplexer neuronaler Netze in Echtzeitanwendungen.
Wie Inferenz-Engines die Leistung optimieren#
Der Übergang von einer Trainingsumgebung zu einer Inferenz-Engine umfasst typischerweise mehrere Optimierungsschritte, um die Struktur des Modells zu vereinfachen. Da das Modell nicht mehr lernen muss, kann die Engine die für Gradientenaktualisierungen benötigten Daten verwerfen und dadurch die Modellgewichte effektiv einfrieren. Zu den gängigen Techniken von Inferenz-Engines gehören die Fusion von Layern, bei der mehrere Operationen zu einem einzigen Schritt kombiniert werden, um Speicherzugriffe zu reduzieren, sowie die Modellquantisierung, bei der Gewichte aus Gleitkommaformaten mit hoher Genauigkeit in Ganzzahlen mit geringerer Genauigkeit (z. B. INT8) umgewandelt werden.
Diese Optimierungen ermöglichen es fortschrittlichen Architekturen wie Ultralytics YOLO26, mit extrem hoher Geschwindigkeit zu laufen, ohne dass es zu einem erheblichen Verlust an Genauigkeit kommt. Verschiedene Engines sind häufig auf bestimmte Hardware-Ökosysteme zugeschnitten, um die maximale Leistung auszuschöpfen:
- NVIDIA TensorRT: Ermöglicht leistungsstarke Inferenz auf NVIDIA-GPUs, indem hardwarespezifische Kernel verwendet und der Netzwerkgraph optimiert werden.
- Intel OpenVINO: Optimiert die Leistung von Deep Learning auf Intel-Architekturen, einschließlich CPUs und integrierter Grafik, und eignet sich dadurch ideal für Edge Computing.
- ONNX Runtime: Ein plattformübergreifender Beschleuniger, der Modelle im ONNX-Format unterstützt und eine Verbindung zwischen verschiedenen Frameworks und Hardware-Backends herstellt.
Anwendungen in der Praxis#
Inferenz-Engines sind die unsichtbaren Antriebskräfte hinter vielen modernen KI-Anwendungen und ermöglichen es Computer-Vision-Systemen, sofort auf ihre Umgebung zu reagieren.
-
Autonome Fahrzeuge: In selbstfahrenden Autos müssen Modelle zur Objekterkennung Fußgänger, Verkehrsschilder und andere Fahrzeuge innerhalb von Millisekunden identifizieren. Eine lokal auf der Hardware des Autos ausgeführte Inferenz-Engine stellt sicher, dass diese Verarbeitung mit der Geschwindigkeit einer Echtzeitinferenz erfolgt, da eine Abhängigkeit von einer Cloud-Verbindung gefährliche Verzögerungen verursachen würde.
-
Intelligente Fertigung: Fabriken nutzen Kameras für das industrielle IoT, um Produkte an Fließbändern zu prüfen. Eine Inferenz-Engine verarbeitet Videostreams zur Anomalieerkennung und markiert Fehler sofort. Diese Automatisierung reduziert den Ausschuss und gewährleistet eine strenge Qualitätskontrolle, ohne die Produktion zu verlangsamen.
Inferenz-Engine im Vergleich zum Trainings-Framework#
Es ist hilfreich, zwischen der Software zur Erstellung des Modells und der Engine zu unterscheiden, mit der es ausgeführt wird. Ein Framework für das Training (wie PyTorch oder TensorFlow) stellt Werkzeuge zum Entwerfen von Architekturen, Berechnen des Loss und Aktualisieren von Parametern mithilfe von überwachtem Lernen bereit. Es legt den Schwerpunkt auf Flexibilität und Debugging-Möglichkeiten.
Im Gegensatz dazu übernimmt die Inferenz-Engine das fertige Artefakt aus dem Trainings-Framework und legt den Schwerpunkt auf Ausführungsgeschwindigkeit und Speichereffizienz. Zwar kannst du die Inferenz innerhalb eines Trainings-Frameworks ausführen, doch ist sie nur selten so effizient wie mit einer dedizierten Engine, insbesondere bei der Bereitstellung auf Mobiltelefonen oder eingebetteten Geräten mithilfe von Tools wie TensorFlow Lite oder Apple Core ML.
Eine Inferenz-Engine mit Ultralytics YOLO26 verwenden#
Das Paket ultralytics abstrahiert einen Großteil der Komplexität von Inferenz-Engines, sodass du nahtlos Vorhersagen ausführen kannst. Im Hintergrund übernimmt es die Vorverarbeitung der Bilder und die Ausführung des Modells. Für Nutzer, die skalieren möchten, vereinfacht die Ultralytics Platform das Training und den Export von Modellen in optimierte Formate, die mit verschiedenen Inferenz-Engines kompatibel sind.
Das folgende Beispiel zeigt, wie du ein vortrainiertes YOLO26-Modell lädst und eine Inferenz auf einem Bild ausführst:
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()








