Phuc Nguyen

ML research engineer.

contact@phuchnguyen.com

Current Learning Goals

I'm currently working towards these goals by gradually achieving small intermediate goals along the way every day:

451 study hours logged. Last studied: .

Math [why]My ultimate goal for learning math is building a strong mathematical background to contribute to the science of almost any fundamental problems in deep learning such as new optimization techniques, new architectures, ...: Working towards Metric Spaces and Geometry, Real and Complex Analysis, Measure Theory and Functional Analysis, Mean Field Theory, and 10 more courses.

Physics [why]My ultimate goal for learning physics is building a technical foundation to pursue sci-fi and disruptive technology projects, and bring the latest advances in science and technology to reality: Working towards Condensed Matter Physics, Fission and Fusion, Nuclear Physics, Particle Physics, General Relativity, Suns, Stars and Planets, and 19 more courses.

Intro

I'm currently a ML research engineer working on post-training and building pre/post-training infrastructure at Nous Research in 🇫🇷 Paris.

Previously, I was a research engineer at Hugging Face (acquired by NVIDIA), where I was part of the distributed training team nanotron and worked on various research reproduction effortsThese Twitter threads document my research experiments - scroll through earlier and later tweets to see the full journey and discoveries on the Hugging Face science team (FP8 research, Infini-Attention, MoE's Expert Parallelism, DoMiNo, DoReMi).

More About Me

Favorite quote

"The most counterintuitive secret about success is that it's often easier to succeed with hard things than easy things (modified version)."

I'm fascinated by complex systems. I enjoy breaking a complex thing down into parts and understanding each from the fundamentals, then asking different questions — pushing each part to the extreme to see how the design would change.

In my free time, I mostly read non-fiction - a bit of history, rationality, and a fairly diverse mix of other things; here's favorite reading. Once in a while I come across a quote that resonates with me, and I save those here. Sometimes I also collect photos that I find inspiring. I also keep a list of favorite people, favorite organizations, favorite projects, things I wish to understand deeply someday (and potentially work on in the future), and weird random things.

Books

The Ultra-Scale Playbook cover

The Ultra-Scale Playbook: Training LLMs on GPU Clusters • paperback • podcast

Nouamane Tazi, Ferdinand Mom, Haojun Zhao, Phuc Nguyen, Mohamed Mekkouri, Leandro Werra, Thomas Wolf — Lulu, 2025.

Embark on a journey to orchestrate thousands of GPUs to scale LLM training to the largest compute clusters today. Starting with the memory and compute anatomy of model training we then explore 5 dimensions of parallelism to distribute training efficiently. From there we dive deeper into how GPUs are designed and how specialised kernels help increase training efficiency further. This book is a great starting point if you want to get into training ever larger models efficiently at scale!

Selected Work

MoE Pretraining Infrastructure @ NousResearch [Blog]

Building synthetic RL environment pipelines.

Speculative decoding DFlash training.

Post-training infra for Kimi K2 (1 trillion parameters) on 512 GPUs.

Built a new expert parallelism implementation and validated near-linear scaling across 16 nodes (128 GPUs) on Qwen3-30B-A3B model: [Pull Request]
• 50% faster than torchtitan's default expert parallelism (15,057 vs 9,930 tok/s/GPU at EP=8)
• Scales near-linearly to 16 nodes (128 GPUs, 13,856 tok/s/GPU), enabling 10T tokens/month throughput at 256 GPUs
• Implemented kernel fusion to fuse expert_outputs * router_probs to silu activation in moe FFN [link], and implemented expert_outputs * router_probs fusion to DeepEP's combining kernel [deepep fork]
• Identified a potential optimization that could bump throughput by 30%New fix coming up, translating to 21k throughput, equivalent to 30 trillion tokens in 2 months (for reference, Qwen3-30B-A3B was trained on 36T tokens)

Implemented Least-Loaded Expert Parallelism technique for MoE training - redistributes expert workloads across GPUs at runtime to eliminate straggler GPUs and imbalance memory caused by token routing imbalance during training. [Pull Request]

HermesBench [Link]

A benchmark for measuring general-purpose agentic assistant performance.

nanotron - Minimalistic LLM 3D-parallelism training ⭐ 2.7k

A 3D parallelism distributed training library used for smollm and fineweb.

Blog

Talks