Ingénieur Apertus : Infrastructure
- Type de contrat
- Temps plein
- Lieu
- Zürich · Télétravail possible
- Entreprise
- ETH Zürich, Binzmühlestrasse 130, 8050 Zürich
- Langues
- Anglais (courant)
- Première publication
Nous recherchons un ingénieur en infrastructure qualifié pour rejoindre l'équipe Apertus. Le candidat idéal sera responsable de la pile d'images de conteneurs derrière nos charges de travail de pré-entraînement, de post-entraînement et de service (serving), et collaborera avec les ingénieurs du CSCS pour maintenir l'entraînement à grande échelle sur Alps stable et rapide. Ce rôle nécessite de solides compétences en Linux et en conteneurs, de l'expérience avec les environnements HPC, et la capacité de travailler de manière collaborative avec les équipes de recherche, d'ingénierie et d'opérations.
Le projet Apertus, un effort conjoint entre l'EPFL, l'ETH Zürich et le CSCS, recherche un ingénieur en infrastructure pratique et motivé pour aider à construire la prochaine version d'Apertus. Le candidat retenu sera responsable de la pile d'images de conteneurs et travaillera en étroite collaboration avec le CSCS pour maintenir l'entraînement à grande échelle stable et rapide.
Nous entraînons des modèles de fondation ouverts avec des centaines de milliards de paramètres sur des milliers de GPU sur l'un des plus grands supercalculateurs prêts pour l'IA en Europe. L'équipe compte plus d'une douzaine d'ingénieurs à plein temps travaillant aux côtés de chercheurs de premier plan de l'EPFL et de l'ETH Zürich, a publié les modèles Apertus 1 et Apertus 1.5, et travaille avec plus de trente collaborateurs académiques pour fournir des modèles d'IA multilingues et multimodaux, entièrement ouverts (open source) et entraînés de manière responsable pour la recherche et l'industrie.
Apertus est entraîné et développé sur Alps, l'infrastructure de supercalcul du Swiss National Supercomputing Centre (CSCS). Le rôle nécessite une personne à l'aise avec le travail dans un environnement HPC et la collaboration avec des chercheurs et des ingénieurs en infrastructure.
L'ingénieur permettra la stabilité et le débit des pipelines de pré-entraînement et de post-entraînement d'Apertus en maintenant les images du système ML et en étant partenaire du CSCS sur l'infrastructure sous-jacente.
Maintenance des images du système ML
Construire, maintenir et mettre à niveau les images de conteneurs pour toutes les phases de développement ML centrales : pré-entraînement, post-entraînement/alignement, et service/déploiement des modèles
Cibler l'architecture de nœud basée sur ARM (aarch64, Grace-Hopper) d'Alps, en gérant toute la pile de dépendances (CUDA, NCCL, PyTorch, frameworks d'entraînement et de service)
Maintenir les builds d'images reproductibles, versionnés et documentés, y compris la CI pour les builds et les mises à niveau
Valider les images par rapport aux charges de travail de référence de pré-entraînement et de post-entraînement avec les ingénieurs Apertus, et maintenir des exemples de lancement fonctionnels
Partenariat de calcul et efficacité
Servir de principal point de contact technique avec les ingénieurs et chercheurs du CSCS concernant le calcul, la fiabilité et l'efficacité
Travailler en collaboration avec le personnel du CSCS pour identifier et mettre en œuvre des améliorations dans l'efficacité et la performance de l'infrastructure de calcul sous-jacente, en chevauchant l'ingénierie de performance des systèmes ML
Contribuer aux améliorations systémiques des ressources basées sur le CSCS (réseau, stockage, ordonnancement) pertinentes pour l'entraînement de LLM à grande échelle
Documenter et diffuser les connaissances institutionnelles sur l'infrastructure du CSCS et les meilleures pratiques pour exploiter ces systèmes de haute performance
Tests de stress de l'infrastructure
Tester la résistance de l'infrastructure en utilisant des charges de travail représentatives de pré-entraînement et de post-entraînement, en s'appuyant sur les recettes et exemples existants du projet, pour valider la stabilité et le débit après les mises à niveau d'images, la maintenance du système et les changements de configuration
Travailler en étroite collaboration avec les ingénieurs de pré-entraînement et de post-entraînement d'Apertus pour déboguer les problèmes au niveau du cluster affectant la stabilité et le débit : défaillances de nœuds, réseau, performance de stockage, checkpointing et ordonnancement
Prendre en charge la pile de service d'Apertus, qui repose sur les mêmes images (l'exploitation de la pile de service est assurée par un ingénieur distinct)
Essentiel
MSc ou PhD en informatique, science des données, intelligence artificielle, apprentissage automatique ou dans un domaine connexe
Les candidats exceptionnels de niveau BSc avec une solide expérience en ingénierie seront également considérés
Expérience pratique des environnements HPC : ordonnanceurs de tâches tels que Slurm, systèmes de fichiers partagés et systèmes GPU multi-nœuds
Solides compétences en systèmes Linux et conteneurs (Docker/Podman et runtimes HPC tels qu'enroot ou Apptainer)
Solides compétences en collaboration et en communication et capacité à travailler entre les équipes de recherche, d'ingénierie et d'opérations
Une expérience pratique préalable dans les domaines centraux de ce rôle est requise
Cela peut être une expérience basée sur des projets ou des études ; une expérience professionnelle formelle est préférée
Un haut degré de flexibilité : les priorités, les outils et les tâches quotidiennes changent avec les calendriers d'entraînement, les versions et un domaine en évolution rapide
Fortement préféré
Familiarité avec les frameworks d'entraînement et de service de LLM tels que Megatron-LM, PyTorch distributed, vLLM ou SGLang
Expérience dans la construction ou l'adaptation de conteneurs pour les plateformes ARM64/aarch64
Familiarité avec les piles de communication et de réseau HPC : Slingshot, libfabric, NCCL et son débogage
Expérience avec les systèmes de fichiers parallèles (ex. Lustre) et l'optimisation des performances de stockage
Expérience dans la mise en place de pipelines CI/CD pour les builds d'images de conteneurs
Atout
Recherch
Traduit automatiquement depuis l’original.
Publié il y a 2 jours