ETH Zürich
Apertus Engineer: Infrastructure
📍 Zurich
Role and responsibilities
The engineer will enable stability and throughput for the Apertus pre-training and post-training pipelines by maintaining the ML system images and partnering with CSCS on the underlying infrastructure. ML system image maintenance: Build, maintain, and upgrade container images for all core ML development phases: pre-training, post-training/alignment, and model serving/deployment. Target the ARM-based (aarch64, Grace-Hopper) node architecture of Alps, managing the full dependency stack (CUDA, NCCL, PyTorch, training and serving frameworks). Keep image builds reproducible, versioned, and documented, including CI for builds and upgrades. Validate images against reference pre-training and post-training workloads together with Apertus engineers, and maintain working launch examples. Compute partnership and efficiency: Serve as the primary technical point of contact with CSCS engineers and researchers regarding compute, reliability, and efficiency. Work collaboratively with CSCS staff to identify and implement improvements in the efficiency and performance of the underlying compute infrastructure, overlapping with ML systems performance engineering. Contribute to systemic improvements in CSCS-based resources (network, storage, scheduling) relevant to large-scale LLM training. Document and disseminate institutional knowledge about the CSCS infrastructure and best practices for leveraging these high-performance systems. Infrastructure stress testing: Stress test the infrastructure using representative pre-training and post-training workloads, building on the project's existing recipes and examples, to validate stability and throughput after image upgrades, system maintenance, and configuration changes. Work closely with Apertus pre-training and post-training engineers to debug cluster-level problems affecting stability and throughput: node failures, networking, storage performance, checkpointing, and scheduling. Support the Apertus serving stack, which builds on the same images (operation of the serving stack is owned by a separate engineer).
Team / description
The Apertus project, a joint effort between EPFL, ETH Zürich, and CSCS, is seeking a practical and motivated infrastructure engineer to help build the next version of Apertus. We train open foundation models with hundreds of billions of parameters on thousands of GPUs on one of the largest AI-ready supercomputers in Europe. The team counts more than a dozen full-time engineers working alongside leading researchers from EPFL and ETH Zürich, has released the Apertus 1 and Apertus 1.5 models, and works with over thirty academic collaborators to deliver fully open (open source), responsibly trained, multilingual, multimodal AI models for research and industry. Apertus is trained and developed on Alps, the Swiss National Supercomputing Centre's (CSCS) supercomputing infrastructure. The role requires someone who is comfortable working in an HPC environment and collaborating with researchers and infrastructure engineers.
Qualifications and Skills
MSc or PhD in Computer Science, Data Science, Artificial Intelligence, Machine Learning, or a related field
Exceptional BSc candidates with strong engineering experience will also be considered
Hands-on experience with HPC environments: job schedulers such as Slurm, shared filesystems, and multi-node GPU systems
Strong Linux systems and container skills (Docker/Podman and HPC runtimes such as enroot or Apptainer)
Strong collaboration and communication skills and ability to work across research, engineering, and operations teams
Prior hands-on experience in the core domains of this role is required
This can be project or study based experience; formal work experience is preferred
A high degree of flexibility: priorities, tools, and day-to-day tasks shift with training schedules, releases, and a fast-moving field
Familiarity with LLM training and serving frameworks such as Megatron-LM, PyTorch distributed, vLLM, or SGLang
Experience building or adapting containers for ARM64/aarch64 platforms
Familiarity with HPC networking and communication stacks: Slingshot, libfabric, NCCL and its debugging
Experience with parallel filesystems (e.g. Lustre) and storage performance tuning
Experience setting up CI/CD pipelines for container image builds
Published research in the domains relevant to this role, or familiarity with recently published research on these topics
Experience profiling distributed GPU workloads (Nsight, DCGM, communication benchmarks) and translating findings into infrastructure improvements
Experience with Grace-Hopper (GH200) or other tightly coupled CPU-GPU architectures
Contributions to open-source infrastructure or ML tooling