Doctorant F/H Reconnaissance de programmes par intelligence artificielle
Inria
il y a 3 jours
Date de publicationil y a 3 jours
S/O
Niveau d'expérienceS/O
Temps pleinType de contrat
Temps pleinDonnées / Big dataCatégorie d'emploi
Données / Big dataA 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 :
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
Rémunération
1ère et 2ème année : 2 100 euros brut /mois
3 ème année : 2190 euros brut / mois
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
RÉSUMÉ DE L' OFFRE
Doctorant F/H Reconnaissance de programmes par intelligence artificielleInria
Villeurbanne
il y a 3 jours
S/O
Temps plein