Softwarekonferenz für parallele
und hochperformante Programmierung
Heidelberg, Print Media Academy, 19.-21.Februar, 2019

// Eine Einführung in die Parallelisierung und Optimierung Tiefer Neuronaler Netze

Tiefe Neuronale Netze (engl.: Deep Neural Networks - DNNs) erleben dank großer Datenmengen und leistungsfähiger Hardware seit fast zehn Jahren ein Revival. Sie sind heute in vielen Bereichen im Einsatz oder vielversprechende Kandidaten für zukünftige Entwicklungen. Dabei haben sie sich auch jenseits der reinen Bild- oder Signalverarbeitung behauptet und gelten auch in traditionellen Domänen wie dem High Performance Computing (HPC) als aussichtsreiche Technologien.

Wir geben eine Einführung in die Funktionsweise der DNNs und deren Training im Hinblick auf die verschiedenen Parallelisierungsansätze, wie Daten-, Modell- und Hybrid-Parallelisierung. Da das Training von DNNs ein zeitintensiver Prozess ist, beschäftigen wir uns auch mit der Skalierung über mehrere Rechenknoten und -beschleuniger (wie GPUs) hinweg. Wir zeigen diese Parallelisierungen anhand der bekanntesten und am meisten eingesetzten Frameworks, wie TensorFlow, Caffe und PyTorch.

Die Inferenz, also die Verwendung eines eingelernten DNNs, stellt andere Anforderungen an die Ausführung als das Training. Wir gehen daher auch auf Optimierungen für die Inferenz ein, die mittels Nvidia TensorRT oder Intel Deep Learning Deployment Toolkit (OpenVino) möglich sind. Wir berücksichtigen eine breite Palette verschiedener Zielarchitekturen wie CPUs, GPUs, FPGAs, VPUs etc.

Vorkenntnisse
* Der Vortrag richtet sich an angehende Entwickler und Anwender von DNNs.
* Grundkenntnisse in Python sind hilfreich.

Lernziele
* Entwickler erfahren State-of-the-art-Ansätze zur Parallelisierung des Trainings Tiefer Neuronaler Netze.
* Anwender finden in den Optimierungswerkzeugen von Nvidia und Intel Hilfestellung zum Vorbereiten eingelernter DNN auf verschiedene Zielarchitekturen.


// Georg Zitzlsberger Georg Zitzlsberger

war bis 2017 für mehr als 12 Jahre bei Intel als Software Engineer und Technical Consultant mit den Schwerpunkten Compiler, Debugger, Performance-Bibliotheken und -Analysewerkzeuge beschäftigt. Zuletzt war er für das fachliche Management des Intel Parallel Computing Center Programms in EMEA zuständig, dessen Aufgabe die Modernisierung wissenschaftlicher Anwendungen im HPC Bereich ist. Heute arbeitet er an seinem PhD als Forscher im Bereich maschinelles Lernen bei IT4Innovations, dem Nationalen Rechenzentrum Tschechiens. Im Rahmen seiner Arbeit ist er an verschiedenen europäischen Forschungsprojekten beteiligt (H2020, PRACE) und gibt Schulungen zum Thema HPC-Optimierungen im Rahmen des Prace Training Center (PTC) Programms. Darüber hinaus führt er für Intel in den Bereichen Parallelisierung und Optimierung, sowie Artificial Intelligence (AI) Schulungen durch und ist seit kurzem ebenfalls zertifizierter Trainer für das Nvidia Deep Learning Institute (DLI) Programm.