Projekt

EDeL

Effiziente Datenaufbereitung für Deep Learning

  • Laufzeit:

Die verblüffende Geschwindigkeit der Entwicklungen des Deep Learnings insb im Bereich Computer Vision basiert zum großen Teil auf der Verfügbarkeit immer leistungsfähigerer Co-Prozessoren. Sie erlauben es immer größere Datensätze zu verarbeiten und mehr Hypothesen in kürzerer Zeit zu testen, sowie die Komplexität der betrachteten Modelle mit jeder neuen Hardwaregeneration zu erhöhen. Die hierzu am häufigsten verwendeten Co-Prozessoren sind Graphics Processing Units (GPU) des Herstellers NVIDIA. Die unbestreitbaren Erfolge der vergangenen Jahre werden in der Praxis aber zunehmend von Problemen begleitet. Während GPUs von Generation zu Generation signifikant an Geschwindigkeit zulegen (z.B. durch weitere Parallelisierung oder gar Integration spezieller Recheneinheiten für Deep Learning) stagniert die Geschwindigkeit der Hauptprozessoren (Central Processing Unit; CPU) und Festplatten. Beim Training von künstlichen neuronalen Netzen manifestiert sich dieses zunehmende Ungleichgewicht der Geschwindigkeiten in einer sehr geringen Auslastung von GPUs (oft unter $20\%$ bei Befolgung der empfohlenen Vorgehensweisen).

Derartig geringe Auslastungen entstehen fast immer durch lange Wartezeiten auf neue Eingabedaten. Während moderne GPUs problemlos hunderte oder sogar tausende Bilder pro Sekunde zum Training verarbeiten könnten, werden von Frameworks wie PyTorch und Tensorflow pro CPU-Kern weniger als 100 Bilder pro Sekunde zur Verfügung gestellt. Die Empfehlung diese Lücke durch den Einsatz zusätzlicher CPU-Ressourcen zu schließen scheitert bereits heute oft daran, dass zu wenige CPU-Kerne pro Rechenknoten (Server) und damit GPU verfügbar sind. Eine noch weiter steigende GPU-Dichte ist bereits absehbar. %: während die bisher hauptsächlich vom DFKI verwendeten DGX-1-Systeme von NVIDIA fünf CPU-Kerne pro GPU bereitstellen sind es bei der neueren DGX-2 bereits nur noch drei. Ein Ziel von EDeL ist es daher Softwarelösungen für einen möglichst hohen Datendurchsatz pro CPU-Kern zum effizienten Training von Deep Learning Verfahren zu entwickeln. Dies soll sowohl durch den Einsatz von optimierter Software und der Auslagerung von Berechnungen, die momentan häufig auf CPUs stattfinden, auf GPUs erreicht werden. Somit werden Leerlaufzeiten zu verringert und damit die Effizienz des Trainings maschineller Lernverfahren erhöht.

Ein weiterer Aspekt, der effizienter Nutzung von Hardware im Wege steht ist die große Vielfalt von Datensätzen und deren Formaten. Selbst sehr ähnliche Datensätze werden oft in unterschiedlichsten Formaten ausgeliefert, was es folglich unmöglich macht sie ohne Anpassung des Trainingsprogramms auszutauschen. Zudem lassen sich die o.g. Formate meist nur mit unzureichender Geschwindigkeit oder hoher CPU-Last einlesen, was wiederum der vollen Nutzung der GPUs im Wege steht. Daher ist ein weiteres Hauptziel von EDeL die Entwicklung eines einheitlichen Speicherformats für Datensätze, das sie austauschbar und besonders schnell mit wenig CPU-Last ladbar macht.

Die geplanten Entwicklungen sollen einem möglichst breiten Publikum aus Forschung und Wirtschaft zur Verfügung gestellt werden. Dazu sollen Bibliotheken wie im Deep-Learning-Bereich üblich unter einer Open-Source-Softwarelizenz bereitgestellt werden.

Fördergeber

BMBF – Bundesministerium für Bildung und Forschung

01IS19075

BMBF – Bundesministerium für Bildung und Forschung

Projekt teilen auf:

Ansprechpartner
Joachim Folz, M.Sc.

Keyfacts

Deutsches Forschungszentrum für Künstliche Intelligenz
German Research Center for Artificial Intelligence