ETH Zürich
Apertus Engineer: Post-training
📍 Zurich
Role and responsibilities
The engineer will contribute to the development, execution, and evaluation of scalable post-training workflows for Apertus. Build and maintain containerised environments for LLM post-training and RL workloads. Adapt containers and dependencies for execution on Alps / CSCS infrastructure. Run and monitor Slurm-based training and evaluation jobs. Debug failures related to distributed execution, checkpointing, filesystem performance, networking, and GPU utilisation. Help maintain reproducible training recipes, configuration files, launch scripts, and documentation. Work with researchers and CSCS engineers to improve the reliability and performance of large-scale experiments. Support SFT, preference optimisation, and reinforcement learning workflows. Build and run RL environments for tasks with verifiable outcomes, such as mathematics, code, tool-use, and reasoning. Implement and run reward modelling, reward calibration, and verifier-based training. Generate and validate synthetic or gym training tasks. Run ablation studies comparing algorithms, reward functions, data mixtures, hyperparameters, and infrastructure settings. Evaluate model behaviour across reasoning, coding, mathematics, instruction-following, multilingual, tool-use, and safety benchmarks. Debug common post-training issues, including optimisation instability, reward hacking, regressions, and evaluation failures.
Team / description
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 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
Experience in AI and neural network architectures
Strong collaboration and communication skills and ability to work across research and engineering 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
Hands-on experience with LLM post-training, be it alignment (SFT, preference optimisation) or reinforcement learning
This means experience with frameworks such as veRL, slime, Megatron-LM, DeepSpeed, TRL, vLLM, SGLang, or similar tools
Familiarity with distributed training concepts such as data parallelism, tensor parallelism, pipeline parallelism, checkpointing, and GPU communication
Experience with Slurm or another HPC workload manager
Experience building or adapting containers for HPC or GPU clusters
Published research in the domains relevant to this role, or familiarity with recently published research on these topics
Experience creating verifiable tasks for mathematics, code, reasoning, or tool use
Familiarity with lower-level GPU/distributed libraries such as NCCL, Transformer Engine, FlashAttention, or communication backends
Experience with large-scale evaluation pipelines