Skalierbare Algorithmen

Im Schwerpunkt arbeiten wir an neuen Algorithmen zur effizienten verteilten Berechnung von Lernalgorithmen und deren Umsetzung auf spezialisierter Hardware.

Daten-Analyse und Maschinelles Lernen

Die Forschung im Bereich des Maschinellen Lernens hat in den letzten Jahren sehr große Fortschritte gemacht: Algorithmen sind mittlerweile in der Lage, menschliche Weltmeister im Schach und Go zu schlagen, autonom Fahrzeuge zu fahren oder Konversationen zu führen. Intelligente Systeme werden daher immer mehr zur Schlüsseltechnologie für viele existierende und zukünftige Anwendungen und Produkte. Algorithmen erlangen zunehmend Fähigkeiten, die bis vor kurzem nur von Menschen bewältigt werden konnten.

Diese rasante Entwicklung geht einher mit einer stetig steigenden Komplexität der zugrunde liegenden Modelle. Auf dem Weg zum alltagstauglichen Einsatz vieler bestehender Ansätze Maschinellen Lernens gibt es aber immer noch wesentliche Hürden zu überwinden: Eine davon ist der enorme Bedarf an Rechenleistung des Maschinellen Lernens. So ist derzeit nicht unüblich, dass für einen einzigen Lernvorgang mit aktuellen Methoden (Stichwort Deep Learning) mehrere Tage Rechenzeit erforderlich sind. 

DLPS: Deep Learning in der Cloud
© Foto ITWM

DLPS: Deep Learning in der Cloud

Im Schwerpunkt Daten Analyse und Maschinelles Lernen arbeiten wir u.a. an neuen Algorithmen zur effizienten verteilten Berechnung von Lernalgorithmen und deren Umsetzung auf spezialisierter Hardware. Der Fokus unserer Arbeit liegt dabei auf der Entwicklung skalierbarer Optimierungsalgorithmen für die verteilte Parallelisierung von großen Machine-Learning-Problemen. Grundlage für diese Arbeiten sind dabei die am CC HPC entwickelten HPC-Komponenten, wie z. B. das parallele Filesystem BeeGSFS oder das Programmierframework GPI2.0, welche die effiziente Implementierung neuer Algorithmen wie ASGD (Asynchronous Stochastic Gradient Descent) erst ermöglichen.

DLPS: Deep Learning in der Cloud

Unsere vorkonfigurierten und optimierten Instanzen des Caffe-Systems machen Deep Learning on demand verfügbar. Bereitgestellt werden benutzerdefinierte Datenschichten, die für die gemeinsame BeeGFS-Speicherung von großen Trainingsdaten und Modellen optimiert sind. Mit DLPS präsentieren wir also eine skalierbare und fehlersichere automatische Meta-Parameter-Optimierung für Caffe Deep Learning-Modelle in der Cloud.

Schlüsselelemente sind:

  • Automatisches Starten und Skalieren von Caffe
  • Automatische Meta-Parameter-Suche
  • Optimierte Datenschichten für BeeGFS verteilt auf die Bedarfsspeicherung
     

SGD und ASGD - Skalierbares Deep Learning auf der Basis von HPC-Technologie

Die Implementierungen der meisten Algorithmen im Bereich des Machine Learning lösen im Kern ein numerisches Optimierungsproblem. In diesem Zusammenhang haben sich stochastische Gradientenabstiegs-Methoden (SGD) seit langem bewährt. Sie liefern gute Ergebnisse, sowohl im Hinblick auf die Konvergenz als auch bezüglich der resultierenden Genauigkeit. In jüngster Zeit wurden mehrere Ansätze zur Parallelisierung publiziert, die versuchen, SGD für den Einsatz bei der Lösung sehr großer Machine-Learning-Probleme zu skalieren. Dabei basieren die meisten dieser Ansätze auf dem MapReduce-Schema.

Wir bieten skalierbare Implementierungen von hochmodernen synchronen SDG-Algorithmen für verteilte CPU- und GPU-basierte Trainings von großen Caffe-Modellen auf HPC-Infrastruktur. Mit unserem Asynchronous Stochastic Gradient Descent Optimierungsalgorithmus (ASGD) haben wir einen neuen Algorithmus vorgestellt, der in der Lage ist, SGD effizient auf verteilten Systemen zu parallelisieren. Dabei nutzten wir die Vorteile asynchroner Kommunikation. Im Vergleich mit bestehenden Verfahren bietet ASGD schnellere Konvergenz, bei linearer Skalierbarkeit und stabiler Genauigkeit. Mittels ASGD konnten bereits mehrere Machine-Learning-Algorithmen so implementiert werden, dass sie bis auf weit über tausend Rechenknoten parallel ausgeführt werden konnten.

Unsere Version von Caffe baut auf unseren HPC Core-Technologien auf, d.h.:

  • die asynchrone RDMA basiert in der Kommunikation auf GPI-2
  • automatische Parallelisierung
  • das Daten- und Workflow-Management findet innerhalb von GPI-SPACE statt
  • skalierbare verteilte Dateisysteme können auf Anfrage mit BeeGFS umgesetzt werden.

All unsere HPC-Tools sind Open Source Tools.

Veröffentlichungen

  • Keuper, Janis; Pfreundt, Franz-Josef, Asynchronous Parallel Stochastic Gradient Descent: A Numeric Core for Scalable Distributed Machine Learning Algorithms,Proceedings of the Workshop on Machine Learning in High-Performance Computing Environments; doi.acm.org/10.1145/2834892.2834893, ISBN 978-1-4503-4006-9. Publisher: ACM.
  • Keuper, Janis; Pfreundt, Franz-Josef, Balancing the Communication Load of Asynchronously Parallelized Machine Learning. CoRR, abs/1510.01155.
  • Janis Keuper and Franz-Josef Pfreundt. 2016. Distributed training of deep neural networks: theoretical and practical limits of parallel scalability. In Proceedings of the Workshop on Machine Learning in High Performance Computing Environments (MLHPC '16). IEEE Press, Piscataway, NJ, USA, 19-26. DOI: https://doi.org/10.1109/MLHPC.2016.6.