Où docteurs et entreprises se rencontrent
Menu
Connexion

Vous avez déjà un compte ?

Nouvel utilisateur ?

Mise en place d’outils FPGA pour l’implémentation d’Early Exits

ABG-127729 Stage master 2 / Ingénieur 6 mois 609
02/01/2025
Université de Bretagne Occidentale / Lab-STICC
Brest Bretagne France
  • Informatique
IA, FPGA, systèmes embarqués, CNN

Établissement recruteur

L'Université de Bretagne Occidentale (UBO) est une université publique française située à Brest, en Bretagne. Elle propose un large éventail de formations et de programmes de recherche dans divers domaines, notamment les sciences, les lettres, les langues, le droit, l'économie, la gestion, les sciences humaines et sociales, et la santé. Fondée en 1971, l'UBO se distingue par son fort engagement régional et son ouverture à l'international, favorisant les échanges et partenariats avec de nombreuses institutions à travers le monde.

Le LAB-STICC (Laboratoire en Sciences et Techniques de l'Information, de la Communication et de la Connaissance) est un laboratoire de recherche associé à l'UBO, mais aussi à d’autres établissements bretons comme l’Université de Bretagne-Sud et l’École Nationale Supérieure de Techniques Avancées Bretagne (ENSTA Bretagne). Ses activités de recherche sont focalisées sur les systèmes numériques et les technologies de l’information et de la communication. Le LAB-STICC travaille sur des thématiques variées allant des télécommunications, des systèmes embarqués, de la microélectronique, de l'intelligence artificielle, jusqu’à la robotique et la sécurité des systèmes.

Ensemble, l'UBO et le LAB-STICC contribuent significativement à l'avancée des connaissances scientifiques et technologiques, ainsi qu'au développement et à l'innovation dans la région Bretagne et au-delà.

Description

L’objectif est d’implémenter un réseau de neurones convolutif avec des Early Exit (sorties anticipées) sur FPGA et de déterminer le gain en latence, ressource, énergie par rapport à un CNN classique et par rapport à l’implémentation software sur CPU / GPU de ce même CNN avec et sans Early Exit.

L’implémentation du CNN sur FPGA se fera à l’aide du framework HLS4ML, environnement déjà installé et fonctionnel. La carte est une ZCU102 équipée d’un MPSoc Ultrascale installée sous Ubuntu avec Pynq (environnement d’exécution associé à HLS4ML, FINN, etc)

  • Analyse de résultats CNN software avec et sans EE : Après sélection d’une architecture CNN, comparaison des résultats avec et sans EE en software (sur python) et validation de l’utilisation d’EE pour cette architecture et ce cas d’étude
  • Implémentation CNN sans EE : Implémenter sans Early Exit (EE) l’architecture CNN précédemment définie sur FPGA et évaluer ses performances à l’aide de métriques type accuracy, precision, recall, matrice de confusion, courbe AUC. Optimiser l’implémentation.
  • Implémentation CNN avec EE en modifiant les sources HLS et intégrer le mécanisme d’EE, puis refaire l’implémentation FPGA et analyser les résultats et comparer à la version sans EE et la version EE software.
  • Etude des variantes possible Edge/cloud associées aux EE comme la communication entre le fpga et CPU ou cloud, ou l’association de modèles de taille différente.

Il faudra par la suite automatiser la mise en place d’EE en modifiant le framework HLS4ML pour transformer un CNN python avec EE et l’implémenter sur FPGA.

Profil

  • Formation : Master informatique
  • Compétences techniques :
    • Langages de prgrammation : Python, C,  C++, voir VHDL, connaissance en bash, et linux,
    • Chaines d’outil : maitrise de la chaine Xilinx (HLS, Vivado, Vitis), TensorFlow
    • Quelsues notions de CUDA (optionnel)
    • Connaissances générales en Intelligence artificielle, CNN, MLP, entrainement des réseaux de neurones, leurs paramètres d’architecture et les hyperparamètres.
    • Connaissances générales en cybersécurité

Prise de fonction

Dès que possible
Partager via
Postuler
Fermer

Vous avez déjà un compte ?

Nouvel utilisateur ?