Horizontales Skalieren Von Deep Learning Frameworks

Abstract

In dieser Arbeit werden generische Deep Learning Frameworks für die Programmiersprache Python auf deren horizontale Skalierbarkeit beim Training von Neuronalen Netzen experimentell evaluiert. Hierzu werden zuerst Kriterien defniert, die dafür von Nutzen sind, um TensorFlow und MXNet für die Evaluation auszuwählen. Um eine möglichst umfangreiche Bewertung zu erreichen, wurde mit jedem der Frameworks sowohl ein Convolutional Neural Network, als auch ein Recurrent Neural Network implementiert. Für die Experimente werden die zwei gängigen Datensätze Fashion-MNIST und PTB verwendet, um den Durchsatz in Batches pro Sekunde zu messen. Die Skalierbarkeit wird mithilfe der Metrik Speedup berechnet. Weiter wird für die Experimente die Kubernetes Engine der Google Cloud Platform genutzt, deren Knoten jeweils mit einer CPU des Typs 2.5 GHz Intel Xeon E5 v2 bestückt sind. Dabei wurde gezeigt, dass die Implementierung von Neuronalen Netzen mit MXNet effizienter ist, TensorFlow jedoch bessere Skalierungseigenschaften aufweisen kann. Trotzdem gelang es TensorFlow lediglich in einem der Experimente einen höheren Durchsatz zu erzielen.

Type
Publication
Karlsruhe University of Applied Sciences
Sebastian Jäger
Sebastian Jäger
PhD Student