Microsoft Connect() 2018: ONNX-Runtime für Machine Learning wird Open Source

Die Runtime ist eine Inferenzmaschine für Machine-Learning-Modelle, die das ONNX-Format (Open Neural Network Exchange) nutzen.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Microsoft Connect() 2018: Microsoft stellt ONNX-Runtime Open Source
Lesezeit: 2 Min.
Von
  • Alexander Neumann
  • Julia Schmidt

Microsoft hat seine Online-Konferenz Connect() 2018 genutzt, die Open Neural Network Exchange (ONNX) Runtime unter die MIT License quelloffen auf GitHub zur Verfügung zu stellen. Sie fungiert als offenbar leistungsstarke Inferenzmaschine für Machine-Learning-Modelle, die das ONNX-Format nutzen. Builds der Runtime sind zunächst für Python auf CPUs mit Windows, Linux und Mac, GPUs mit Windows und Linux sowie für C# auf CPUs mit Windows verfügbar.

Das ONNX-Format hat Microsoft gemeinsam mit Facebook entwickelt und letztes Jahr im September präsentiert. Mit ihm wollen die beiden Unternehmen eine allgemeine Beschreibung für Berechnungsgraphen bieten, die die zum Teil im Machine Learning eingesetzten neuronale Netze darstellen, da viele Frameworks und Toolkits in dem Umfeld alle mit eigenen Repräsentationen arbeiten. Die Vorteile liegen zum einen darin, dass Entwickler einfacher zwischen Frameworks wechseln können, da sie für unterschiedliche Aufgaben optimiert und während der Forschungsphase nötige Eigenschaften nicht immer auch im Praxiseinsatz relevant sind. Zum anderen können Hardwarehersteller, die Optimierungen für entsprechende Aufgaben umsetzen möchten, durch ein gemeinsames Austauschformat eine breitere Masse ansprechen.


ONNX umfasst die Beschreibung eines erweiterbaren Berechnungsgraphenmodells und definiert eingebaute Operatoren sowie Standarddatentypen, wobei der initiale Fokus auf für Auswertungen nötigen Funktionen lag. Die Datenflussgraphen sind als Knotenliste aufgebaut, die azyklische Graphen bilden. Die Operatoren sind eigenständig implementiert, lassen sich aber wohl über Framework-Grenzen hinweg portieren.

Die Runtime ist außerdem ein Bestandteil von Windows ML, einer API, die es Entwicklern erleichtern soll, KI-Software lokal auf dem Client-PC auszuführen. Des Weiteren wird sie wohl bei Produkten wie Bing Search und Bing Ads sowie bei den Office-Produktuvitäts-Services genutzt. Microsoft empfiehlt bei der Arbeit mit der ONNX Runtime mit TensorFlow, Keras, Scikit-Learn oder CoreML erstellte Modelle, die sich dann mit Konvertern wie OONXML und TF2ONNX umwandeln lassen.

Weitere Informationen zur Open-Source-Legung, aber auch zur Zusammenarbeit mit Unternehmen wie Intel und Nvidia bei ONNX finden sich in der Ankündigung. Ansonsten lohnt sich für Interessierte ein Blick auf die Website von Open Neural Network Exchange oder in das GitHub-Repository der Runtime. (ane)