B&A
Sciforium
Ingénieur en entraînement et inférence distribués
À propos du poste
Sciforium est une entreprise d'infrastructure IA qui développe des modèles d'IA multimodaux de nouvelle génération ainsi qu'une plateforme de service propriétaire à haute efficacité. Soutenue par un financement de plusieurs millions de dollars et parrainée directement par AMD avec le support technique de ses ingénieurs, l'équipe connaît une croissance rapide pour construire la full stack qui alimente les modèles d'IA de pointe et les applications en temps réel.
À propos du poste
Sciforium recherche un ingénieur en entraînement et inférence distribués hautement qualifié pour concevoir, optimiser et maintenir la pile logicielle critique qui alimente nos charges de travail d'entraînement et de service IA à grande échelle. Dans ce rôle, vous travaillerez sur l'ensemble de l'infrastructure machine learning allant des runtimes CUDA/ROCm de bas niveau aux frameworks de haut niveau tels que JAX et PyTorch afin de garantir que nos systèmes d'entraînement distribués soient rapides, évolutifs, stables et efficaces.
Ce poste est idéal pour une personne passionnée par l'ingénierie système approfondie, le débogage d'interactions complexes entre matériel et logiciel, et l'optimisation des performances à chaque couche de la pile ML. Vous jouerez un rôle clé dans l'entraînement et le déploiement des LLMs et des modèles d'IA générative de nouvelle génération.
Vos missions
- Maintenance de la pile logicielle : Maintenir, mettre à jour et optimiser les bibliothèques et frameworks ML critiques, notamment JAX, PyTorch, CUDA et ROCm, à travers divers environnements et configurations matérielles.
- Responsabilité de la pile de bout en bout : Construire, maintenir et améliorer continuellement l'ensemble de la pile logicielle ML, des pilotes ROCm/CUDA aux outils JAX/PyTorch de haut niveau.
- Optimisation des systèmes distribués : Veiller à ce que toutes les implémentations de modèles soient efficacement fragmentées, partitionnées et configurées pour l'entraînement et le service distribués à grande échelle.
- Intégration système : Intégrer et valider en continu les modules pour garantir la justesse du runtime, l'efficacité de la mémoire et l'évolutivité sur des clusters de GPU/accélérateurs multi-nœuds.
- Profilage et analyse de performance : Effectuer un profilage détaillé des graphes de compilation, des charges de travail d'entraînement et de l'exécution du runtime afin d'optimiser les performances et d'éliminer les goulots d'étranglement.
- Débogage et fiabilité : Résoudre les problèmes complexes d'interaction matériel-logiciel, y compris les échecs de compilation vLLM sur ROCm, les fuites de mémoire CUDA, les défaillances de runtime distribué et les incohérences au niveau du noyau.
Collaborer avec les équipes de recherche, d'infrastructure et d'ingénierie noyau pour améliorer le débit du système, la stabilité et l'expérience des développeurs.
Profil recherché
- 5+ années d'expérience dans l'industrie en systèmes ML, entraînement distribué ou domaines connexes.
- Diplôme de niveau Master ou équivalent en informatique, génie informatique, génie électrique ou domaines techniques connexes.
- Solide expérience en programmation avec Python, C++ et une bonne maîtrise des outils ML et des systèmes distribués.
- Compréhension approfondie des outils de profilage (ex. : Nsight, ROCm Profiler, XLA profiler, outils TPU).
- Expertise approfondie en configuration de partitionnement sur les frameworks ML modernes tels que PyTorch et JAX.
- Expérience avec les systèmes d'entraînement distribués multi-nœuds et les frameworks d'orchestration (DTensor, GSPMD, etc.).
- Expérience pratique dans la maintenance ou la construction de piles d'entraînement ML impliquant CUDA, ROCm, NCCL, XLA ou des technologies similaires.
Compétences appréciées
- Expérience étendue avec la pile XLA/JAX, incluant les mécanismes internes de compilation et les chemins de conversion personnalisés.
- Connaissance des frameworks de service distribué ou d'inférence à grande échelle (ex. : vLLM, TensorRT, FasterTransformer).
- Expérience en optimisation de noyaux GPU ou en partitionnement de modèles tenant compte des accélérateurs.
- Solide compréhension des briques de base C++ de bas niveau utilisées dans les frameworks ML (ex. : XLA, noyaux CUDA, opérations personnalisées).
Avantages
- Assurance santé, dentaire et optique
- Plan 401k
- Déjeuners, collations et boissons offerts quotidiennement
- Congés flexibles
- Salaire compétitif et participation au capital
Égalité des chances
Sciforium est un employeur garantissant l'égalité des chances. Tous les candidats seront pris en considération pour un emploi sans distinction de race, couleur, religion, sexe, orientation sexuelle, identité de genre, origine nationale, statut d'ancien combattant ou handicap.
