About my Education

AIMS South Africa / UCT

MSc in Artificial Intelligence for Science — 2024–2025

Distinction · Top Student (AIMS Excellence Award) Google DeepMind Scholarship

AIMS was the year that turned me from someone who liked AI into someone who does AI research. It is a pan-African program — I studied alongside a cohort of scholars from across the continent, in Muizenberg, just outside Cape Town, on a Google DeepMind scholarship. The pace was relentless and the people were extraordinary, and I came out of it as the top student in the cohort.

The curriculum was compressed and broad. The skills courses gave me the foundations — Introduction to Machine Learning, Computer Vision, Bayesian Inference, and a three-week intensive in CUDA programming for GPUs with Mike Giles, where I wrote GPU kernels in C/C++ for Monte Carlo simulation and finite-difference PDE solvers. The review courses pushed in every direction at once: Reinforcement Learning, Active Learning & Information Theory, generative models, simulation for neuroscience, and AI for climate and public health. I earned a Distinction in almost all of them.

The turning point was the three-week Science & Engineering of Large Language Models workshop, taught by researchers from Google DeepMind and Meta. We went from tokenization and attention all the way to the systems side — scaling laws, roofline models, FSDP, sharding, quantization, and serving. That was where I realized I cared not just about the models but about how you make them run efficiently — the part of ML I keep gravitating back to.

Somewhere along the way I became the person people came to for two things: explaining a concept from first principles, and getting the technical stack actually working. I like both. Teaching a thing is how I make sure I really understand it.

My thesis, Scaling Inference-Time Compute for ML-Engineering Agents (AIDE), pulled all of it together. I built an autonomous LLM agent that tackles Kaggle-style ML problems as a tree search, served distilled DeepSeek-R1 models on a self-hosted vLLM backend, and studied how inference-time strategies let small open models punch above their weight. The best configuration — a 32B model with a decomposed planner–coder — reached a 30% medal rate on MLE-Bench, matching OpenAI's o4-mini. It was supervised by Arnu Pretorius at InstaDeep, which is how I ended up there afterwards, working on reinforcement learning.

AIMS gave me the breadth, the confidence, and the network — and it's where the thread that runs through my work now (RL, goal-conditioned learning, and the systems that support them) really began.

Relevant work