Menü
Developer

Oracle stellt Spezifikation für die Machine-Learning-Datenübertragung bereit

Mit GraphPipe hat Oracle eine Spezifikation für die Datenübertragung von Machine-Learning-Modellen ins Spiel gebracht.

Von
vorlesen Drucken Kommentare lesen 2 Beiträge
Oracle stellt Spezifikation für die Machine-Learning-Datenübertragung bereit

(Bild: 947051, PIxabay)

Oracle hat mit GraphPipe eine neue Spezifikation für die Datenübertragung im Machine-Learning-Bereich (ML) bereitgestellt. Dabei handelt es sich um ein Protokoll, mit dem Oracle einige Herausforderungen in diesem Anwendungsbereich in Angriff nehmen will. Zum einen soll es einen Standard für die Tensor-Datenübertragung über ein Netzwerk bieten, zum anderen aber auch eine einfache Implementierung für Client und Server ermöglichen. GraphPipe kann mit TensorFlow, PyTorch, mxnet, CNTK und caffe2 erstellte ML-Modelle handhaben.

GraphPipe nutzt die Bibliothek FlatBuffers als Basis für die Transportspezifikation, die ursprünglich von Google für die Entwicklung von Videospielen und anderen leistungshungrigen Applikationen konzipiert war. Oracle zufolge vermeiden FlatBuffer das Kopieren des Speichers während des Deserialisierungsschritts und bieten eine Request-Nachricht, die Eingabe-Tensor, Eingabe- und Ausgabennamen umfasst. Diese kann das GraphPipe-Modell dann entsprechend verarbeiten. Zurzeit bietet GraphPipe Client-Implementierungen für die Programmiersprachen Go, Python und Java. Außerdem verfügt es über ein TensorFlow-Plug-in, das das Einfügen eines externen Modells in einen lokalen TensorFlow-Graphen erlaubt.

Model Serving mit GraphPipe

(Bild: Oracle)

Oracle veröffentlicht die neue Spezifikation nur wenige Tage, nachdem die Khronos Group Version 1.0 das Neural Network Exchange Format (NNEF) vorgestellt hat. Dieses soll als Austauschformat für trainierte künstliche neuronale Netze dienen. Facebook und Microsoft hatten bereits 2017 das Open Neural Network Exchange (ONNX) Format ins Spiel gebracht. Laut Oracle setzt es allerdings auf eine Standardisierung des Modellf- und nicht des Protokollformats, was zu Schwierigkeiten führen soll, da nicht alle Backend-Modellformate über gleichwertige Abläufe verfügen. Ob Oracles Format allerdings Anklang als Standard findet, bleibt abzuwarten.

Das gesamte Projekt findet sich auf GitHub. Weitere Informationen bietet Oracles Ankündigung. (bbo)