Oracles GraphPipe unterstützt ML-Entwicklung
Oracle geht einen Schritt weiter in Sachen Machine Learning. GraphPipe, ein System zum Übertragen von automatisch gelernten Daten, soll künftig einiges vereinfachen.
In den letzten Jahren gab es große Fortschritte in Sachen maschinelles Lernen. Eine ganze Reihe von freien Frameworks stehen mittlerweile für diese Aufgabe zur Verfügung und funktionierende Modelle können schnell erstellt werden. Dennoch sind stetige Verbesserungen nötig, um zum Beispiel Arbeitsschritte zu erleichtern. Denn das Problem wäre oft, die produzierten Ergebnisse vom Modell zu den Anwendungen zu bringen. In diesem Anwendungsbereich gäbe es kaum vorgefertigte Lösungen und wenn es sie gibt, sind die oft langsam oder auf ein bestimmtes Framework beschränkt. Diverse Nutzer wollen jedoch mehrere Frameworks parallel laufen lassen, damit ein Vergleich zwischen deren Ergebnisse möglich ist. Dabei müssten sie jedoch die Daten von mehreren Frameworks zeitgleich importieren können. Oracle nimmt sich dieser Herausforderung an.
Die Lösung von Oracle: GraphPipe. GraphPipe ist ein Protokoll und eine Sammlung von Software-Komponenten, die das Protokoll implementieren. Das bedeutet, GraphPipe soll einerseits einen Standard für die Tensor-Datenübertragung über ein Netzwerk bieten, andererseits aber auch eine einfache Durchführung für Client und Server ermöglichen. Mithilfe unterschiedlicher Komponenten, die auf die Ergebnisse der spezifischen Frameworks zugreifen und sie im vom GraphPipe-Protokoll definierten Format den Anwendungen bereitstellen, soll es laut Oracle einfacher werden, Modelle für maschinelles Lernen zu entwickeln und zudem auf verschiedenen Frameworks einzusetzen. Außerdem kann GraphPipe mit mit TensorFlow, PyTorch, mxnet, CNTK und caffe2 erstellten Machine-Learning-Modellen umgehen.
Als Grundlage für die Transportspezifikation nutzt GraphPipe die Bibliothek FlatBuffers. FlatBuffers vermeidet laut Oracle das Kopieren des Speichers während des Deserialiesierungsschritts und bietet eine Request-Nachricht, die Eingabe-Tensor, Eingabe- und Ausgabenamen umfasst. Diese kann das GraphPipe-Modell verarbeiten. Derzeit überstützt der GraphPipe-Client die Durchführung für die Programmiersprachen Python, Go und Java.
Mehr Informationen über das gesamte Projekt finden Sie auf GitHub. Die ausführliche Ankündigung von Oracle finden Sie hier.
LG
Sie möchten zukünftig per Newsletter der Informatik Aktuell informiert werden? Hier können Sie sich anmelden.