FERRO Quentin
Direction de recherche : Fabienne JÉZÉQUEL, Stef GRAILLAT
Co-encadrement : HILAIRE THibault
Auto-ajustement de la précision et validation numérique
Cette thèse se concentre sur l'auto-ajustement de la précision des nombres flottants, en particulier via l'outil PROMISE. L'auto-ajustement consiste à réduire la précision des variables flottantes d'un code, de manière automatique, tout en respectant une contrainte de précision sur le résultat final. Abaisser la précision des variables présente de nombreux avantages en termes de performances en temps, en mémoire, et en énergie consommée, d'où son application à des codes HPC. À cette fin, de nombreux outils existent. La particularité de PROMISE est l'utilisation de l'Arithmétique Stochastique Discrète (ASD) via la bibliothèque de validation numérique CADNA, qui lui permet d'estimer au mieux la précision des résultats.
Alors que la réduction de réseaux de neurones utilise en général des méthodes spécifiques, ces derniers pourraient aussi tirer bénéfice de l'auto-ajustement de la précision. En ce sens, PROMISE a été appliqué à quatre différents réseaux de neurones, démontrant la possible diminution des précisions flottantes dans la phase d'inférence, sans compromettre la précision des résultats. Deux approches sont testées. La première consiste à prendre la même précision pour les paramètres d'un même neurone. Elle permet d'abaisser le plus de précisions possible. La seconde consiste à prendre une précision par couche. Malgré un plus grand nombre de variables en précision élevée, elle permet d'obtenir un résultat plus rapidement. Le résultat de PROMISE dépendant de l'entrée choisie pour l'inférence, elle peut aussi se révéler moins spécifique à une entrée unique. L'auto-ajustement avec PROMISE a aussi été étudié dans la phase d'apprentissage des réseaux de neurones. Malgré une application limitée par le caractère aléatoire de cette phase, cela a permis de montrer que l'abaissement de la précision des variables flottantes avait très peu d'impact sur la phase d'apprentissage.
L'application de PROMISE met aussi en avant des améliorations significatives en termes de performances. En mémoire, les résultats sont équivalents aux données théoriques d'utilisation mémoire de chaque format flottant. En temps, les résultats d'accélération obtenus pour des codes vectorisés et non vectorisés se rapprochent des résultats théoriques, mais sont ternis par certaines opérations (casts et appels aux fonctions de bibliothèques). Tous ces résultats viennent confirmer l'intérêt de l'abaissement de la précision, notamment au sein de codes vectorisés.
Outre les performances des codes étudiés, celles de PROMISE ont également été examinées. La parallélisation de l'algorithme principal utilisé par PROMISE a été réalisée. L'implémentation d'un outil d'instrumentation basé sur Clang/LLVM a aussi été réalisée. Cet outil permet d'instrumenter des codes pour CADNA, remplaçant un script Perl, non robuste et ad hoc. Il permet aussi d'instrumenter automatiquement des codes pour PROMISE, instrumentation effectuée jusqu'ici à la main. Une troisième version de cet outil, sous forme d'API Python, vient remplacer l'analyse et la création de code effectuées au sein de PROMISE, rendant ces étapes plus robustes.
Soutenance : 16/10/2024
Membres du jury :
Daniel Menard, IETR, INSA Rennes [Rapporteur]
Guillaume Revy, LIRMM, Université de Perpignan [Rapporteur]
Pierre Fortin, CRIStAL, Université de Lille
Stef Graillat, LIP6, Sorbonne Université
Thibault Hilaire, LIP6, Sorbonne Université
Fabienne Jézéquel, LIP6, Université Paris-Panthéon Assas
Publications 2022-2024
-
2024
- Q. Ferro : “Auto-ajustement de la précision et validation numérique”, soutenance de thèse, soutenance 16/10/2024, direction de recherche Jézéquel, Fabienne Graillat, Stef, co-encadrement : Hilaire, THibault (2024)
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel : “Auto-ajustement de la précision grâce au logiciel PROMISE”, CANUM 2024, 46th National Congress on Numerical Analysis, Le-Bois-Plage-en-Ré, France (2024)
-
2023
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel : “Performance of precision auto-tuned neural networks”, MCSoC 2023 (16th IEEE International Symposium on Embedded Multicore/Manycore Systems-on-Chip), special session POAT (Performance Optimization and Auto-Tuning of Software on Multicore/Manycore Systems), Singapore, Singapore (2023)
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel : “Precision Auto-Tuning of High-Performance Neural Networks”, European Conference on Numerical Mathematics and Advanced Applications (ENUMATH), minisymposium "Mixed Precision Computations in Theory and Practice", Lisbon, Portugal (2023)
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel : “Precision auto-tuning using stochastic arithmetic”, 10th International Congress on Industrial and Applied Mathematics (ICIAM), minisymposium ``Exploring Arithmetic and Data Representation Beyond the Standard in HPC”, Tokyo, Japan (2023)
-
2022
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel, B. Lewandowski : “Neural Network Precision Tuning Using Stochastic Arithmetic”, RAIM 2022 : 13es Rencontres Arithmétique de l'Informatique Mathématique, Nantes, France (2022)
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel, B. Lewandowski : “Neural Network Precision Tuning Using Stochastic Arithmetic”, NSV'22, 15th International Workshop on Numerical Software Verification,, Haifa, Israel (2022)
- Q. Ferro, S. Graillat, Th. Hilaire, F. Jézéquel, B. Lewandowski : “Neural Network Precision Tuning Using Stochastic Arithmetic”, Sparse Days conference, Saint-Girons, France (2022)