EN
Contact
Menu
All roles

Engineering · Good AI Labs

ML Systems Engineer, Training & Inference

Make training dependable and inference fast enough for robotics, from data loading to execution on CPU and GPU.

  • Distributed training
  • GPU performance
  • Inference systems

We are hiring an ML Systems Engineer to improve the training and execution of models for robotics. You will work on the systems behind foundational-model training, reinforcement learning and computer vision, with responsibility for performance, reliability and efficient use of compute.

The work requires understanding the full path from data preparation to model execution. A useful improvement may come from a training pipeline, memory layout, inference runtime or the way observations reach the model. You will identify the bottlenecks that matter, implement changes and verify their effect under the conditions in which researchers and robots use the system.

Responsibilities

  • Profile training and inference workloads to locate bottlenecks in computation, memory, data loading and device communication.
  • Improve CPU and GPU execution through appropriate changes to batching, precision, compilation, memory use or runtime configuration.
  • Build reliable training infrastructure for distributed execution, checkpointing, recovery and tracking resource use.
  • Support simulation and RL workloads where rollout collection, policy updates and evaluation compete for compute.
  • Develop performance benchmarks that capture throughput, latency distributions, peak memory and numerical behaviour under documented conditions.
  • Work with researchers to make new architectures trainable and to understand the systems implications of model and data choices.
  • Support integration of inference into robotics workflows, accounting for input preparation, data transfer and the time available to produce an action.

Qualifications

  • BS, MS or PhD in computer science, computer engineering or a related field, or substantial systems work demonstrating equivalent technical depth.

  • Direct experience building or operating model-training systems, with ownership of performance, reliability or distributed execution.

  • Proficiency in Python and a deep-learning framework such as PyTorch, with the ability to investigate behaviour below the model API.

  • Solid understanding of memory hierarchies, concurrency and CPU or GPU execution, supported by practical profiling experience.

  • Experience diagnosing numerical, performance or reliability problems and validating a fix against reproducible workloads.

  • Strong software engineering fundamentals, including testing, Linux systems and clear technical documentation.

Preferred experience

  • Distributed training, data and model parallelism, accelerator programming, kernel optimisation or model compilation.
  • Training-framework internals, gradient synchronisation, dataloader stalls or numerical problems in mixed-precision training.
  • Quantisation, mixed-precision execution, inference runtimes or deployment on devices with limited memory and power.
  • Systems work involving real-time inputs, changing batch sizes or strict latency requirements.

Application materials

Include your CV and a systems project or performance investigation you led. Describe the workload, the original bottleneck and the improvement, with measurement conditions and any trade-offs. Code, profiler traces or a technical report can help explain the depth of your contribution.

How to apply

Email your application to research@goodailabs.com, with the role title in the subject line. Include your location and availability. Please share only material you have permission to disclose.

Apply for this role