Doctorant F/H Reconnaissance de programmes par intelligence artificielle
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Doctorant
A propos du centre ou de la direction fonctionnelle
Le centre Inria de Lyon est le 9ème centre de recherche Inria. Créé en janvier 2022, il regroupe environ 300 personnes au sein de 16 équipes de recherche et des services supports à la recherche.
Ses équipes sont localisées sur 2 campus : à Villeurbanne, La Doua, et à Lyon Gerland.
Le centre de Lyon est présent dans les domaines du logiciel, du calcul distribué et haute performance, des systèmes embarqués, du calcul quantique et de respect de la vie privée dans le monde numérique, mais aussi de la santé et de la biologie numériques.
Contexte et atouts du poste
Dans le cadre de l'action exploratoire Inria ProgReco entre Inria Lyon et l'Université Côte d'Azur, nous recrutons un.e doctorant.e en codirection entre l'ENS de Lyon et l'université Côte d'Azur.
Le doctorant pourra prendre ses fonctions à l'université Côte d'Azur ou bien à l'ENS de Lyon.
Mission confiée
L'objectif est de construire une analyse statique capable de reconnaitre automatiquement un programme en utilisant des techniques d'intelligence artificielle; et d'explorer son application à l'optimisation automatique de programmes. Le travail de recherche demandé comprend l'implémentation de la solution et les expérimentations nécessaires à sa publication.
Principales activités
Les grandes étapes de la recherche demandée incluent les points suivants :
- Trouver une bonne représentation d'un programme. Un programme se modèlise naturellement par un graphe. On cherche à garder des élements de syntaxe et un représenter la sémantique du programme (le calcul) en exhibant le flot de donnée et le flot de contrôle. La forme SSA et ses variantes se prêtent bien à cet exercice. En particulier, la gated-SSA et son extension aux tableaux sont de bons points de départ pour construire une telle représentation.
- Choisir un modèle d'apprentissage. Une fois trouvé la bonne représentation par graphe, il faut choisir un modèle d'apprentissage approprié. Les graph neural networks sont un bon point de départ et ont déjà donné des résultats prometteurs. Les gated-graph sequence neural networks utilisés avec succès en analyse de programme, sont également une piste possible.
- Générer un jeu d'entrainement. Il nous faut plusieurs variantes d'un programme pour entrainer le modèle d'apprentissage. Une première idée consiste consiste à considérer les passes qui sont utilisées au sein des options d’optimisation comme O3. Ensuite, on garde chaque passe avec une certaine probabilité. Si le programme est régulier, on peut également choisir aléatoirement une transformation affine de boucles à la manière des travaux sur la compilation itérative. La difficulté est de trouver un ensemble de variants suffisament uniforme pour éviter l'overfitting.
- Application à l'optimisation de programmes. Une fois un algorithme reconnu, on peut le substituer par une version plus efficace disponible dans une bibliothèque de calcul haute performance. Un défi majeur doit être relevé ici : notre classifieur ne fait que des prédictions, il n'y a aucune garantie d'équivalence. Il faudra donc filtrer le résultat avec un test d'équivalence sémantique exact, ce qui limite ce scénario d'application à la classe des programmes réguliers dont l'équivalence est semi-décidable. La classe des programmes réguliers est tout particulièrement présente dans les codes de calcul haute performance; et il existe une grande variété de bibliothèques optimisées (MKL, MAGMA, PLASMA, etc) avec des cibles diverses (GPU, multicoeur). Notons que cette restriction aux programmes réguliers ne concerne que cette étape d'application. Notre système de reconnaissance de programme s'efforcera d'être le plus général possible.
En plus de l'activité de recherche, le/la doctorant.e pourra effectuer des activités complémentaires d'enseignement à l'université ou à l'ENS de Lyon.
Compétences
Le/la candidat.e idéal.e pour cette thèse est un.e étudiant.e qui a suivi une formation en informatique fondamentale (compilation, programmation avancée, réseaux de neurones, graphes). Sur la partie implémentation, la maîtrise du C++ est nécessaire.
Avantages
- Restauration subventionnée
- Transports publics remboursés partiellement
- Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
- Possibilité de télétravail 90 jours/an fixes ou flottants et aménagement du temps de travail
- Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
- Accès à la formation professionnelle
- Participation Protection Sociale Complémentaire sous conditions
Rémunération
1ère et 2ème année : 2 100 euros brut /mois
3ème année : 2190 euros brut / mois
Informations générales
- Thème/Domaine :
Architecture, langages et compilation
Systèmes d'information (BAP E) - Ville : Villeurbanne
- Centre Inria : Centre Inria de Lyon
- Date de prise de fonction souhaitée : 2025-09-01
- Durée de contrat : 3 ans
- Date limite pour postuler : 2025-02-28
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
Les candidatures doivent être déposées en ligne sur le site Inria.
Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : CASH
-
Directeur de thèse :
Alias Christophe / christophe.alias@inria.fr
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.