Glossar

Inferenzmaschine

Entdecken Sie, wie Inferenz-Engines KI unterstützen, indem sie Echtzeit-Vorhersagen liefern, Modelle optimieren und eine plattformübergreifende Bereitstellung ermöglichen.

Eine Inferenzmaschine ist eine spezialisierte Softwarekomponente, die ein trainiertes maschinelles Lernmodell ausführt, um Vorhersagen aus neuen, ungesehenen Daten zu generieren. Nachdem ein Modell mit einem Framework wie PyTorch oder TensorFlow trainiert wurde, übernimmt die Inferenz-Engine die Aufgabe, es in einer Produktionsumgebung effizient auszuführen. Ihr Hauptziel ist die Optimierung des Modells im Hinblick auf Geschwindigkeit und Ressourcennutzung, so dass Inferenzen in Echtzeit auf verschiedenen Hardwareplattformen möglich sind, von leistungsstarken Cloud-Servern bis zu ressourcenbeschränkten Edge-Geräten.

Die Rolle einer Inferenzmaschine

Die Kernfunktion einer Inferenzmaschine besteht darin, die Lücke zwischen einem trainierten Modell und seiner realen Anwendung zu schließen. Sie führt mehrere wichtige Optimierungen durch, um die Inferenzlatenz zu minimieren und den Durchsatz zu maximieren, ohne die Genauigkeit wesentlich zu beeinträchtigen.

Zu den wichtigsten Optimierungstechniken gehören:

  • Graph-Optimierung: Die Engine analysiert den Berechnungsgraphen des Modells und wendet Optimierungen wie die "Ebenenfusion" an, bei der mehrere sequenzielle Operationen zu einer einzigen zusammengefasst werden, um den Berechnungsaufwand zu verringern.
  • Hardware-spezifische Optimierung: Das Modell wird so kompiliert, dass es auf spezifischer Hardware wie CPUs, GPUs oder speziellen KI-Beschleunigern wie den TPUs von Google läuft. Dazu werden hoch optimierte Rechenkerne verwendet, die auf die Architektur der Hardware zugeschnitten sind.
  • Reduzierung der Genauigkeit: Techniken wie die Modellquantisierung werden eingesetzt, um die Gewichte eines Modells von 32-Bit-Gleitkommazahlen in effizientere 16-Bit- oder 8-Bit-Ganzzahlen umzuwandeln. Dadurch wird die Speichernutzung drastisch reduziert und die Berechnungen werden beschleunigt, was besonders für Edge Computing wichtig ist.
  • Modell-Bereinigung: Eine Inferenzmaschine kann die Ausführung von Modellen erleichtern, bei denen unnötige Gewichte durch Modellbereinigung entfernt wurden, wodurch die Größe des Modells und der Rechenaufwand weiter reduziert werden.

Beliebte Inferenz-Engines

Viele Unternehmen haben leistungsstarke Inferenz-Engines entwickelt, um Deep-Learning-Modelle zu beschleunigen. Zu den beliebten Optionen gehören:

  • NVIDIA TensorRT: Ein hochleistungsfähiger Optimierer und eine Laufzeitumgebung für NVIDIA GPUs, die modernste Inferenzgeschwindigkeiten bietet. Ultralytics bietet eine nahtlose Integration mit TensorRT für den Einsatz von YOLO-Modellen.
  • OpenVINO von Intel: Ein Open-Source-Toolkit zur Optimierung und Bereitstellung von Modellen auf Intel-Hardware, einschließlich CPUs und integrierten GPUs. Ultralytics-Modelle können leicht nach OpenVINO exportiert werden.
  • ONNX-Laufzeit: Eine von Microsoft entwickelte plattformübergreifende Engine, die Modelle im ONNX-Format (Open Neural Network Exchange) auf einer Vielzahl von Hardware ausführen kann.
  • TensorFlow Lite (TFLite): Eine leichtgewichtige Lösung, die speziell für den Einsatz von Modellen auf mobilen und eingebetteten Geräten entwickelt wurde, z. B. auf Android- und iOS-Geräten.
  • Apache TVM: Ein Open-Source-Compiler-Framework für maschinelles Lernen, das Modelle für verschiedene Hardware-Backends optimieren kann.

Anwendungen in der realen Welt

Inferenzmaschinen sind das operative Rückgrat unzähliger KI-Anwendungen.

  1. Bei KI-Lösungen für die Automobilindustrie läuft eine Inferenzmaschine auf dem Bordcomputer eines Fahrzeugs, um Daten von Kameras und Sensoren zu verarbeiten. Sie führt ein Objekterkennungsmodell wie Ultralytics YOLO11 aus, um Fußgänger, Verkehrsschilder und andere Fahrzeuge in Millisekunden zu identifizieren und so wichtige Sicherheitsfunktionen zu ermöglichen.
  2. In der intelligenten Fertigung steuert eine Inferenzmaschine in der Fabrikhalle ein Computer-Vision-System für die Qualitätskontrolle. Es analysiert die Bilder einer Produktionslinie in Echtzeit, um Fehler zu erkennen und sicherzustellen, dass die Produkte die Qualitätsstandards schnell und zuverlässig erfüllen.

Inferenzmaschine vs. Verwandte Konzepte

Es ist hilfreich, eine Inferenzmaschine von anderen verwandten Begriffen in MLOps zu unterscheiden.

  • ML-Framework vs. Inferenz-Engine: Ein Framework für maschinelles Lernen wie PyTorch ist eine umfassende Bibliothek für das Training und den Einsatz von Modellen. Es enthält Tools für den Aufbau neuronaler Netze, die Verwaltung von Datensätzen und die Ausführung von Trainingsschleifen. Eine Inferenz-Engine hingegen ist ein hochspezialisiertes Tool, das sich ausschließlich auf die Einsatzphase konzentriert. Während ein Framework über grundlegende Inferenzfunktionen verfügt, bietet eine spezielle Inferenz-Engine durch aggressive, hardwarespezifische Optimierungen eine höhere Leistung.

  • Model Serving vs. Inference Engine: Model Serving bezieht sich auf die breitere Infrastruktur für die Bereitstellung eines Modells über ein Netzwerk, die Komponenten wie API-Endpunkte, Lastausgleicher und Überwachungswerkzeuge umfasst. Die Inferenzmaschine ist die Kernkomponente innerhalb eines Model-Serving-Systems, die die Vorhersageanfragen ausführt. Sie können verschiedene Optionen für die Modellbereitstellung untersuchen, um zu sehen, wie sich Inferenzmaschinen in das Gesamtbild einfügen. Plattformen wie Ultralytics HUB rationalisieren diesen gesamten Prozess, vom Training bis zur optimierten Bereitstellung.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert