Rechenpower für Deep Learning

Deep Learning Ansätze, wie der im Bild gezeigte Algorithmus zur Objektsegmentierung unseres Projektpartners Uni Heidelberg (Kirillov et al.), benötigen einer enorme Rechenleistung. Mit HP-DLF können größere Modelle schneller berechnet werden.

BMBF-Projekt »High Performance Deep Learning Framework«

Im BMBF-Projekt »High Performance Deep Learning Framework« (HP-DLF) wird Wissenschaftlerinnen und Wissenschaftlern sowie  Entwicklerinnen und Entwicklern aus dem Bereich »Deep Learning« ein einfacher Zugang zu existierenden und zukünftigen Hochleistungsrechensystemen ermöglicht.

Wie erkennt ein autonom fahrendes Auto Fußgänger und andere Verkehrsteilnehmer? Wie funktioniert alltagstaugliche Spracherkennung? Wie erkennt die Internet-Suchmaschine Personen auf Fotos? Die Antwort lautet: mit Machine Learning Algorithmen. In den letzten Jahren wurde im Bereich des Maschinellen Lernens erhebliche Vorschritte erzielt. Ein bedeutender Anteil dieser Erfolge ist auf die Weiterentwicklung von sogenannten »Deep Learning« Algorithmen zurückzuführen.

Im Zuge dieser Entwicklung werden heute immer größere und komplexere künstliche Neuronale Netze entworfen und trainiert. Diese für viele praktische Anwendungen erfolgreiche Vorgehensweise erfordert allerdings einen enormen Rechenaufwand und sehr viel Trainingsdaten. Daher hängt die weitere Entwicklung von »Deep Learning« wesentlich an der Entwicklung von Methoden und Infrastrukturen, welche auch zukünftig die Berechenbarkeit immer komplexerer Neuronaler Netze sicherstellen.

Im Rahmen von HP-DLF haben wir das open-source Framework Tarantella entwickelt, das auf hochmodernen Technologien sowohl aus dem Bereich des Deep Learnings als auch aus dem Bereich HPC aufbaut und das skalierbare Training von Deep Neural Networks auf Supercomputern ermöglicht.

Schema HP-DLF
© ITWM
Schema »High Performance Deep Learning Framework«.

Ziele des Projektes

  • Den Einstieg einer neuen, großen Benutzergruppe ins HPC von Anfang an durch innovative Werkzeuge zu unterstützen.
  • Die Komplexität der Hardware vor dem Nutzer zu verbergen und ihn zu einer maximal skalierbaren und energieeffizienten Lösung zu führen.
  • Nicht nur bestehende HPC-Methoden für neue Nutzer zugänglich machen, sondern auch Erkenntnisse über die Systemanforderungen einer zukünftig sehr bedeutenden HPC-Anwendung gewinnen.

Dazu soll ein neues Software-Framework entwickelt werden, welches die hoch komplexe Parallelisierung des Trainings von großen Neuronalen Netzen auf heterogenen Rechenclustern automatisiert.

Ein beispielhaftes Anwendungsgebiet für besonders komplexe Modelle ist die semantische Segmentierung im Bereich der Bildverarbeitung. Dies liegt an ihren hohen Ansprüchen an die Rechenleistung und den Speicher der zum Training verwendeten Hardware. So benötigt beispielsweise die Tumordetektierung mithilfe von dreidimensionalen MRT-Aufnahmen DNN-Modelle von mehreren Dutzend Gigabytes, die zudem ähnlich große Eingabedaten prozessieren.

Üblicherweise werden zum Training Neuronaler Netze einzelne GPUs verwendet. Dies ist jedoch unzureichend um Modelle und Daten für besonders große DNNs zu trainieren. Aus diesem Grund müssen Frameworks für das Training solcher Modelle die Ausführung auf großen, verteilten HPC-Clustern ermöglichen. Die dazu notwendige Parallelisierung basiert allerdings auf der Kommunikation zwischen verschiedenen Rechnern des HPC-Clusters, was zu einer Performance-Reduktion führen kann. Um diesen Nachteil zu umgehen ist die effiziente Implementierung verteilter Trainingsalgorithmen notwendige Vorraussetzung.

Das HP-DLF Projekt adressiert verschiedene Askpekte des verteilten Trainings Neuronaler Netze.

  • Es hat zum Ziel, Deep-Learning-Forschern ein leicht verwendbares, intuitives Interface zum verteilten Training von DNNs zu liefern. Egal ob der Fokus auf Daten-, Modell- oder Pipeline-Parallelismus liegt, soll der Nutzer die Möglichkeit haben, den für ihn passenden Ansatz auszuwählen und auf großen Systemen zu testen.
  • Unser Framework Tarantella soll sich aus flexiblen Komponenten aufbauen, die es ermöglichen, mehrere Strategien zur Verteilung des Neuronalen Netzes zu einem hybriden Ansatz zu kombinieren.
  • Tarantella soll Bausteine für die Entwicklung neuer Verteilungsalgorithmen zum Training Neuronaler Netze bieten. Um dies zu erreichen, werden wir ein erweiterbares Interface für Forscher entwickeln, um mit neuen Optimierungsalgorithmen experimentieren und existierende Optimierer verbessern zu können.
Unser Framework baut auf hochmodernen Technologien sowohl aus dem Bereich des Deep Learnings als auch aus dem Bereich HPC auf:
  • TensorFlow – die meist-verwendete Deep-Learning-Plattform sowohl in Forschung, als auch in der Produktion
  • GPI-2 – eine asynchrone, flexible und skalierbare Kommunikationsbibliothek zur Programmierung paralleler Anwendungen – entwickelt in unserer Abteilung.

Mit Tarantella große Modelle schneller rechnen 

Tarantella bietet durch Parallelisierung starke Skalierbarkeit bei Modellen wie ResNet-50 und Transformer-Netzwerke. Es erreicht Beschleunigungen von bis zu 50x auf GPU- und CPU-Clustern, wie auf den Grafiken zu sehen ist:

ResNet50 on NVidia V100 GPUs
© Fraunhofer ITWM
ResNet50 on NVidia V100 GPUs
ResNet50 on Intel Skylake CPUs
© Fraunhofer ITWM
ResNet50 on Intel Skylake CPUs
Transformer_on_NVidia_V100_GPUs
© Fraunhofer ITWM
Transformer on NVidia V100 GPUs