Deep Learning: Intel gibt nGraph Compiler als Open Source frei

Der Compiler für Deep-Neural-Network-Modelle arbeitet Framework- und plattformübergreifend, sodass sich Entwickler und Data Scientists auf Algorithmen und Modelle konzentrieren können, statt auf Maschinencode.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Deep Learning: Intel gibt seinen nGraph Compiler als Open Source frei
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Ergänzend zur Math Kernel Library for Deep Neural Networks (MKL-DNN) bietet Intel mit dem nGraph Compiler eine weitgehend Framework- und plattformübergreifende Unterstützung für das Training und die Verarbeitung von Deep Neural Networks (DNN). Der Compiler, samt C++ Library und Runtime steht Data Scientists und Entwicklern ab sofort als Open Source unter Apache-2.0-Lizenz zur Verfügung, wie Scott Cyphers von Intels Artificial Intelligence Products Group in einem Blogbeitrag mitteilt.

Das nGraph-Projekt bietet aktuell direkte Anbindung an die Deep-Learning-Frameworks TensorFlow, MXNet und neon. Darüber hinaus können Anwender CNTK, PyTorch und Caffe2 über das Austauschformat ONNX (Open Neural Network Exchange) ansprechen. Über die Hardwareabstraktionsschicht Intermediate Representation stehen als Computing-Plattformen Intels x86- und Xeon-Architektur sowie der Intel Nervana Neural Network Processor zur Verfügung. Auch GPU-Plattformen wie Nvidias cuDNN kann nGraph nutzen – derzeit allerdings noch nicht mit dem vollen Funktionsumfang. Unterstützung für FPGAs und Intels Movidius sowie weitere DL-Frameworks soll folgen.

nGraph: Library, Compiler und Runtime für Deep Learning.

(Bild: Intel)

Entwickler, die ihre Deep-Neural-Network-Modelle mittels nGraph trainieren und verarbeiten wollen, starten mit der Installation der Library und kompilieren nGraph für ihr bevorzugtes DL-Framework. Sobald nGraph als Backend im Framework festgelegt ist, übernehmen Transformer in der Abstraktionsschicht (Intermediate Representation) die Befehlstransformation und -kommunikation mit der darunter liegenden Computing-Plattform, während die DL-Frameworks über spezifische Bridges angebunden sind.

Die Berechnung bildet nGraph Core als Stateless Graph ab, wobei jeder Node einem Berechnungsschritt entspricht. Die Berechnungsschritte korrespondieren mit den Tensor Inputs und Outputs. Intel will die nGraph-Nodes dabei als Bausteine für komplexere Berechnungen in den DL-Frameworks verstanden wissen.

Der nGraph-Library-Code befindet sich derzeit noch in aktiver Entwicklung. Erste Leistungstests mit verschiedenen DL-Frameworks auf Intel-Prozessor-Plattformen deuten aber das Potential des Compilers an. Nähere Informationen dazu finden sich im Blogbeitrag zu nGraph. Einen vollständigen Überblick zu Aufbau und Funktionsweise von nGraph sowie eine Installationsanleitung steht in der Dokumentation und bei GitHub zur Verfügung. (map)