En poursuivant votre navigation sur ce site, vous acceptez le dépôt de cookies dans votre navigateur. (En savoir plus)

(H/F)Intelligence artificielle pour l'interprétation d'un bitstream pour la reconfiguration des FPGA

Cette offre est disponible dans les langues suivantes :
Français - Anglais

Assurez-vous que votre profil candidat soit correctement renseigné avant de postuler. Les informations de votre profil complètent celles associées à chaque candidature. Afin d’augmenter votre visibilité sur notre Portail Emploi et ainsi permettre aux recruteurs de consulter votre profil candidat, vous avez la possibilité de déposer votre CV dans notre CVThèque en un clic !

Faites connaître cette offre !

Informations générales

Référence : UMR7606-BRUMOA-001
Lieu de travail : PARIS 05
Date de publication : lundi 20 juillet 2020
Nom du responsable scientifique : Andrea Pinna
Type de contrat : CDD Doctorant/Contrat doctoral
Durée du contrat : 36 mois
Date de début de la thèse : 1 octobre 2020
Quotité de travail : Temps complet
Rémunération : 2 135,00 € brut mensuel

Description du sujet de thèse

La thèse fait partie du programme CNRS PRC en collaboration avec l'Université de Toronto (Canada). Cela implique des périodes de visite au Canada pendant les trois années de la thèse. La thèse se déroulera au sein de l'équipe SYEL du Laboratoire d'Informatique Paris 6 (LIP6) de la Sorbonne-Université de Paris et sera co-encadrée par le Prof. Sébastien PILLEMENT, du laboratoire IETR de Nantes.

Le résultat attendu de cette thèse est une preuve de concept pour l'interprétation du flux binaire à travers des modèles d'apprentissage automatique et d'inférence afin de traduire une configuration matérielle d'architecture d'un algorithme en un autre. À court et moyen terme, les objectifs à atteindre sont les suivants:
- l'interprétation du bitstream: définition d'un modèle bidimensionnel d'un bitstream représentant la distribution spatiale de l'architecture reconfigurable par ses blocs élémentaires et leur configuration (analyseur du bitstream);
- l'exploration d'un modèle de réseau convolutionnel profond enrichi d'un modèle d'inférence de sortie hybride. Ce réseau aura en entrée le modèle bidimensionnel du train de bits et en sortie les différentes fonctions logiques (combinatoires et séquentielles) et leurs connexions.

Contexte de travail

Aujourd'hui, les réseaux de neurones convolutionnels (CNN) ont prouvé́ leurs capacités de classification dans de nombreux problèmes de vision [3]. Le récent succès des CNN est principalement dû au développement considérable de nombreuses architectures profondes comme AlexNet [2], GoogleNet [4] ResNet [1] et VGG [5]. Ces modelés de réseaux sont formés de manière à extraire les caractéristiques des données à travers plusieurs couches de convolution non linéaires. Le prétraitement requis par ce type de réseau est beaucoup plus faible voire inexistant, par rapport à d'autres algorithmes de classification, parce que la topologie de ces réseaux permet d'apprendre les caractéristiques nécessaires à la classification. En règle générale, le réseau est composé de deux parties, une où dans chaque couche de convolution, plusieurs extracteurs de caractéristiques, appelés noyaux de convolution, sont appliqués sur les entrées. Une deuxième où une ou plusieurs couches entièrement connectées exécutent une tâche de classification. L'avantage des réseaux profonds est de compresser les images en une forme plus facile à traiter, sans pour cela perdre les caractéristiques essentielles à une bonne prédiction.
D'autre part, la conception de systèmes embarqués efficaces repose de plus en plus sur l'utilisation d'une architecture reconfigurable (FPGA), qui offre un très haut niveau de flexibilité. Le processus principal de ces architectures repose sur la configuration du circuit pour s'adapter à une application spécifique. Ce processus, appelé reconfiguration, peut être effectué au moment de l'exécution sur des circuits modernes. Cette capacité de reconfiguration dynamique offre une grande spectre d'optimisation dans de nombreux domaines comme la sécurité, les télécommunications, l'automobile où l'adaptabilité est de la plus haute importance. Cependant, cette capacité d'adaptation n'est pas encore bien utilisée car la génération des différentes configurations d'architecture (le bitstream) est une tâche très complexe, nécessitant des spécialistes et des processus longs.
Dans ce travail, nous proposons d'utiliser des algorithmes CNN pour la configuration matérielle d'architecture FPGA modernes reconfigurables dynamiquement. L'idée principale est de s'appuyer sur des flux binaires déjà générés implémentant certaines fonctions, et de permettre au FPGA de se modifier lui-même la configuration grâce à son moteur AI de reconfiguration embarqué. Ce moteur doit permettre des optimisations dynamiques et des adaptations de l'application en fonction du contexte d'exécution du système.

