Un logiciel pour accélérer la formation des réseaux neuronaux

Lorsqu'on travaille avec des réseaux neuronaux, leur formation est le processus le plus exigeant en ressources et le plus coûteux. Des scientifiques de l'ETH Zurich ont mis au point un logiciel qui accélère considérablement la formation. Cela sera particulièrement utile pour les applications scientifiques lors de l'utilisation d'Alps au Swiss National Supercomputing Centre (CSCS).
Les réseaux neuronaux accomplissent de nombreuses tâches mieux que les algorithmes classiques. Les informaticiennes et informaticiens de l'ETH Zurich ont développé un logiciel qui accélère l'entraînement de l'intelligence artificielle sur le superordinateur Alps du CSCS. (Image: Adobe Stock)

Le CSCS installe progressivement les composants d'Alps, le nouveau superordinateur du Centre qui remplacera l'actuelle machine phare Piz Daint au printemps 2023. Grâce à la microarchitecture de ses GPU et à son système de fichiers dédié, Alps devrait devenir l'une des machines les plus puissantes au monde en matière d'IA.

«Le système permettra de réaliser des calculs massifs en parallèle en utilisant une grande quantité de données», explique Torsten Hoefler, professeur à l'ETH Zurich et responsable du laboratoire de calcul parallèle évolutif de l'ETH Zurich. «Son architecture le rend particulièrement bien adapté aux calculs effectués dans l'apprentissage automatique». En outre, le système prend en charge des fonctionnalités spécifiquement conçues pour l'apprentissage profond, comme le support de la sparsité dans le matériel, qui est un moyen d'éviter le stockage et le calcul d'informations dispensables et donc d'accélérer un réseau neuronal.

Toutefois, pour tirer le maximum d'efficacité d'un système aussi puissant, les applications doivent elles aussi être plus intelligentes. À cette fin, deux informaticiens de l'équipe de Torsten Hoefler, Roman Boehringer et Nikoli Dryden, ont mis au point un logiciel qui accélère la formation des applications d'apprentissage profond. Leur nouveau logiciel appelé NoPFS (Near-optimal Pre-Fetching System) y parvient par la clairvoyance: Il expose un processus pseudo-aléatoire et donc prévisible dans la formation plus efficacement que les autres outils ne l'ont fait jusqu'à présent.

Alps: Des scientifiques développent un logiciel de voyance pour accélérer l'entraînement des réseaux neuronaux (Vidéo: CSCS)

Les plus pertinentes pour les applications scientifiques

Le concept utilisé par NoPFS n'est pas tout à fait nouveau. En fait, de nombreux cadres d'apprentissage profond existants utilisent une version simplifiée de la même idée : Ils regardent un ou plusieurs pas en avant et commencent à récupérer les éléments de données suivants à l'avance, ce qui permet d'améliorer les performances. Cependant, aucun outil auparavant n'a utilisé la clairvoyance jusqu'à ses limites et de manière aussi conséquente que NoPFS le fait tout au long d'un cycle d'entraînement.

«Le temps d'apprentissage plus court que NoPFS permet d'atteindre sera particulièrement pertinent pour les applications de recherche scientifique, et donc pour le CSCS et ses utilisatrices et utilisateurs», déclare Torsten Hoefler. Dans un contexte scientifique, l'apprentissage automatique est généralement utilisé de deux manières: Premièrement, les réseaux neuronaux peuvent être utilisés pour analyser et affiner les résultats des simulations; deuxièmement, ils peuvent accélérer les simulations en remplaçant des composants du code de simulation. Torsten Hoefler, Nikoli Dryden et leurs collègues ont récemment publié un article décrivant comment l'équipe a remplacé le composant de post-traitement statistique dans le modèle de prévision météorologique du Centre européen pour les prévisions météorologiques à moyen terme (CEPMMT) par une étape de post-traitement effectuée par un réseau neuronal. Appliqué aux données mondiales, le nouveau modèle hybride a permis d'améliorer la capacité de prévision de plus de 14%.

Néanmoins, pour y parvenir, il faut beaucoup de formation au réseau neuronal. «La plupart du temps, ces cas nécessitent l'entraînement de divers modèles d'apprentissage profond pour trouver celui qui fonctionne le mieux», explique Torsten Hoefler. «Cela nécessite des semaines de temps de calcul. C'est donc ce type d'applications qui bénéficiera le plus de NoPFS et du gain d'efficacité qu'il procure.» Dans les développements futurs, l'équipe vise à optimiser davantage la méthode de mise en cache préalable des données basée sur la voyance pour offrir des performances encore meilleures.

Le coût de la formation

