Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Inference Engine

Eine Inferenz-Engine führt trainierte Modelle auf Zielhardware aus und nutzt dafür fusionierte Schichten, geringere Genauigkeit und optimierte Kernel. So funktioniert sie, und das sind die gängigen Engines.

Eine Inferenz-Engine ist eine Software, die ein trainiertes neuronales Netz ausführt, um Vorhersagen für neue Daten zu erstellen. Sie übernimmt ein exportiertes Modell aus einem Trainingsframework, üblicherweise als Berechnungsgraph wie eine ONNX-Datei, optimiert diesen Graphen für einen bestimmten Prozessor und führt ihn mit möglichst geringer Inferenzlatenz und möglichst wenig Arbeitsspeicher aus. Es gibt Engines für jede Hardwareklasse, von GPU-Systemen in Rechenzentren bis hin zu Smartphones und Mikrocontrollern. Bei der Modellbereitstellung ist die Engine die Komponente, die jede Vorhersage berechnet.

Wie Inferenz-Engines Modelle beschleunigen#

Ein bereitgestelltes Modell aktualisiert seine Gewichte nie. Daher kann eine Engine alles weglassen, was das Training benötigt, etwa gespeicherte Aktivierungen für die Rückpropagierung, und den Graphen frei umschreiben. Sie berechnet alle Teile vor, die nur von Konstanten abhängen, fasst Abfolgen von Schichten wie Faltung, Normalisierung und Aktivierung zu einzelnen Kernels zusammen, damit Zwischenergebnisse im schnellen Speicher auf dem Chip bleiben, und plant die Speichernutzung so, dass Puffer wiederverwendet werden. Die numerische Genauigkeit kann durch Modellquantisierung auf FP16 oder INT8 reduziert werden; für INT8 werden die Aktivierungsbereiche anhand von Beispieldaten gemessen. Engines wie TensorRT messen dann auf dem tatsächlichen Gerät die Laufzeit mehrerer Kernel-Kandidaten für jede Schicht und behalten den schnellsten bei. Das Ergebnis ist somit an diese Hardware gebunden:

Das Falten der Batch-Normalisierung in die vorhergehende Faltung ist eine der gängigsten Umschreibungen. Bei der Inferenz skaliert und verschiebt die Normalisierung jeden Kanal nur um feste Werte. Diese Werte lassen sich daher in die Gewichte und den Bias der Faltung einrechnen. PyTorch bietet dieselbe Transformation unter fuse_conv_bn_eval an:

import torch
from torch.nn.utils.fusion import fuse_conv_bn_eval

torch.manual_seed(0)

# A trained convolution followed by batch normalization (random statistics here)
conv = torch.nn.Conv2d(16, 32, kernel_size=3, padding=1).eval()
bn = torch.nn.BatchNorm2d(32).eval()
bn.running_mean.uniform_(-1, 1)
bn.running_var.uniform_(0.5, 2.0)

# Fold the normalization's scale and shift into the convolution's weights and bias
fused = fuse_conv_bn_eval(conv, bn)

# One layer now replaces two and produces the same output
x = torch.randn(1, 16, 64, 64)
with torch.inference_mode():
    diff = (bn(conv(x)) - fused(x)).abs().max().item()
print(f"Max difference after fusing: {diff:.1e}")

Die Ausgabe zeigt eine maximale Abweichung von 2.1e-06, die auf Rundung bei Gleitkommazahlen zurückzuführen ist: Die einzelne zusammengefasste Schicht berechnet dieselbe Funktion wie die beiden ursprünglichen Schichten, benötigt dafür aber nur einen statt zwei Durchläufe durch den Speicher.

Gängige Inferenz-Engines#

  • TensorRT: NVIDIAs Engine für Rechenzentrums-GPUs und Jetson-Module. Sie erstellt einen Ausführungsplan für ein bestimmtes GPU-Modell und eine bestimmte TensorRT-Version. Ändert sich eines von beiden, müssen die Engines neu erstellt werden.
  • OpenVINO: Intels Toolkit für CPUs, integrierte und diskrete GPUs sowie NPUs.
  • ONNX Runtime: Microsofts plattformübergreifende Engine für ONNX-Modelle. Sie übergibt Aufgaben an Hardware-Backends, sogenannte Ausführungsanbieter, darunter CUDA, TensorRT, OpenVINO und Core ML.
  • LiteRT: Googles Laufzeitumgebung, früher TensorFlow Lite, für Android, Embedded Linux und Mikrocontroller, mit Delegaten für mobile GPUs und NPUs.
  • Core ML: Apples Framework für die Ausführung auf dem Gerät, das die Arbeit auf CPU, GPU und Neural Engine verteilt.
  • vLLM: Eine Open-Source-Engine für große Sprachmodelle, die Anfrageplanung und paginierten Speicher für den Attention-Cache ergänzt, damit viele Nutzer gleichzeitig bedient werden können.

Die Ultralytics YOLO API wählt die Engine anhand der geladenen Datei aus. Daher führt derselbe predict-Aufruf einen .pt-Checkpoint mit PyTorch aus, eine .onnx-Datei mit ONNX Runtime, eine .engine-Datei mit TensorRT oder einen OpenVINO-Ordner mit OpenVINO. Der Export von Ultralytics YOLO26 nach OpenVINO und das Laden des Ergebnisses wechseln die Engine, ohne dass anderer Code geändert werden muss:

from ultralytics import YOLO

# Das PyTorch-Modell in das OpenVINO-Format exportieren
model = YOLO("yolo26n.pt")
path = model.export(format="openvino")  # creates 'yolo26n_openvino_model/'

# Beim Laden des exportierten Ordners werden Vorhersagen mit der OpenVINO-Engine ausgeführt
ov_model = YOLO(path)
results = ov_model("https://ultralytics.com/images/bus.jpg")
results[0].save(filename="bus_openvino.jpg")
  • PyTorch und andere Trainingsframeworks: Sie halten den Graphen flexibel und zeichnen Operationen für Gradienten auf, damit Modelle entworfen und trainiert werden können. Sie führen auch Inferenz aus, verursachen dabei aber mehr zusätzlichen Aufwand als eine Engine, die für ein bestimmtes Gerät entwickelt wurde.
  • ONNX: Ein Dateiformat, das den Graphen und die Gewichte eines Modells beschreibt. ONNX Runtime und TensorRT sind Engines, die dieses Format einlesen.
  • Modellbereitstellung: Eine oder mehrere Engines werden als Netzwerkdienst mit API, Anfragenbündelung und Versionsverwaltung eingebunden. Genau das macht NVIDIA Dynamo-Triton, ehemals Triton Inference Server, für TensorRT-, ONNX-Runtime- und PyTorch-Modelle.
  • Inferenz-Engine für Expertensysteme: Die ältere Bedeutung des Begriffs aus der regelbasierten KI. Dabei wendet die Inferenz-Engine Vorwärts- oder Rückwärtsverkettung auf Wenn-dann-Regeln einer Wissensbasis an.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens