Intelligence artificielle

IA et calcul haute performance : deux domaines étroitement liés ?

Date:
Mis à jour le 02/04/2024
Depuis quelques années, les scientifiques en IA et HPC constatent l'émergence de problématiques communes et la possibilité de les résoudre en mutualisant leurs expertises. Au Centre Inria de l’université de Bordeaux, plusieurs équipes-projets établissent de nouvelles coopérations afin de développer des projets transversaux et interdisciplinaires. Quels sont donc les liens entre l’IA et le HPC ?
HPC et IA
© sdecoret - stock.adobe.com

Les intérêts mutuels de l’intelligence artificielle et du calcul haute performance

L'intelligence artificielle (IA) et le calcul haute performance (HPC) sont deux domaines des sciences du numérique en constante évolution qui se complètent de plus en plus. L'intelligence artificielle repose sur des algorithmes sophistiqués permettant aux machines d'apprendre à partir de données et d'exécuter des tâches de manière autonome. Le calcul haute performance, quant à lui, concerne le traitement de quantités massives de données à des vitesses extrêmement élevées.

L’utilisation croisée de l'IA et du HPC offre de nouvelles opportunités pour repousser les limites de ce que les ordinateurs peuvent accomplir, ouvrant ainsi la voie à de nouvelles découvertes et innovations technologiques. 

Ce que l’intelligence artificielle peut apporter au calcul haute performance

L’IA au service de l’accélération des calculs : 

L’association de l’IA et du HPC permet d’améliorer les capacités des systèmes informatiques en termes de vitesse de calcul. Les supercalculateurs équipés de technologies d'intelligence artificielle traitent des ensembles de données complexes en un temps record, ouvrant ainsi la voie à de nouvelles avancées dans des domaines tels que la recherche médicale, la météorologie ou encore la modélisation climatique.

Par exemple, l’équipe-projet Concace utilise l’IA pour construire des préconditionneurs, un outil traitant les données en entrée pour faciliter le processus de calcul et obtenir des résultats plus efficaces, améliorant ainsi la vitesse et la précision des méthodes de résolution de systèmes d'équations linéaires, à la base de nombreux problèmes physiques issus notamment de l’aéronautique. C’est cette approche d’hybridation de la simulation numérique et du machine learning [1] que les scientifiques tentent de développer aujourd’hui.

 

L’IA pour comprendre et optimiser le HPC : 

L’intelligence artificielle peut également être utilisée pour comprendre les applications de calcul et les systèmes du HPC. Par exemple, des scientifiques de l’équipe-projet Storm travaillent sur l’optimisation de programmes informatiques en utilisant le machine learning pour guider et choisir les meilleures optimisations. 

Pour cela, ils partent du postulat que si deux programmes se ressemblent, ils auront probablement besoin des mêmes optimisations. Mais comment déterminer si deux programmes sont similaires ? Pour cela, les chercheurs et les chercheuses de cette équipe utilisent des techniques comparables à celles des modèles de langage : « Lorsqu’on examine un nouveau programme, on le compile, c’est-à-dire qu’on le traduit dans un langage compréhensible par l’ordinateur, puis on le soumet à des modèles de langage pour identifier à quel code connu il ressemble. Si les optimisations fonctionnent bien sur A, alors il est probable qu’elles marcheront sur B, ce qui est bien plus rapide que de tout tester ! » explique Emmanuelle Saillard, chargée de recherche dans l’équipe-projet Storm.

 

Equipe Storm
© Inria / Photo H. Raguet

L’IA pour piloter le HPC : 

Pour faire du calcul haute performance, on dispose de nombreuses ressources de calculs, mais aussi de multiples tâches (des calculs) à réaliser. Pour gérer cela, les scientifiques doivent planifier l’ordonnancement soit déterminer quand et où chaque tâche doit être exécutée. Pour améliorer l’efficacité, les scientifiques des équipes-projets Storm, Tadaam et Topal ont développé une nouvelle approche utilisant l’intelligence artificielle, plus précisément l’apprentissage par renforcement. « L’idée est de définir une stratégie par le biais d’un réseau de neurones artificiels : on laisse le système "jouer" puis on évalue sa performance. En répétant ce processus, on permet au système d’apprendre de ses erreurs pour avoir un modèle offrant une stratégie d’ordonnancement efficace », détaille Olivier Beaumont, responsable de l’équipe-projet Topal.

