Künstliche Intelligenz für Ihr Business


// Experten verraten Ihnen aus erster Hand wie auch Ihr Unternehmen von Künstlicher Intelligenz profitiert.

Offener Standard für AI

So flexibel lassen sich ML-Modelle mit ONNX trainieren und einsetzen

13.01.2019
Offene Standards wie ONNX gewinnen für Schlüsseltechnologien wie AI immer mehr an Bedeutung. Sie ermöglichen es, plattformübergreifend Anwendungen zu entwickeln und zur Verfügung zu stellen.

Noch vor wenigen Jahren hatten AI-Entwickler nur eine Handvoll Werkzeuge zur Verfügung wie Torch, Theano und Caffe. Inzwischen hat sich die Situation grundlegend verändert. Große Technologieunternehmen haben die AI-Entwicklung mit Open-Source Tools und der aktiven Unterstützung verschiedener AI Frameworks vorangetrieben. Dazu gehören Amazon Web Services mit Apache MXNet, Facebook mit Caffe2 und PyTorch, Google mit TensorFlow und Microsoft mit dem Cognitive Toolkit.

Die gute Nachricht dabei ist: Keiner der Big Player treibt Closed-Source-Lösungen voran, alle Lösungen sind lupenreine Open-Source-Software. Während die Offenheit und wachsende Zahl der Tools äußerst positive Aspekte sind, hat die Vielfalt allerdings auch Schattenseiten. Denn jedes Framework hat das Potenzial, eine Insel für sich selbst zu sein - ohne Interoperabilität nach außen. Aber mangelnde Interoperabilität erfordert viel individuelle Integrationsarbeit für jedes mögliche Framework, und eine Neuimplementierung von Modellen auf anderen Frameworks ist in der Regel aufwändig und kann die Entwicklung um Wochen oder Monate verzögern.

"Die Zielrichtung von ONNX ist es, den Austausch noch stärker zu machen und zu verhindern, dass man in einzelnen Ökosystemen gefangen ist", Jürgen Wirtgen, Data & AI Lead, Microsoft Deutschland
"Die Zielrichtung von ONNX ist es, den Austausch noch stärker zu machen und zu verhindern, dass man in einzelnen Ökosystemen gefangen ist", Jürgen Wirtgen, Data & AI Lead, Microsoft Deutschland
Foto: Jirsak - shutterstock.com

Dabei ist eine breite Vielfalt von Frameworks durchaus wichtig und sinnvoll. Durch den gleichzeitigen Einsatz mehrerer KI-Frameworks für ein Projekt lassen sich gezielt die jeweils vorhandenen Stärken bei der Modellierung nutzen. Dies ermöglicht beispielsweise ein schnelleres Training der Systeme und macht diese leichter auf ver­schiedenen Rechnerarchitekturen ausführbar. Besonders gut für die Entwicklung geeignete Frameworks sind beispielsweise oft weniger gut zur Ausführung eines AI-Systems nutzbar, was die Arbeit an diesen deutlich erschwert. Diese führt oft dazu, dass Entwickler die Modelle aufwändig konvertieren müssen.

Mit ONNX AI-Modelle problemlos austauschen

ONNX verspricht dieses Dilemma zu lösen. Das Open Neural Network Exchange (ONNX) ist ein offener Standard für die Darstellung von Machine-Learning-Modellen. Mit ONNX können Entwickler Modelle zwischen verschiedenen Frameworks austauschen und die für sie beste Kombination dieser Tools wählen.

"Die Zielrichtung von ONNX ist es, den Austausch noch stärker zu machen und zu verhindern, dass man in einzelnen Ökosystemen gefangen ist", sagt Jürgen Wirtgen, Data & AI Lead bei Microsoft Deutschland. Schließlich ist die AI-Community generell stark forschungsgetrieben und ein Lock-In in einzelnen Frameworks würde den Austausch und den Fortschritt immens behindern.

ONNX ermöglicht es, Modelle in einem Framework zu trainieren und danach zur Gesichtserkennung, Erkennung von Gesten oder Objekten auf ein anderes Framework zu übertragen. Hierdurch können Entwickler die jeweils passende Kombination von Werkzeugen einsetzen. "Wir haben zum Beispiel eine ONNX-Runtime-Umgebung innerhalb von Azure", sagt Wirtgen. "Sie können also ein ONNX-Modell direkt in diese Runtime-Umgebung einbetten und anschließend ablaufen lassen."

Von ONNX profitieren alle: Datenanalysten können mit ihrem bevorzugten Framework arbeiten. Gleichermaßen verbringen Entwickler weniger Zeit damit, Modelle für die Produktionsumgebung vorzubereiten oder diese in der Cloud und Edge-übergreifend bereitzustellen. Die durch ONNX erreichte Interoperabilität ermöglicht es, Ideen schneller in die Produktionsumgebung zu übernehmen - die Entwicklung wird insgesamt agiler.

Ein ganzes Ökosystem an Tools

ONNX wird von einer Community von Partnern unterstützt, die kompatible Frameworks und Tools erstellen. Zu den unterstützten Frameworks gehören Caffe2, Microsoft Cognitive Toolkit, TensorFlow, SciKit-Learn, MXNet, PyTorch und OpenCV, außerdem gibt es Schnittstellen für viele andere gängige Frameworks und Bibliotheken.

Darüber hinaus gibt es ein ganzes Ökosystem an Tools zur Visualisierung und Beschleunigung von ONNX-Modellen. Für gängige Szenarios stehen ebenfalls eine Reihe von vorab trainierten ONNX-Modellen zur Verfügung.

Mit Azure Machine Learning und ONNX Runtime können ONNX-Modelle in der Cloud bereitgestellt werden. Zudem lassen sich die Modelle auf Windows 10-Geräten mit Windows ML einsetzen. Selbst auf Nicht-ONNX Plattformen können die Modelle weiterverarbeitet werden, wen man einen der Konverter nutzt, die über die ONNX-Community verfügbar sind.

Zur Startseite