Les missions du poste

Établissement : Université Paris-Saclay GS Informatique et sciences du numérique École doctorale : Sciences et Technologies de l'Information et de la Communication Laboratoire de recherche : Laboratoire Interdisciplinaire des Sciences du Numérique Direction de la thèse : Sylvain CHEVALLIER ORCID 0000000330278241 Début de la thèse : 2026-10-01 Date limite de candidature : 2026-05-12T23:59:59 Résumé en une phrase : Nous développons des réseaux de neurones dont l'architecture évolutive s'adapte et croît dynamiquement pendant l'entraînement, afin de réduire l'impact environnemental de l'IA.

Contexte thématique : L'apprentissage profond a montré des résultats impressionnants et très médiatisés sur diverses applications (jeu de Go, StarCraft, traduction, détection d'objets dans les images, génération d'images haute résolution, génération de texte...), obtenus au prix de l'entraînement d'architectures de réseaux de neurones gigantesques, ce qui prend donc également du temps et de l'argent (par exemple, GPT-3 comporte 10^11 paramètres et aurait coûté des millions de dollars à entraîner), tant lors de l'entraînement que lors de l'exploitation. L'apprentissage frugal, à l'opposé, consiste à entraîner avec aussi peu d'échantillons ou aussi peu de puissance de calcul (Green AI) que possible. Nous nous concentrerons sur ce dernier aspect ici.

Grands vs. petits : Un avantage d'avoir beaucoup de neurones par couche est qu'il est connu (expérimentalement et théoriquement [3]) que cela facilite l'optimisation pendant l'entraînement, donnant ainsi de meilleurs résultats. Cependant, les réseaux de neurones entraînés présentent une forte redondance interne, et diverses techniques ont été développées pour les compresser en réseaux plus petits avec une précision comparable. Par exemple, [4] parvient à diviser par 100 le nombre de neurones pour exécuter de la reconnaissance d'objets en ligne dans des vidéos sur un smartphone. À l'autre extrême, entraîner et appliquer des modèles « minuscules » (relativement) est beaucoup plus rapide, mais ils peuvent souffrir d'un manque d'expressivité, les empêchant de s'ajuster précisément aux données. Les principales approches d'optimisation complète de l'architecture des réseaux de neurones reposent sur l'ajustement automatique des hyperparamètres (auto-DL), mais elles sont extrêmement gourmandes en ressources de calcul, car elles effectuent de nombreux essais sur de nombreuses variations d'architecture. Certaines approches intègrent la flexibilité de l'architecture dans leur conception [5] ; elles peuvent cependant uniquement supprimer des connexions entre blocs existants, ou supprimer des blocs, mais pas en ajouter de nouveaux. Seules quelques approches tentent de faire croître les architectures (comme [7]) ; malheureusement, elles reposent le plus souvent sur des critères ad hoc qui ne sont pas justifiés mathématiquement. Pendant l'entraînement, nous proposons de partir du réseau de neurones le plus simple possible (c'est-à-dire un seul neurone, autrement dit une régression linéaire) et de faire croître le réseau en fonction de l'information apportée par la passe de rétropropagation. Cette information peut en effet être utilisée pour dépasser les limitations habituelles de l'entraînement de petits réseaux, afin de traiter explicitement les potentiels problèmes d'optimisation et d'expressivité. Pour ce faire, nous localisons précisément, pendant l'entraînement, les goulets d'étranglement de l'apprentissage d'un réseau de neurones, c'est-à-dire les couches qui manquent de pouvoir expressif, afin de les renforcer en ajoutant des neurones ou de nouvelles couches de manière appropriée, là et quand c'est nécessaire, conduisant à des architectures de taille juste adaptée. De plus, avec un tel schéma d'affinement itératif de l'architecture, des gains importants en recherche d'architecture (auto-DL) sont attendus. En effet, les méthodes classiques de recherche d'architecture de réseaux de neurones consistent à essayer de nombreuses architectures différentes, tandis qu'avec notre approche, un seul entraînement fait progressivement croître l'architecture. Une doctorante (Manon Verbockhaven) a formalisé mathématiquement les concepts requis pour détecter et corriger les goulets d'étranglement d'expressivité [1]. Elle a également implémenté la croissance en couches (élargissement) d'architectures entièrement connectées et convolutionnelles. Avec les thèses de Stella Douka et Théo Rudkiewicz, ce travail a été généralisé à la croissance de graphes de couches, c'est-à-dire l'ajout de nouvelles couches au graphe de calcul (et pas seulement de nouveaux neurones), conduisant au développement complet d'architectures sur mesure pour une tâche donnée [2]. Ceci est implémenté dans notre bibliothèque open-source. Les travaux en cours comprennent désormais les couches d'auto-attention, les stratégies de croissance et la comparaison aux techniques de recherche d'architecture de l'état de l'art. En avant-goût : les architectures que nous construisons surpassent les architectures compactes standard (MobileNet, EfficientNet...) tant en termes de précision que de taille.

Le profil recherché

Prérequis :
- Apprentissage automatique (Machine Learning).
- Mathématiques : analyse fonctionnelle, calcul différentiel, statistiques.
- Compétences en programmation. La programmation sera réalisée principalement en Python avec la bibliothèque PyTorch.
- Niveau d'anglais C1

Des connaissances en programmation système (Linux), intégration continue (git, tests unitaires, ...), cluster GPU (slurm, hydra, ...) seront un plus.

Postuler sur le site du recruteur

Ces offres pourraient aussi vous correspondre.