Ce que le calcul haute performance peut apporter à l’intelligence artificielle

Le HPC comme ressource pour l’IA : 

Les ressources de calcul ont joué un rôle essentiel dans les grandes réussites de l’apprentissage et la renaissance de l’IA de ces dernières années. Afin de faire fonctionner les gros modèles génératifs, l’IA nécessite une puissance de calcul considérable. Par exemple, les scientifiques de l’équipe-projet Flowers cherchent à comprendre le processus d’apprentissage des enfants et testent leurs hypothèses en combinant de gros modèles de langage avec de l’apprentissage par renforcement. Cela implique la construction de modèles utilisant de grandes quantités de données et de calculs pour simuler l’interaction d’un enfant avec divers environnements. 

Pour remédier à cela, les scientifiques développent des modèles plus "bio-inspirés" que les modèles actuels. « Lorsque nous construisons des modèles des processus d’apprentissage humain, nous avons besoin de les évaluer en étudiant les trajectoires d’apprentissage et de comportements qu’ils génèrent dans une grande diversité d’environnements interactifs. Quand ces modèles impliquent l’utilisation d'algorithmes d’IA générative comme l’un des composants, cela augmente encore les besoins en ressources de calculs afin de nous permettre de bien les comprendre » explique Pierre-Yves Oudeyer, responsable de l’équipe-projet Flowers. Cependant, avant de pouvoir utiliser ces modèles alternatifs, les scientifiques ont besoin d’une puissance de calcul très importante pour les valider et potentiellement plus frugaux en données et en calculs.

 

Le HPC adopte l’IA comme nouvelle application :

Les scientifiques en calcul haute performance travaillent notamment sur des questions d’optimisation. L’équipe-projet Topal vise à développer une utilisation efficace et optimisée des ressources de calcul, notamment pour le machine learning. « Il s’agit de considérer l’apprentissage comme une nouvelle application du HPC, qui s’ajoute à celles des simulations numériques traitées jusqu’à présent, souligne Olivier Beaumont. Cette application particulière nécessite de nombreux calculs parallèles et pose des problèmes de gestion de la mémoire très singuliers, rendant complexe la répartition des données sur les ressources de calcul ». C’est donc un challenge inédit à relever : comment calculer plus rapidement en consommant le moins de ressources possible et en s’adaptant aux capacités de ressources disponibles ? 

 

Equipe TOPAL
© Inria / Photo M. Magnin

Le HPC pour aider à préserver les données personnelles : 

L’intelligence artificielle peut aussi avoir besoin du HPC, notamment du parallélisme et de l’algorithmique distribuée, pour atteindre divers objectifs tels que renforcer la confidentialité des données. « Pour faire de l’apprentissage fédéré, soit permettre à plusieurs entités ou individus de collaborer à l’entraînement d’un modèle d’IA sans partager leurs données respectives, l’algorithmique distribuée peut être une approche prometteuse. En effet, des protocoles de sécurité, parfois basés sur la cryptographie, sont développés pour effectuer des calculs collectifs sans révéler les données échangées. Dans ce contexte, les données personnelles restent privées, seules les mises à jour proposées et les améliorations du modèle sont partagées » souligne Laercio Lima Pilla, chercheur chez Storm. « Cependant, l’apprentissage fédéré tend à prendre plus de temps et à consommer plus de ressources que d'autres approches. Dans notre équipe, nous nous efforçons d’accélérer et de réduire l’énergie ou les émissions de CO2 nécessaires pour mener à bien cet apprentissage fédéré. »

 


[1] Le machine learning ou "apprentissage automatique" est un champ d'étude de l’IA visant à donner aux machines la capacité d' "apprendre" à partir de données, via des modèles mathématiques.