About this role
Summary: The internship involves studying and implementing a lightweight KV cache mechanism for efficient transformer deployment on edge systems. The candidate will analyze requirements, develop a functional C++ model, and implement it within a selected LLM architecture.
### Sujet de stage
L'engouement pour les modèles de réseaux de neurones type Transformers dédiés aux tâches IA dites génératives ne se dément pas. De nombreux modèles ont été mis à disposition par les différents acteurs du marché. S'appuyant sur la disponibilité et l'exploitation d'immense base de données et d'un apprentissage profond coûteux, les performances atteintes pour la création de contenu sont très élevées sur des architectures GPU. Cependant, ces larges modèles sont gourmands en mémoire et par conséquent très énergivore ce qui rend leur utilisation dans le domaine de l'embarqué très ardue. Dans le cas d'un LLM, le principal verrou repose notamment sur un accès massif à la mémoire. Un module dit « KV Cache » permet de pallier ce problème. Aussi, le LIAE s'intéresse à l'étude et la faisabilité de l'implémentation de ce type de fonctionnalité. L'idée principale est d'analyser et de quantifier les besoins et les limites pour un déploiement sur des architectures type CPU, GPU ou SoC...
### Description de l'offre
En tant que stagiaire au CEA, vous aurez l'opportunité de travailler au sein d'un environnement de recherche de renommée mondiale. Nos équipes sont composées d'experts passionnés et dédiés, offrant un cadre propice à l'apprentissage et à la collaboration. Vous aurez accès à des équipements de pointe et à des ressources de recherche de premier ordre pour mener à bien vos missions. Éventuellement, les travaux menés donneront lieu à une publication scientifique.
Contexte
Dans le cadre de ses activités sur de conception d’inférence légère pour l’embarqué, le LIAE s’intéresse à l’étude et la faisabilité de l’implémentation de ce type de fonctionnalité. L’idée principale est d’analyser et de quantifier les besoins et les limites pour un déploiement sur des architectures type CPU, GPU ou SoC...
Qu'attendons-nous de vous?
Dans ce contexte, l’objectif de ce stage est de :
· Fournir un état de l’art croisé et étayé à la fois des besoins de LLM choisis judicieusement et des différentes méthodes décrites dans la littérature,
· Développer et valider un modèle fonctionnel léger d’un « KV cache » en langage C++ dans l’outil du laboratoire,
· Mettre en œuvre le mécanisme dans un modèle LLM retenu.
#*Cea List*
### Profil du candidat
Profil :
Niveau demandé : 3ème année étude ingénieur ou master 2
Compétences : 1ère expérience avec Pytorch et C++, mise en œuvre d’inférence, des notions sur les architectures matérielles serait un plus
Pièces à fournir : CV + Lettre de motivation + Relevés de notes des 3 dernières années
