Die Khronos Group hat ihren neuen Interoperabilitätsstandard für neuronale Netze vorgestellt. Das Neural Network Exchange Format (NNEF) ist eine offene, implementierungsunabhängige Methode zur Beschreibung neuronaler Netzwerke, die darauf abzielt, das aktuelle Gewirr von frameworkspezifischen Formaten zu durchbrechen.
Der neue Standard wurde im Dezember 2017 in vorläufiger Form veröffentlicht und ist nach einer Phase der Konsultation mit der Industrie nun in ihrer endgültigen Form ratifiziert und steht zur sofortigen Verwendung zur Verfügung. Neben dem Standard selbst veröffentlicht Khronos gleichzeitig eine Reihe von Open-Source-Tools, damit Entwickler das Format mit den drei beliebtesten Training-Frameworks sofort nutzen können: Tensorflow und Caffe/Caffe 2. Alle diese Werkzeuge sind auf Github im Khronos Repo verfügbar.
NNEF gehört zu einer Gruppe von Standards, die als „Khronos Standards für maschinelles Lernen“ gefördert werden, die anderen sind OpenVX und SYCL.
Zusammen mit anderen Khronos-Standards, darunter Vulkan und OpenCL, die eine Schnittstelle zur Rechenleistung von GPUs bilden, bilden diese drei Standards ein Ökosystem, mit dem ein kompletter Workflow für das Training und den Einsatz neuronaler Netze und der Vision-Anwendungen, die zunehmend von ihnen abhängen, miteinander verknüpft werden kann. SYCL bietet eine Alternative zu CUDA, die systemübergreifend funktioniert, OpenVX ermöglicht es Hardwareanbietern, eine gemeinsame Vision-API in eingebetteten System zu präsentieren, die nicht auf eine übergeordnete betriebssystemspezifische Bereitstellung wie die Android NN API angewiesen ist, und NNEF vereinfacht und standardisiert die Bewegung neuronaler Netzwerke von der Trainingsphase bis zur Bereitstellung auf einer beliebigen Inferenzmaschine.
Khronos bewegt sich schnell, damit diese Standards so nahtlos wie möglich zusammenarbeiten. Während SYCL eine relativ universell einsetzbare Programmiersprache ist, stellt die OpenVX-API naturgemäß eine Reihe von Funktionen zur Verfügung, und ihr Erbe liegt in den Welten des Videostreamings und dessen, was wir heute als „klassische“ Bildverarbeitung bezeichnen. Eine kürzlich fertiggestellte neuronale Netzwerkerweiterung erweitert die Inferenzfähigkeit und AMD zeigte auf dem diesjährigen Embedded Vision Summit eine exemplarische Implementierung eines Caffe-to-OpenVX-Workflows, bei dem NNEF als Übertragungsformat verwendet wurde. Mit NNEF im Flow können auf jedem Framework trainierte Netze verwendet werden, solande sie im NNEF-Format ausgegeben werden können. Khronos hat mit bidirektionalen Übersetzern für Caffe, Caffe 2 und beide Tensorflow-Darstellungen (Python und Protobuf) begonnen.
Wir sind starke Verfechter offener Standards und sehen sie als Grundlage für eine dynamische Branche, die es Wettbewerbsunternehmen ermöglicht, die Technologie gemeinsam voranzutreiben. Diese Ansicht ist jedoch nicht universell, und mehr als ein Unternehmen plädiert für eine schnelle Open-Source-Entwicklung auf der Grundlage proprietärer Initiativen und sagt aus, dass die Geschwindigkeit und Reaktionsfähigkeit von Open-Source-Teams in der sich entwickelnden Welt des maschinellen Lernens erforderlich ist.
Es besteht kein Zweifel, dass Nvidia mit CUDA eine großartige Arbeit geleistet hat, indem sie die Machine Learning Industrie fast im Alleingang mit den Tools zur Beschleunigung des Trainings mit neuronalen Netzwerken ausgestattet ist. Der Nachteil ist, dass CUDA nur auf Nvidia-GPUs läuft und die Branche jetzt größer als ein Unternehmen sein muss, so dass die Entwicklung von SYCL zu begrüßen ist. Die gleiche Überlegung gilt für NNEF, das einen Wettbewerber in ONNX (Open Neural Network eXchange format) hat. ONNX ist ein gültiges Format, aber es befindet sich im Besitz einer kleinen Clique von Unternehmen und die Infrastruktur der Machine Learning Industrie muss offener sein als das.
Die Argumente für Open-Source-Standards sind breiter und viel tiefgreifender als bloße Entwicklungsgeschwindigkeit, aber es ist der Verdienst von Khronos, dass sie die Tendenz erkennen, dass an Standards weitergearbeitet werden muss, während die Außenwelt weitermacht. Ihr starker Drang nach Open-Source-Entwicklung, nicht nur der Tools, die NNEF umgeben, sondern auch des Prozesses, es zu erweitern und alles auf Github zu stellen, wo jeder frei zusammenarbeiten kann, ist eine Meisterleistung.
Diese Standards sind etwas, was die Weiterentwicklung des maschinellen Lernens auch in Zukunft dringend benötigen wird.
Vielen Dank für Ihren Besuch.