Suche
TensorFlow auf Apache Spark Cluster

Machine Learning meets Big Data: Yahoo stellt TensorFlowOnSpark Open Source

Hartmut Schlosser

(c) Shutterstock / Zally

 

Yahoo hat den Quellcode für TensorFlowOnSpark Open Source zur Verfügung gestellt. Das Projekt verbindet die Machine-Learning-Fähigkeiten von TensorFlow mit der Big-Data-Bearbeitung von Apache Spark.

Googles Machine-Learning-Framework TensorFlow erfreut sich zunehmender Beliebtheit. Auf dem Weg zur Version 1.0 wurden im letzten Jahr u.a. die Unterstützung für verteiltes Deep Learning und für das Hadoop Distributed File System (HDFS) eingebaut. Wer sich allerdings außerhalb der Google-Projekt-Zone bewegte, musste sich selbst um den Aufbau eines expliziten Clusters für TensorFlow-Anwendungen kümmern. Das Deployment von TensorFlow-Programmen auf existierenden Big-Data-Clustern war ohne Weiteres nicht möglich.

Lesen Sie auch: TensorFlow 1.0: Release-Kandidat bringt erstes Java API

Um diesen Mangel zu beheben sind einige Community-Projekte entstanden, darunter SparkNet, mit dem TensorFlow-Netzwerke in Spark Executors gestartet werden können, und TensorFrame für die Manipulation von Spark DataFrames mit TensorFlow-Programmen.

Auch Yahoo hat mit CaffeOnSpark im letzten Jahr ein Projekt quelloffen zur Verfügung gestellt, mit dem sich die Machine-Learning-Möglichkeiten von Caffe mit Apache Spark verbinden. Dasselbe soll das nun Open Source gestellte TensorFlowOnSpark für TensorFlow leisten. TensorFlowOnSpark ermöglicht die verteilte Ausführung von TensorFlow auf Spark und Hadoop Clustern. Dabei ist das Design so gewählt, dass eine Zusammenarbeit mit SparkSQL, MLlib und anderen Spark Libraries in einer einzigen Pipeline möglich ist.

TFoSFigure2

Deep Learning auf Spark Clustern mit TensorFlowOnSpark (Bild: Yahoo)

Unterstützt werden alle Typen von TensorFlow-Programmen, sodass sowohl asynchrone als auch synchrone Trainings und Inferenzierungen möglich sind. Auch Werkzeuge wie TensorBoard können weiterhin auf Spark Cluster eingesetzt werden.

Mehr zum Thema: Spark, Mesos, Akka, Cassandra, Kafka: Aus Big Data werde Fast Data

Wie in der Vorstellung von Yahoo beschrieben, soll eine Umstellung von TensorFlow-Programmen auf TensorFlowOnSpark mit weniger als 10 modifizierten Zeilen von Python-Quellcode möglich sein. Im Gegensatz zu bisherigen Projekten ist eine direkte Tensor-Kommunikation in TensorFlow-Prozessen möglich. Dadurch soll die einfache Skalierung durch das Hinzufügen neuer Maschinen erreicht werden.

Open Source

TensorFlowOnSpark ist unter der Apache 2.0 Lizenz auf GitHub verfügbar. Diverse Beispielprogramme illustrieren die Migration von TensorFlow-Programmen auf TensorFlowOnSpark. Geplant sind die Weiterentwicklungen sowohl des Projektes CaffeOnSpark als auch des Projektes TensorFlowOnSpark, gerne zusammen mit einer aktiven Community.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.