DESCRIPTION :
L'objectif de votre stage sera donc de :
* Mettre en œuvre des techniques adaptées d'optimisation - par exemple d'élagage (pruning) et de quantification (quantization) - de ces réseaux afin d'en réaliser une optimisation plus avancée et d'en limiter l'occupation mémoire et la consommation électrique. Cette optimisation est bien sûr réalisée en compromis avec d'autres paramètres comme la fréquence de traitement des images, les performances de détection du réseau, …
* Puis réaliser l'intégration complète de l'un de ces modèles dans la plateforme matérielle cible, au plus près du capteur et de la caméra (« edge computing »), de manière à disposer d'une chaine de traitement embarquée complète et fonctionnelle.
Intégré(e) au sein de notre Bureau d'étude Informatique et Traitement du signal composé de 17 personnes, nous vous proposons les missions suivantes :
* Reprendre la main sur les travaux déjà engagés chez Bertin Technologies, d'élagage et de quantification de réseaux de neurones, actuellement appliqués à des réseaux de neurones de détection d'objets (famille YOLO).
* Adapter ces outils à l'optimisation de la nouvelle famille de réseaux de neurones de tracking, et :
o Identifier et se doter des outils adéquats, éventuellement manquants actuellement ;
o Mettre en œuvre des techniques adaptées d'élagage (pruning) et de quantification (quantization) de ces réseaux ;
o Relancer si besoin des processus d'entrainement du réseau de neurones de tracking dans des phases éventuelles de fine tuning ;
Ces missions seront réalisées en langage Python sous Pytorch, en étroite collaboration avec nos équipes en charge du développement algorithmique.
C'est au sein de nos équipes en charge du développement des architectures embarquées pour les produits optroniques que seront menées les missions suivantes :
* Réaliser l'intégration d'au moins un des modèles identifiés dans la plateforme matérielle finale (de type FPGA), pour réaliser le portage temps-réel de ce modèle
o Les travaux seront réalisés à partir d'un SDK en langage C, associés à la plateforme matérielle intégrant le FPGA
* Comparer les performances finales obtenues avec le modèle avant / après portage
Les résultats attendus à l'issue de votre stage sont les suivants :
* Sélection de l'un des réseaux de neurones de tracking d'objets parmi les différents candidats possibles pour réaliser son portage hardware ;
* Développement d'une bibliothèque complémentaire de portage hardware de réseaux de neurones de tracking, via des techniques de quantification, d'élagage ou de fine tuning ;
* Mise en œuvre de cette bibliothèque et adaptation du modèle sélectionné, afin de faciliter son portage sur une architecture temps-réel à base de FPGA ;
* Portage effectif du modèle sur l'architecture temps-réel finale à base de FPGA (optimisations matérielles, conversion via SDK du FPGA sélectionné, intégration software et hardware du réseau) ;
* Evaluation comparatives de performances de ce modèle avant / après portage.
Idéalement, ce stage d'une durée de 6 mois commencera en février 2025 (date flexible).
Aymeric, votre tuteur vous accompagnera dans la réussite de votre stage afin de faciliter votre intégration et votre montée en compétences.
Code d'emploi : Stagiaire (h/f)
Niveau de formation : Bac+5
Temps partiel / Temps plein : Plein temps
Type de contrat : Stage/Jeune diplômé
Compétences : C ++ (Langage de Programmation), FPGA, Python (Langage de Programmation), Hardware Description Language Vhsic (Vhdl), Traitement des Données, Pytorch, Deep Learning, Anglais, Optimisme, Enthousiasme, Esprit d'Équipe, Montrer du Courage, Curiosité, Algorithmes, Abattage d'Arbres, Architecture, Télécommunications, Conception de Documents, Approche Pluridisciplinaire, Neurones, Photonique, Quantification, Compétences de Modélisation, Architecture Matérielle
Type d'annonceur : Employeur direct