Das Befüllen einer KI-Anwendung mit den richtigen Daten ist für viele Software-Entwickler eine echte Herausforderung. Aber selbst wenn ihnen das gelingt – entweder auf Basis eigener oder bereits trainierter KI-Modelle – begegnen sie oft einer weiteren Herausforderung: Wie kann ich sicher stellen, dass mein KI-Modell möglichst effizient und stromsparend auf dem zugrunde liegenden Computersystem ausgeführt wird.
Denn jeder Rechner, jedes Endgerät und jede Cloud-Instanz folgt ihren ganz eigenen Regeln und Besonderheiten. Entwickler können sich also nie ganz sicher sein, ob die KI-Applikation mit den vorhandenen Daten auf dem Highend-Server genauso geschmeidig funktioniert wie auf dem Edge-Rechner in der Fabrik oder Lagerhalle.
Das ist spätestens der Zeitpunkt, an dem sich Software-Entwickler fragen sollten, wie sie sich selbst in die Lage versetzen können, für eine bestmögliche Inferenz zu sorgen. Dabei handelt es sich um ein möglichst gutes Zusammenspiel aus KI-Anwendung und den zugrunde liegenden Daten. Doch wie kann das gelingen?
OpenVINO sorgt für optimierte KI-Modelle
Das Zauberwort in diesem Kontext nennt sich OpenVINO (oder ausgeschrieben Open Visual Inference and Neural Network Optimization). Dieses etwas unaussprechliche Wortkonstrukt verrät schon eine ganze Menge über die Idee, die sich hinter OpenVINO befindet. Denn mit diesem von Intel entwickelten Open-Source-Toolkit lassen sich vor allem KI-Anwendungen optimieren, die mittels visueller Daten trainiert werden, und das auf Basis eines neuronalen Netzwerks. Am Ende soll eine KI-App stehen, die auf einer Reihe von Intel-basierten Endgeräten möglichst gut performt.
Hierfür sind im wesentlichen 4 Schritte erforderlich:
(1) Mithilfe des passenden, zur Verfügung stehenden KI-Frameworks werden die infrage kommenden Daten trainiert. Das können KI-Modelle sein, die auf PyTorch, ONNX oder TensorFlow basieren.
(2) Die trainierten Modelle werden mithilfe von OpenVINO in eine Art Zwischendarstellung des KI-Modells überführt. Auf diese Weise entsteht ein an die möglichen Endgeräte angepasstes und optimiertes Modell. Daraus resultieren zwei Dateien im XML- und BIN-Dateiformat.
(3) Beide Dateien werden für ein bestmögliches Inferenzieren, also Ausführen der KI-Anwendung, in Verbindung mit dem zuvor erstellten KI-Modell genutzt. Dieses Modell wird also auf seine Tauglichkeit hinsichtlich der vorhandenen Intel-CPUs, -GPUs -NPUs, FPGAs und Intel GNAs untersucht und optimiert.
(4) Abschließend wird die so optimierte KI-Anwendung in Form von dedizierten Runtimes für die jeweiligen Geräteklassen zur Verfügung und bereit gestellt.
OpenVINO kommt in vielfachen Applikationen zum Einsatz
Der Einsatz von OpenVINO umfasst zahlreiche Beispiele, von denen hier 3 wesentliche genannt werden: Bildverbesserung, Gesichts- und Objekterkennung. Bei der Bildverbesserung korrigiert oder ergänzt OpenVINO mithilfe des sogenannten Image Inpainting beschädigte oder fehlende Bildpunkte (Pixel). Das sorgt für akkuratere Bilddaten, was die Erkennungs- und damit die Inferenzraten deutlich verbessert. Die Bild- bzw. Objekterkennung kommt schon eine ganze Weile zum Einsatz, zum Beispiel beim Entsperren von Smartphones oder beim autonomen Fahren.
Weitere KI-Lexikon-Begriffe
„L“ wie Long Short-Term Memory (LSTM)
„N“ wie Natural Language Processing