Vorausschauende Software beschleunigt das Training von neuronalen Netzen
Neuronale Netze erfüllen viele Aufgaben besser als herk?mmliche Algorithmen und manches k?nnen nur sie allein. Allerdings kostet deren Training enorm viel Rechenzeit und Geld. Dank ETH Forschenden kann dieses Training beschleunigt werden - gute Nachrichten für künftige Nutzer*innen des Supercomputers ?Alps? am CSCS.
Zurzeit ist das der ETH angeschlossene Nationale Hochleistungszentrum der Schweiz CSCS dabei, einen neuen Supercomputer aufzubauen. Die Maschine namens ?Alps? wird das derzeitige Schweizer Flaggschiff unter den Hochleistungscomputern, ?Piz Daint?, bis im Frühling 2023 ersetzen. Aufgrund der Architektur seiner Grafikprozessoren und seines Dateisystems wird ?Alps? einer der leistungsst?rksten auf künstliche Intelligenz optimierten Rechner der Welt.
?Das System ist besonders gut auf Machine-Learning-Anwendungen angepasst und wird hochgradig parallele Rechenoperationen mit riesigen Datenmengen erm?glichen?, sagt Torsten Hoefler, Professor an der ETH Zürich und Leiter des Scalable Parallel Computing Lab der ETH. Zudem unterstützt es speziell für Deep Learning entwickelte Funktionen wie das sogenannte Sparsity – eine Funktion, die das Speichern und Verarbeiten überflüssiger Daten verhindert und dadurch neuronale Netze beschleunigt.
Um aber ein derart leistungsstarkes System so effizient wie m?glich zu nutzen, müssen auch die Anwendungen intelligenter werden. Mit diesem Ziel haben zwei Wissenschaftler aus Torsten Hoeflers Team, Roman Boehringer und Nikoli Dryden, eine Software entwickelt, die das Training von Deep-Learning-Anwendungen beschleunigt. Denn bei der Arbeit mit neuronalen Netzen und Deep-Learning-Anwendungen ist deren Training der aufwendigste und teuerste Arbeitsschritt überhaupt. So kann ein einziger Trainingslauf eines ausgefeilten Spracherkennungs-Modells rund zehn Millionen Dollar kosten. Die neue Software namens NoPFS (Near-optimal Pre-Fetching System) kurbelt diesen Prozess durch ein Ph?nomen namens ?Clairvoyance? an, zu Deutsch ?Hellseherei?: Sie nutzt einen vorhersagbaren Vorgang beim Training aus – und zwar konsequenter, als andere Programme dies bisher tun.
Teures Training
W?hrend des Trainings von neuronalen Netzen werden diese mit Datenproben sowie den gewünschten Labels für diese Proben gefüttert. Bei einer Bilderkennungsanwendung beispielsweise sind diese Datenbeispiele Bilder von Objekten – beispielsweise eine Katze. Wenn die Anwendung das Bild zun?chst falsch klassifiziert, als Hund etwa, korrigiert und aktualisiert sie sich auf der Grundlage des wahren Werts ?Katze? selbst. So wird sie das Tier beim n?chsten Mal mit gr?sserer Wahrscheinlichkeit richtig identifizieren. Sofern dieser Zyklus mit genügend Proben aus dem Datensatz wiederholt wird, tippt die Anwendung schliesslich ann?hernd jedes Mal richtig.
Dieser Lernprozess ist jedoch ?usserst langsam. Um zu lernen, ben?tigen neuronale Netze Hunderttausende, manchmal Millionen von Datenproben, und dazu wiederum braucht es unz?hlige Schritte zum Laden der Daten und zum Aktualisieren der Werte. Diese Lade- und Speicherschritte, die Informationen zwischen Dateisystemen und Prozessoren übertragen, heissen in der Fachsprache ?I/O? und bilden zeitaufw?ndigsten und teuersten Teil des Trainings. In der Praxis verschlingt ?I/O? bis zu 85 Prozent der gesamten Trainingszeit.
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.
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.
Besonders relevant für wissenschaftliche Anwendungen
Das Konzept von NoPFS ist indessen nicht v?llig neu. Andere Deep-Learning-Frameworks nutzen eine vereinfachte Version desselben Prinzips: Sie blicken einen oder mehrere Schritte voraus und beginnen vorzeitig mit Laden der n?chsten Datenelemente, wodurch sie etwas effizienter werden. Allerdings hat bisher kein Tool diese M?glichkeit zur Voraussage so konsequent ausgereizt wie NoPFS – über den gesamte Trainingslauf hinweg.
?Die kürzere Trainingszeit mit NoPFS wird besonders für Anwendungen und Modelle in der Forschung und damit für das CSCS und seine Nutzer relevant sein?, sagt Hoefler. In der Forschung wird das maschinelle Lernen meist auf zwei Arten eingesetzt: Zum einen k?nnen neuronale Netze dazu dienen, Ergebnisse von Computersimulationen zu verfeinern und analysieren. Zum anderen lassen sich einzelne Teile eines Simulationscodes mit Deep-Learning-Anwendungen ersetzen, um Simulationen schneller und pr?ziser zu machen. Hoefler, Dryden und ihre Kolleg*innen haben kürzlich selbst eine solche Arbeit ver?ffentlicht: Sie haben die statistische Nachbearbeitung im Wettervorhersagemodell des Europ?ischen Zentrums für mittelfristige Wettervorhersage ECMWF verbessert, indem sie den klassischen Code durch eine Deep-Learning-Applikation ersetzt haben. Das erh?hte die Vorhersagewahrscheinlichkeit des Modells um über 14 Prozent.
Allerdings: ?Um ein solches Ergebnis zu erreichen, müssen meist verschiedene Modelle und Varianten ausgetestet und trainiert werden, um dasjenige zu finden, das am besten funktioniert?, sagt Hoefler. ?Das bedeutet wochenlange Rechenzeit. Solche Forschungsanwendungen werden darum am meisten von NoPFS und dem schnelleren Training profitieren.? Künftig will das Team die Art verfeinern, wie NoPFS Datenelemente vorzeitig l?dt und zwischenspeichert, um so das Training noch mehr zu beschleunigen.
Dieser Text von Santina Russo erschien zuerst auf Englisch auf der Website des CSCS.
Literaturhinweis
Dryden N., B?hringer R., Ben-Nun T. and Hoefler T.: Clairvoyant Prefetching for Distributed Machine Learning I/O. SC’21: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (2021). DOI: externe Seite 10.1145/3458817.3476181
Gr?nquist P., Yao C., Ben-Nun T., Dryden N., Dueben P., Li S.and Hoefler T.: Deep learning for post-processing ensemble weather forecasts. Phil. Trans. R. Soc. (2021). DOI: externe Seite 10.1098/rsta.2020.0092