Efficient Implementation Of Transformer-Based Models For Embedded Devices H/F
Palaiseau (Essonne)
Description de l'offre
Description
Rejoignez-nous en Stage ! CEA Tech Corporate from CEA Tech on Vimeo. Description du poste : L'objectif principal est de renforcer les projets internes en cours et futurs via la plateforme open-source du CEA, Aidge [1]. Celle-ci offre un support étendu pour différents opérateurs couramment utilisés dans les modèles CNN et au-delà, et permet de générer des implémentations C++ pour des dispositifs embarqués. Le stage vise à exploiter la base de code existante et l'expertise disponible pour étendre la couverture des modèles. Ansi, nous cherchons à augumenter les capacités de la plateforme pour inclure les architectures les plus récentes. Cela impliquera de proposer des implémentations de référence en C++ pour des plateformes matérielles cibles, en fonction de l'avancement du stage. Pour référence, le ou la candidat·e pourra s'appuyer sur des implémentations telles que XNNPACK [2], GGML [3] et FBGEMM [4]. Le stage se concentrera initialement sur les modèles de vision (ViT [5]). La première tâche consistera en une étude visant à comprendre les blocs de base les plus courants et la faisabilité de leur implémentation sur des dispositifs embarqués. Le ou la stagiaire identifiera ce qui a déjà été réalisé ainsi que les limites imposées par les ressources computationnelles cibles. Ces blocs identifiés seront ensuite implémentés en virgule flottante dans la plateforme Aidge en utilisant le C++. Le résultat attendu du stage est la génération du code nécessaire à l'exécution d'un modèle de référence sur une cible matérielle donnée. Les principales missions du ou de la candidat·e seront les suivantes : * Une étude de faisabilité sur les limites d'embarcabilité des derniers modèles de type ViT. * Implémentation des couches/opérateurs en C++ (LayerNorm, Multi-head Attention, Softmax, GeLU, Linear, etc.) dans la plateforme Aidge. * Optimisation des implémentations pour les cibles x86 et ARM Cortex-M. * (Bonus) Extension sur ARM Cortex-A. * (Bonus) Possibilité d'étendre les travaux à des modèles de type LLM. * (Bonus) Une implémentation complète en entier. Le ou la candidat·e sera amené·e à collaborer et échanger régulièrement avec des chercheurs et ingénieurs au sein d'une équipe dynamique et pluridisciplinaire. Références : [1] - Aidge : https://eclipse.dev/aidge/ [2] - XNNPACK : https://github.com/google/XNNPACK [3] - GGML: https://github.com/ggml-org/ggml [4] - FBGEMM: https://github.com/pytorch/FBGEMM [5] - Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2 (2020).
Date de début
29 sept., 2025
Profil
Qu'attendons-nous de vous ? Vous préparez un diplôme de niveau Bac +5 dans le domaine des systèmes embarquées et du traitement de signal. Vous êtes passionné par la recherche scientifique et technologique. Idéalement, vous possédez une première expérience de travail avec le C++ et les réseuax de neurones. Des notions sur Pytorch et les réseuax du type transformer sont un plus. La maitrise de lecture de papiers scientifiques de référence en anglais serait également appréciée. Compétences : [Obligatoire] * Une première expérience en développement en C++ * Git [Préférable] * Connaissances des architectures matérielles * Connaissances en Python * Réseaux de neurones et transformer Rejoignez-nous, venez développer vos compétences et en acquérir de nouvelles ! Vous avez encore un doute ? Nous vous proposons : L'opportunité de travailler au sein d'une organisation de renommée mondiale dans le domaine de la recherche scientifique, Un environnement unique dédié à des projets ambitieux au profit des grands enjeux sociétaux actuels, Une expérience à la pointe de l'innovation, comportant un fort potentiel de développement industriel, Des moyens expérimentaux exceptionnels et un encadrement de qualité, De réelles opportunités de carrière à l'issue de votre stage Un poste au coeur de la métropole grenobloise, facilement accessible via la mobilité douce favorisée par le CEA, Une participation aux transports en commun à hauteur de 85%, Un équilibre vie privée - vie professionnelle reconnu, Un restaurant d'entreprise, Une politique diversité et inclusion, Conformément aux engagements pris par le CEA en faveur de l'intégration des personnes handicapées, cet emploi est ouvert à toutes et à tous. Le CEA propose des aménagements et/ou des possibilités d'organisation pour l'inclusion des travailleurs handicapés.
Durée (Mois)
6
Formation
RJ/Qualif/Ingenieur_B5
Secteur
Ind_hightech_telecom