Exemple de simulation de matière noire dans l'univers, utilisé comme entrée du réseau CosmoFlow. CosmoFlow est la première application scientifique à grande échelle à utiliser le framework TensorFlow sur une plate-forme de calcul haute performance basée sur un processeur avec une formation synchrone. Crédit :Lawrence Berkeley National Laboratory
Une collaboration du Big Data Center entre les informaticiens du Lawrence Berkeley National Laboratory (Berkeley Lab) National Energy Research Scientific Computing Center (NERSC) et les ingénieurs d'Intel et de Cray a donné lieu à une autre première dans la quête d'application de l'apprentissage en profondeur à la science à forte intensité de données :CosmoFlow , la première application scientifique à grande échelle à utiliser le framework TensorFlow sur une plate-forme de calcul haute performance basée sur un processeur avec une formation synchrone. Il est également le premier à traiter des volumes de données spatiales tridimensionnelles (3D) à cette échelle, offrant aux scientifiques une plate-forme entièrement nouvelle pour acquérir une compréhension plus profonde de l'univers.
Les problèmes cosmologiques du ''big data'' vont au-delà du simple volume de données stockées sur disque. Les observations de l'univers sont nécessairement finies, et le défi auquel les chercheurs sont confrontés est de savoir comment extraire le plus d'informations des observations et des simulations disponibles. Pour aggraver le problème, les cosmologistes caractérisent généralement la distribution de la matière dans l'univers en utilisant des mesures statistiques de la structure de la matière sous la forme de fonctions à deux ou trois points ou d'autres statistiques réduites. Des méthodes telles que l'apprentissage en profondeur qui peuvent capturer toutes les caractéristiques de la distribution de la matière fourniraient une meilleure compréhension de la nature de l'énergie noire. Siamak Ravanbakhsh et ses collègues ont tout d'abord réalisé que l'apprentissage en profondeur pouvait être appliqué à ce problème. comme référencé dans les actes de la 33e Conférence internationale sur l'apprentissage automatique. Cependant, les goulots d'étranglement de calcul lors de la mise à l'échelle du réseau et de l'ensemble de données ont limité l'étendue du problème qui pouvait être résolu.
Motivés à relever ces défis, CosmoFlow a été conçu pour être hautement évolutif; traiter les gros, ensembles de données de cosmologie 3D ; et améliorer les performances de formation en apprentissage en profondeur sur les supercalculateurs HPC modernes tels que le supercalculateur Cray XC40 Cori à processeur Intel du NERSC. CosmoFlow repose sur le célèbre framework d'apprentissage automatique TensorFlow et utilise Python comme frontal. L'application s'appuie sur le plug-in d'apprentissage machine Cray PE pour atteindre une mise à l'échelle sans précédent du framework TensorFlow Deep Learning à plus de 8, 000 nœuds. Il bénéficie également de la technologie d'accélérateur d'E/S DataWarp de Cray, qui fournit le débit d'E/S requis pour atteindre ce niveau d'évolutivité.
Dans un document technique qui sera présenté au SC18 en novembre, l'équipe CosmoFlow décrit l'application et les premières expériences utilisant des simulations de N-corps de matière noire produites à l'aide des packages MUSIC et pycola sur le supercalculateur Cori du NERSC. Dans une série d'expériences de mise à l'échelle à nœud unique et à plusieurs nœuds, l'équipe a pu démontrer une formation en parallèle de données entièrement synchrone sur 8, 192 de Cori avec une efficacité parallèle de 77% et une performance soutenue de 3,5 Pflop/s.
"Notre objectif était de démontrer que TensorFlow peut fonctionner efficacement à grande échelle sur plusieurs nœuds, " a déclaré Deborah Bard, architecte Big Data au NERSC et co-auteur du document technique. « Autant que nous sachions, il s'agit du plus grand déploiement jamais réalisé de TensorFlow sur les processeurs, et nous pensons qu'il s'agit de la plus grande tentative d'exécution de TensorFlow sur le plus grand nombre de nœuds de processeur."
Tôt, l'équipe CosmoFlow a défini trois objectifs principaux pour ce projet :la science, optimisation et mise à l'échelle d'un seul nœud. L'objectif scientifique était de démontrer que l'apprentissage en profondeur peut être utilisé sur des volumes en 3D pour apprendre la physique de l'univers. L'équipe souhaitait également s'assurer que TensorFlow s'exécutait de manière efficace et efficiente sur un seul nœud de processeur Intel Xeon Phi avec des volumes 3D, qui sont courants dans la science mais pas tellement dans l'industrie, où la plupart des applications d'apprentissage en profondeur traitent des ensembles de données d'images 2D. Et enfin, garantissent une efficacité et des performances élevées lorsqu'elles sont mises à l'échelle sur des milliers de nœuds sur le système de supercalculateur Cori.
Comme Joe Curley, Directeur principal de l'organisation de modernisation du code au sein du groupe Data Center d'Intel, c'est noté, "La collaboration Big Data Center a produit des résultats étonnants en informatique grâce à la combinaison de la technologie Intel et des efforts d'optimisation de logiciels dédiés. Au cours du projet CosmoFlow, nous avons identifié le cadre, optimisation du noyau et de la communication qui a conduit à une augmentation des performances de plus de 750 fois pour un seul nœud. Tout aussi impressionnant, l'équipe a résolu des problèmes qui limitaient la mise à l'échelle des techniques d'apprentissage en profondeur à 128 à 256 nœuds, pour permettre désormais à l'application CosmoFlow de s'adapter efficacement au 8, 192 nœuds du supercalculateur Cori au NERSC."
« Nous sommes enthousiasmés par les résultats et les avancées dans les applications d'intelligence artificielle de ce projet collaboratif avec NERSC et Intel, " a déclaré Per Nyberg, vice-président du développement du marché, intelligence artificielle et cloud chez Cray. « C'est passionnant de voir l'équipe CosmoFlow tirer parti de la technologie Cray unique et tirer parti de la puissance d'un supercalculateur Cray pour mettre à l'échelle efficacement des modèles d'apprentissage en profondeur. simulation avec de nouveaux algorithmes de deep learning et d'analyse, le tout sur un seul, plate-forme évolutive."
Prabhat, Chef de groupe des services de données et d'analyse chez NERSC, ajoutée, "De mon point de vue, CosmoFlow est un projet exemplaire pour la collaboration Big Data Center. Nous avons vraiment tiré parti des compétences de diverses institutions pour résoudre un problème scientifique difficile et améliorer notre pile de production, ce qui peut profiter à la communauté plus large des utilisateurs du NERSC. »
En plus de Bard et Prabhat, les co-auteurs de l'article SC18 incluent Amrita Mathuriya, Laurent Meadows, Lei Shao, Tuomas Karna, John Pennycook, Jason Sewall, Nalini Kumar et Victor Lee d'Intel; Peter Mendygral, Diane Moise, Kristyn Maschhoff et Michael Ringenburg de Cray; Siyu He et Shirley Ho du Flatiron Institute; et James Arnemann de l'UC Berkeley.