Description du poste
*Contexte*
Le projet MLCUT vise à développer une plateforme logicielle expérimentale dédiée à l’étude et à l’évaluation de stratégies de parallélisation de réseaux de neurones sur architectures CPU et GPU.
La plateforme repose sur une interface graphique interactive basée sur Streamlit, permettant d’explorer différentes stratégies de découpage et d’orchestration des calculs en fonction des ressources matérielles disponibles.
Une première version fonctionnelle a déjà été développée pour un perceptron multicouche (MLP) appliqué à des tâches de classification binaire sur des données tabulaires normalisées.
Cette version implémente une stratégie de découpage horizontal des couches cachées (H-layer Cut) et prend en charge plusieurs backends d’exécution : threads, multiprocessing, Dask (threads, processes, distributed) ainsi que le calcul GPU via CuPy.
Un orchestrateur automatique sélectionne la stratégie d’exécution la plus adaptée en fonction des ressources et des caractéristiques du problème.
Objectifs du stage
L’objectif du stage est d’étendre et de consolider la plateforme MLCUT, notamment en :
* Étendant les cas d’usage à la classification multiclasse et à la régression
* Définissant une formalisation méthodologique plus rigoureuse des stratégies de parallélisation
* Mettant en place des protocoles expérimentaux reproductibles (speedup, efficacité parallèle, scalabilité forte et faible)
* Améliorant la robustesse, la modularité et la maintenabilité de la plateforme logicielle
Profil recherché
* Étudiant(e) en Master 2 ou en cycle ingénieur
* Bon niveau en programmation Python
* Intérêt marqué pour le calcul parallèle et distribué, les architectures CPU/GPU et l’ingénierie logicielle scientifique
* Des connaissances en HPC, multiprocessing, GPU computing ou systèmes distribués sont un plus
Environnement technique
* Python
* Streamlit
* Threading et multiprocessing
* Dask
* CuPy
* Environnements CPU et GPU
Type d'emploi : Stage
Durée du contrat : 6 mois
Rémunération : 650,00€ à 900,00€ par mois
Lieu du poste : En présentiel