Lorsqu'on travaille avec des réseaux neuronaux et des applications d'apprentissage profond, leur formation est le processus le plus coûteux. En fait, un seul cycle de formation d'un modèle linguistique de haut niveau peut coûter environ dix millions de dollars. Pendant la formation, les réseaux neuronaux sont exposés à des échantillons de données et aux étiquettes souhaitées pour ces échantillons. Pour une application de reconnaissance d'images, par exemple, les échantillons de données seront des photos d'un objet, par exemple un chat. Si l'application classe à tort cet objet comme étant un chien, elle se rectifie ensuite en se basant sur la valeur réelle «chat» - ses poids sont mis à jour, de sorte que l'application est plus susceptible d'identifier correctement l'animal la prochaine fois. Si ce cycle est répété avec de nombreux échantillons de l'ensemble de données, l'application finit par trouver la bonne réponse.

Toutefois, ce processus d'apprentissage est très lent. Il implique d'exposer le réseau neuronal à des centaines de milliers, voire des millions d'échantillons de données, ce qui nécessite une pléthore d'étapes de chargement des données et de mise à jour des valeurs. Cette tâche de chargement et de stockage qui transfère les informations entre les systèmes de fichiers et les processeurs est appelée E/S en termes techniques, et c'est la partie la plus longue et la plus coûteuse de l'apprentissage profond à grande échelle: En fait, elle absorbe jusqu'à 85% de la durée totale de la formation. Les experts appellent cela le goulot d'étranglement des E/S.

Regarder dans la boule de cristal

C'est là que le nouveau logiciel, NoPFS, entre en jeu. Il utilise le concept de clairvoyance pour accélérer cette tâche exigeante de chargement des données. En effet, les échantillons de données pour l'entraînement sont, en principe, sélectionnés de manière aléatoire, disposés en mini-lots composés, par exemple, de 32 données, puis présentés au modèle jusqu'à ce que chaque échantillon de données ait été exposé au modèle exactement une fois. Un tel passage sur l'ensemble de données constitue une époque d'apprentissage. Cependant, ce processus d'échantillonnage des éléments de données en mini-lots nécessite une valeur de départ connue, ce qui signifie qu'il n'est, en fait, que pseudo-aléatoire. Une fois la graine sélectionnée, la séquence des échantillons de données est fixe et peut être prédite.

«C'est exactement ce que fait NoPFS», explique Nikoli Dryden, informaticien postdoctoral dans le groupe de Torsten Hoefler et principal développeur du logiciel. NoPFS prédit le modèle d'accès au cours d'un cycle d'apprentissage complet, c'est-à-dire la séquence et la fréquence dans lesquelles tous les éléments de données d'apprentissage seront chargés sur les processeurs d'exécution pour être exposés au modèle, «ce qui signifie également que les éléments de données individuels peuvent être chargés à l'avance en fonction de la fréquence à laquelle ils seront consultés», explique Nikoli Dryden. Les éléments de données les plus fréquemment consultés sont mis en cache directement dans la mémoire vive (RAM), tandis que ceux qui sont un peu moins demandés sont mis en cache sur un disque local ou un nœud de calcul à accès rapide. «De cette façon, les éléments de données peuvent être préacheminés vers les processeurs respectifs, ce qui accélère la formation», explique l'informaticien.

Temps de formation réduit de moitié

Pour évaluer l'efficacité accrue, l'équipe a appliqué NoFPS à l'entraînement de différents modèles d'apprentissage profond sur différentes machines HPC, dont Piz Daint au CSCS. Pour leurs tests, l'équipe a utilisé CosmoFlow, une application d'apprentissage profond pour prédire les paramètres de la matière noire de l'univers, ainsi que le modèle de reconnaissance d'images ResNet-50 avec deux ensembles de données d'entraînement de taille différente, ImageNet-1k et ImageNet-22k. Les performances de NoFPS ont été comparées à celles du système de chargement de données du cadre d'apprentissage profond PyTorch, largement utilisé, et de la bibliothèque de chargement de données NVIDIA (DALI).

Les résultats montrent que, selon le système d'HPC, le nombre de GPU utilisés et la taille de l'ensemble de données d'apprentissage, NoFPS a considérablement accéléré l'apprentissage. La formation a notamment été accélérée par un facteur allant jusqu'à 2,1 pour CosmoFlow, jusqu'à 2,4 pour ImageNet-22k, et jusqu'à un étonnant 5,4 pour ImageNet-1k.

«En général, plus nous utilisons de GPU, plus nous obtenons des améliorations de performances importantes», déclare Torsten Hoefler. Cependant, il prévient que ces résultats ont été obtenus avec des systèmes de fichiers qui ne sont pas optimaux pour les calculs d'apprentissage profond. Avec des systèmes dédiés, comme Alps, l'augmentation de l'efficacité peut être un peu plus faible. «Néanmoins, NoFPS fournira une accélération significative, même sur les systèmes dédiés à l'apprentissage profond», déclare Torsten Hoefler.

Référence

Dryden N., Böhringer R., Ben-Nun T. et 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 :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 :10.1098/rsta.2020.0092

Ce texte de Santina Russo a été publié pour la première fois en anglais sur le site du CSCS.