Vorausschauende Software beschleunigt das Training von neuronalen Netzen

Blick in die Kristallkugel

Hier nun kommt die neue Software NoPFS ins Spiel. Sie nutzt das Konzept der «Clairvoyance», um diese das Laden der Trainingsdaten zu beschleunigen. Zwar werden die Datenbeispiele, die das Deep-​Learning-Modell zu sehen bekommt, grundsätzlich zufällig ausgewählt. Sie werden nach dem Zufallsprinzip in sogenannte Mini-​Batches aus beispielsweise 32 Datenelementen zusammengestellt und dem Modell nach und nach vorgelegt.
Dieses Sampling der Daten in Mini-​Batches benötigt jedoch zu Beginn einen bekannten Seed-​Wert, also einen Startwert. Das macht den Prozess nunmehr pseudo-​zufällig: Ist der Startwert einmal ausgewählt, ist die Reihenfolge der Datenproben festgelegt und kann vorhergesagt werden.
«Genau das macht NoPFS», sagt Nikoli Dryden, Postdoktorand in Hoeflers Forschungsgruppe und Hauptentwickler der Software. Diese prognostiziert während einem Trainingslauf, in welcher Reihenfolge und mit welcher Häufigkeit die Datenbeispiele geladen werden, um sie dem Modell zu zeigen. «Dieses Wissen nutzen wir, um häufig genutzten Datenelemente im Voraus zu laden», sagt Dryden. Die am häufigsten genutzten Elemente werden direkt im Random-​Access-Memory (RAM) zwischengespeichert, die weniger populären auf einer lokalen Festplatte oder einem Computer Node mit sehr schnellem Zugriff. «So werden die Daten vorzeitig bereitgestellt, was das Training beschleunigt», erklärt Dryden.
Ein erster Teil von «Alps» ist bereits in Betrieb
Quelle: CSCS

Halbierte Trainingszeit

Die Forschenden prüften NoFPS in Trainingsläufen von verschiedenen Deep-​Learning-Modellen auf verschiedenen Supercomputern, darunter «Piz Daint» am CSCS. Sie testeten die Software an CosmoFlow, einer Deep-​Learning-Anwendung zur Vorhersage von Parametern zur dunklen Materie im Universum, und am Bilderkennungsmodell ResNet-​50 mit zwei unterschiedlich grossen Trainingsdatensätzen, ImageNet-​1k und ImageNet-​22k. Dabei verglichen sie die Leistung von NoFPS mit zwei weiteren Datenladesystemen, dem des Deep Learning Frameworks PyTorch und mit der NVIDIA Data Loading Library (DALI).
Die Ergebnisse zeigten, dass NoFPS das Training tatsächlich beschleunigt – abhängig von der Anzahl der verwendeten Grafikprozessoren (GPU), dem jeweiligen Supercomputer und der Grösse des Trainingsdatensatzes unterschiedlich stark. Im besten Fall war das Training CosmoFlow um einen Faktor 2,1 schneller, für ImageNet-​22k 2,4 Mal und für ImageNet-​1k sogar 5,4 Mal schneller.
«Generell erzielen wir grössere Leistungsverbesserungen, je mehr GPUs wir verwenden», sagt Torsten Hoefler. Diese Ergebnisse seien allerdings mit Dateisystemen erreicht worden, die nicht auf Deep-​Learning-Berechnungen optimiert sind. Mit auf künstliche Intelligenz abgestimmten Systemen wie «Alps» könnte die Trainingseffizienz etwas weniger stark steigen. «Auch auf solchen Systemen wird NoPFS das Training aber erheblich beschleunigen», sagt Hoefler.

Autor(in) Santina Russo, ETH-News



Das könnte Sie auch interessieren