Research Engineer, LLM (H/F)
Il s'agit d'un poste junior pour une personne qui vient de terminer ses études (diplôme universitaire ou master en informatique) et qui souhaite travailler sur l'entraînement de LLM de pointe. Vous travaillerez directement avec des ingénieurs seniors et devrez avoir une solide compréhension des concepts de deep learning ainsi qu'une expérience pratique de l'entraînement de LLM à petite échelle.
Vous pourrez être amené(e) à intervenir sur une ou plusieurs étapes de la pipeline, ce qui comprend les données, l'entraînement, le post-entraînement et l'évaluation. Votre périmètre exact sera déterminé pendant le processus d'entretien, selon votre profil et les besoins de l'équipe.
Ce que vous ferez
Préparer et analyser les données d'entraînement : écrire des scripts de filtrage et de déduplication, inspecter des échantillons de donnée, concevoir de petits classifieurs de qualité, générer et valider des données synthétiques.
Fine-tuner des modèles (SFT, DPO, RL) sur des données spécifiques et mesurer l'impact.
Exécuter et étendre notre suite d'évaluation : ajouter des benchmarks, construire de petits ensembles de test spécifiques à un domaine, analyser les échecs.
Aider à opérer les runs d'entraînement sur le cluster : lancer des jobs, surveiller les métriques, repérer les problèmes, écrire les outils nécessaires pour les corriger.
Reproduire les résultats d'articles de recherche sur de petits modèles et rendre compte de ce qui est transposable ou non.
Contribuer aux outils internes, aux tableaux de bord et à la documentation.
Ce que nous recherchons
Un Master (ou équivalent) en informatique, machine learning, mathématiques appliquées ou domaine connexe ; les doctorants en fin de thèse sont les bienvenus.
De solides compétences en Python. Vous écrivez du code que d'autres peuvent lire, et vous savez utiliser git, rédiger des tests.
Une expérience pratique de PyTorch et de l'écosystème Hugging Face (transformers, datasets, tokenizers, trl ou peft) acquise au travers des cours, stages ou projets personnels. Vous avez fine-tuné au moins un modèle vous-même et pouvez expliquer ce qu'il s'est passé.
Une bonne compréhension du fonctionnement des transformers (attention, encodages positionnels, tokenisation, objectifs d'entraînement) et du cycle de vie de base de l'entraînement des LLM (pretraining, SFT, RLHF/DPO, RLVR).
Être à l'aise avec Linux, les lignes de commandes et le travail sur des machines distantes.
De la curiosité, de la rigueur dans l'analyse des données, et être capable de dire « je ne sais pas, je vais vérifier ».
Anglais et français courants (écrit et oral).
Les atouts appréciables
Un stage ou une thèse en NLP, LLM ou systèmes de ML.
Avoir lancé un job sur un cluster GPU (Slurm) ou utilisé l'entraînement multi-GPU, même à petite échelle.
Une familiarité avec les outils d'évaluation (lm-eval-harness) ou avec vLLM pour l'inférence rapide.
Une certaine exposition au RL (un cours, un projet, un notebook RLHF/GRPO).
Une expérience du traitement de données à grande échelle (Spark, Ray, datatrove, DuckDB, gestion de fichiers volumineux).
Un intérêt pour les architectures efficientes, le contexte long ou les modèles non-Transformer.
Un GitHub, un article de blog ou un profil Kaggle / Hugging Face montrant ce que vous aimez construire.