© Jirsak/Shutterstock.com
Machine Learning Services mit ONNX und FastAPI

Machine Learning as a Service verbindet


Die Anzahl der Machine und Deep Learning Frameworks ist in den letzten Jahren rapide gestiegen. Von scikit-learn über TensorFlow bis hin zu PyTorch hat jedes dieser Frameworks seine Vor- und Nachteile. ONNX – ein herstellerunabhängiges Austauschformat von Deep-Learning-Modellen – hilft, die Brücke zwischen den Frameworks zu schlagen.

Die Dateiformate, in denen trainierte Modelle persistiert werden, sind häufig proprietär und nur schwer portierbar. Deshalb wurde mit Open Neural Network Exchange ein Standardformat für Modelle entwickelt, das die Nutzung und den Austausch verschiedener Frameworks beim Trainieren von Machine-Learning-Modellen ermöglicht. In Kombination mit dem Web-Framework FastAPI lassen sich damit schnell und mit wenig Aufwand Modelle bereitstellen.

Mit der stetig wachsenden Datenflut wird auch der Einsatz von Machine Learning (ML) und Deep Learning (DL) immer beliebter. Diese selbstlernenden Algorithmen können selbstständig Entscheidungen treffen und damit im besten Fall komplette Regelwerke ablösen. Seitdem die Verfahren auch in Industrie und Wirtschaft angekommen sind, ist die Zahl der Machine und Deep Learning Frameworks stark gestiegen. Egal, ob klassische ML Frameworks wie scikit-learn oder Deep-Learning-Bibliotheken wie TensorFlow und PyTorch: sie alle haben ihre Vor- und Nachteile.

Eines haben jedoch nahezu alle Frameworks gemein: Sie nutzen ihre eigenen Datenformate, um entwickelte Modelle zu persistieren und bereitzustellen. Das schränkt die Portabilität der Modelle zwischen den verschiedenen Frameworks stark ein. Frühe technologische Entscheidungen können oft nur schwer rückgängig gemacht und spezifische Vorteile eines Frameworks nicht voll ausgenutzt werden. Während beispielsweise scikit-learn und PyTorch für ihren einfachen Einstieg in Machine Learning bekannt sind, bietet dagegen das komplexere TensorFlow mit TensorFlow Serving einen produktionsreifen Modelserver, mit dem Modelle als Service bereitgestellt werden können. Die Frameworks zu kombinieren, gestaltet sich jedoch schwierig.

Aus dieser Not heraus ist der Standard Open Neural Network Exchange (ONNX) entstanden. Durch ihn ist es möglich, ein Modell, das mit scikit-learn entwickelt und trainiert wurde, zu exportieren und mit TensorFlow Serving wieder zu laden, um es in Produktion für Anwendungen bereitzustellen.

Graphen, Datentypen und Operatoren

Modelle werden häufig als Berechnungsgraph dargestellt, durch den Informationen in Form von Tensoren fließen. Genau solch ein...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang