Menü
Developer

Intel veröffentlicht Deep-Learning-Bibliothek für Apache Spark

BigDL ist eine Bibliothek, die Deep-Learning-Szenaren in Verbindung mit dem Apache-Framework für verteilte Berechnungen auf Rechnerclustern deutlich beschleunigen soll.

vorlesen Drucken Kommentare lesen 1 Beitrag

Intel hat mit BigDL eine für Apache Spark gedachte verteilte Deep-Learning-Bibliothek als Open-Source-Software auf GitHub zur Verfügung gestellt. Sie ist dafür vorgesehen, spezielle Deep-Learning-Algorithmen auf Apache-Spark-Clustern verwenden zu können und das Laden der Daten von auf Hadoop gespeicherten Datensätzen zu vereinfachen.

In auf Intels Xeon-Servern durchgeführten Tests soll der Einsatz von BigDL zu einer signifikanten Beschleunigung im Vergleich zu Deep-Learning-Frameworks wie Caffe, Torch oder TensorFlow geführt haben. Es ist von einer Geschwindigkeit die Rede, die ansonsten wohl nur über Standard-GPUs zu erreichen wäre. Darüber hinaus ist BigDL in der Lage, auf bis zu zehn Xeon-Servern zu skalieren.

Die BigDL-Bibliothek ist mit den Spark-Versionen 1.5, 1.6 und 2.0 einzusetzen und ermöglicht es, Deep-Learning-Fähigkeiten auch in bestehenden Spark-basierten Anwendungen einzubetten. Sie enthält Methoden zur Umwandlung von Spark RDDs (Resilient Distributed Dataset) in eigene Datasets und lässt sich direkt mit Spark ML Pipelines verwenden.

Für das Trainieren der Modelle nutzt BigDL einen synchronen Mini-Batch-SGD (Stochastic Gradient Descent), der bei jedem einzelnen Spark-Task über mehrere Exekutoren ausgeführt wird. Jeder Executor besitzt darüber hinaus eine Multithread-Engine und verarbeitet einen Teil der Mikro-Batch-Daten. In der aktuellen Version werden alle Trainings- und Validierungsdaten in den Speicher geladen.

BigDL ist in Scala implementiert und orientiert sich von der Architektur her an Torch. Wie diese Bibliothek enthält es eine Tensor-Klasse, die im Fall von BigDL Intels Math Kernel Library (MKL) für die Berechnungen verwendet. Andere von Torch geliehene Konzepte sind die Interfaces Table, Criterion und Module, die einzelne neuronale Netzwerkebenen repräsentieren. (ane)