Contraintes et risques

La première étape à effectuer consiste à définir une architecture FPGA ouverte. Cette étape est requise car le fabricant de FPGA (Intel ou Xilinx) crypte ses bitstream et ne fournit aucune information à ce sujet. Afin d'avoir une preuve de faisabilité sur une seule plateforme, il faudra définir une architecture virtuelle reconfigurable au plus proche des architectures actuelles avec une granularité et une complexité de bas-moyen niveau (Virtex 7, ou Virtex-UlraSCALE de Xilinx) en utilisant l'outil VTR [6] défini à l'Université de Toronto qui est partenaire de ce projet.
Sur la base de cette architecture ouverte, la thèse portera ensuite sur la capacité d'un CNN à reconnaître, classer, à partir d'un bitstream, l'architecture matérielle sous-jacente. Le bitstream peut être considéré comme une image bidimensionnelle composée de pixels binaires (voir figure 1). Ces pixels sont les entrées de configuration de chaque bloc du FPGA (SB: bloc de commutation, CB: bloc de connexion, CLB: bloc logique configurable). Un travail important à faire consiste à extraire ce type d'informations d'un bistream. Une fois la représentation spatiale bidimensionnelle du

bitstreamobtenue (ce n'est qu'une suggestion sur la façon d'interpréter le bitstream), la deuxième étape de la thèse sera l'étude et l'application de modèles de réseaux profonds à cette image pour apprendre à reconnaître les fonctions mises en œuvre.Enfin, sur la base de la représentation intermédiaire de la fonction implémentée, le processus d'adaptation pour l'optimisation sera ajouté au modèle d'IA intégré.
Comme cas d'étude pour la validation de ces objectifs, nous nous concentrerons sur deux exemples simples: une fonction de filtrage à réponse impulsionnelle finie (FIR) et une machine à états finis (FSM). Ces deux exemples simples ont l'avantage de combiner des aspects combinatoires et séquentiels et peuvent être optimisés par une légère modification de l'architecture.

Informations complémentaires

Profil requis :
- Master en informatique ou électronique (système embarqué);
- Le candidat doit avoir de compétences solides dans au moins un des domaines suivants:
architectures FPGA, modèle de systèmes d'architecture matérielle, algorithmes CNN et
apprentissage automatique;
- Une maîtrise ou une expérience préalable dans les domaines suivants sera fortement
appréciée: génération de flux binaire et outils VTR, interprétation symbolique et fusion de modèles symboliques arbres binaires et flous.
Des compétences en communication écrite (en français et / ou en anglais) sont également une condition préalable. Les candidats prouveront et / ou justifieront les connaissances et compétences demandées en fournissant:
- Un CV;
- Une lettre de motivation conforme au projet de doctorat proposé;
- Tous les documents attestant les compétences et connaissances demandées;
- Relevé de notes des deux années de Master, ou des deux dernières années d'école d'ingénieur.

On en parle sur Twitter !