Fan Pu Zeng
ML Research Engineer, based in New York
Hello! I am Fan Pu (曾繁朴). I am currently on a personal research sabbatical. Previously, I spent 3 happy years at Jane Street, where I worked on LLM research and training, and developing on our in-house coding models and evals.
I graduated with a B.S (2022) and M.S (2023) in Computer Science from Carnegie Mellon University.
At CMU, I was actively involved in the open-source programming assignment auto-grading platform Autolab from 2018-2023. I served as the Masters Student Liaison for the Singapore Students Association. I also used to play Capture-The-Flag (CTF) competitions with PPP. I previously interned at Jane Street, Meta, Asana, and Saleswhale (acquired 2022). I was a TA for 10-708 Probabilistic Graphical Models in the Spring 2023 semester.
My academic interests lie in understanding the theoretical foundations for the success of deep learning, particularly in optimization and generalization.
In my free time, I enjoy climbing, running, skiing, reading and learning new things, and writing things for my blog. I used to do sprint canoe competitively. If I have an extended break I enjoy traveling, especially hiking and exploring the great outdoors. Most of the banner pictures on my blog posts were taken during these hikes. My favorite classroom in CMU is GHC 4303.
I grew up in my hometown Singapore before moving to the US for college and work. I try to go back and visit once a year.
Feel free to reach out to me at fzeng[at]alumni[dot]cmu[dot]edu.
Regrettably, I am unable to provide referrals for people that I have not directly collaborated with, as I cannot write you a meaningful recommendation.
I have a Technician amateur radio license, with callsign KC3UFE.
This blog was originally started on 24 June 2018, although it has taken many forms since then. All banner pictures on the blog are taken by yours truly!
Talks
Slides I developed for talks on various LLM-related topics. You are free to share, adapt, and reuse these materials, provided that you give appropriate credit.
Curse of dimensionality and feature learning. Neural feature matrix (NFM). Average gradient outer product (AGOP). Deep neural feature ansatz: empirical evidence and theoretical results. Applications: spurious features, lottery tickets, grokking. Recursive feature machines. Steering LLMs.
SFT and DPO recap. Learning dynamics decomposition, from MNIST to LLMs. Training dynamics of SFT; hallucination explanation. Training dynamics of DPO; the squeezing effect. Off-policy DPO experiments. Remedies. PPO.
Why distillation. KL primer; forward vs. reverse KL. Prior work: DistiLLM and skew KL. Contrastive approach for LLM distillation (CALD). Curriculum for the interpolation coefficient. Results.
Overparameterization, double descent, sensitivity to initialization. Infinite-width networks as Gaussian processes (NNGP). Neural tangent kernel: initialization, training, generalization, limitations. Tensor Programs I‑V. Maximal update parametrization (muP); zero-shot hyperparameter transfer.
Show 6 more Show less
Challenges with LLM evals. Standard error of the mean; clustered standard errors. Variance reduction; law of total variance. Paired analysis for comparing models. Hypothesis testing crash course; type I and II errors. Power analysis.
Naive RAG. Retrieval: chunking strategies, query rewriting, HyDE, hybrid search (tf-idf, BM25). Generation: long contexts, lost in the middle, re-ranking, repacking. Multi-step retrieval: iterative, CoT-guided, tree of thought. Evaluation: faithfulness, relevance, retrieval metrics (precision@k, MRR, MAP, NDCG).
Superalignment timeline. Weak-to-strong generalization setup; performance gap recovered. Approaches: naive fine-tuning, bootstrapping, auxiliary confidence loss, generative fine-tuning. Imitating weak supervisor errors; concept saliency. Disanalogies with real superalignment.
Attention, batched attention, self-attention. Sinusoidal positional encodings and their flaws. RoPE: goals, overview, complex-form reinterpretation, full derivation. Relative position property.
Scaling laws for transfer. Memory costs of full fine-tuning. Adapters. LoRA: which matrices to adapt, why it works, serving many adapters. Quantization: absmax, zeropoint, block-wise, vector-wise, outlier features, mixed precision. QLoRA: NF4, double quantization, paged optimizers. Prefix tuning. Prompt tuning.
Neural networks, activations, loss functions. Language modeling: autoregressive models, perplexity, sampling (temperature, top-k, beam search). RNNs and LSTMs. Transformers: encoder/decoder variants, embeddings, attention, self-attention, masking, multi-head attention, positional encoding, residual connections, layer normalization, LM head.
Starred posts
All posts →Some of my more popular posts.
Technical
Score-based diffusion models are a promising direction for generative models, as they improve on both likelihood-based approaches like variational autoencoders, as well as adversarial methods like Generative Adversarial Networks (GANs). In this blog post, we survey recent developments in the field centered around the line of results developed in (Song & Ermon, 2019), analyze the current strengths and limitations of score-based diffusion models, and discuss possible future directions that can address its drawbacks. Joint work with Owen Wang.
An aperiodic and irreducible Markov chain will eventually converge to a stationary distribution. This is used in many applications in machine learning like Markov Chain Monte Carlo (MCMC) methods, where random walks on Markov chains are used to obtain a good estimate of the log likelihood of the partition function of a model, which is hard to compute directly as it is #P-hard (this is even harder than NP-hard). However, one common problem is that it is unclear how many steps we should take before we are guaranteed that the Markov chain has converged to the its stationary distribution.
In this post, we understand how the spectral gap of the transition matrix of the Markov chain relates to its mixing time.
Deep learning is currently dominated by parametric models, which are models with a fixed number of parameters regardless of the size of the training dataset. Examples include linear regression models and neural networks.
However, it's good to occasionally take a step back and remember that that is not all there is. Non-parametric models like k-NN, decision trees, or kernel density estimation don't rely on a fixed set of weights, but instead grow in complexity based on the size of the data.
In this post we'll talk about Gaussian processes, a conceptually important, but in my opinion under-appreciated non-parametric approach with deep connections with modern-day neural networks. An interesting motivating fact which we will eventually show is that neural networks initialized with Gaussian weights are equivalent to Gaussian processes in the infinite-width limit.
Show 3 more Show less
Imagine doing high-dimensional statistical inference, but instead of repeatedly studying different settings with specific low-dimensional constraints (such as linear regression with sparsity constraints, or estimation of structured covariance matrices), there is a method for performing a unified analysis using appropriate notions.
Well, you're in luck! 'A Unified Framework for High-Dimensional Analysis of \( M \)-Estimators with Decomposable Regularizers' by Negahban, Ravikumar, Wainwright, and Yu shows that the \( \ell_2 \) difference between any regularized \(M\)-estimator and its true parameter can be bounded if the regularization function is decomposable, and the loss function satisfies restricted strong convexity.
The goal of this post is to provide intuition for the result and develop sufficient background for understanding the proof of this result, followed by a walkthrough of the proof itself.
The graph minor theorem, also known as the Robertson–Seymour theorem, is generally regarded as the most important result in graph theory. In this post we introduce the graph minor theorem, provide the necessary background, and discover its delightfully deep algorithmic and philosophical implications.
Universal types are very useful for performing generic programming, which allows you to use the same code over different types. For instance, the C++ STL (Standard Template Library) allows you to work on things like containers over any arbitrary type. You would surely not want to re-implement the logic for every concrete type that you use. Such a feature is known as parametric polymorphism. It is different from the other kind of polymorphism normally found in object-oriented languages that allows for overloading and run-time dispatch, which is known as ad-hoc polymorphism. In this post, we understand the theoretical foundations underpinning universal types, and conclude with the landmark result that typechecking with universal types is undecidable.
General
When was the first time you had to use LaTeX? If you are like most people, it was probably suddenly forced upon you during your first math or CS class where you had to start writing proofs, with minimal guidance on how to get started. Unfortunately, this meant that while many people have good operational knowledge of LaTeX, there are still many small mistakes and best practices which are not followed, which are not corrected by TAs as they are either not severe enough to warrant a note, or perhaps even the TAs themselves are not aware of them.
In this post, we cover some common mistakes that are made by LaTeX practitioners (even in heavily cited papers), and how to address them.
Over the past few years, I've received numerous questions about studying abroad and whether it is advisable to take a government scholarship to do so from my juniors. Having witnessed firsthand the early career trajectories of many scholars and non-scholars alike, and having heard their different perspectives, I feel like I have a good understanding of the concerns at hand to answer this question confidently. This post is aimed at Singaporean junior college students debating whether they should take on a scholarship from the government to pursue a fully-paid education abroad. In this post, I will consider both the pros and cons of taking a scholarship. The relevance of some of the points is highly dependent on your current situation, so ultimately take it with a grain of salt and consider your unique circumstances. It is useful to keep in mind that a scholarship is designed to benefit the government's interests, not your own.
This post is addressed to my future self, who (hopefully) would found a startup of his own someday. This is my last week at Saleswhale and I would like to pack as much wisdom into this post from my experiences there and from the wonderful people that I have talked to. It is a very personal post for me and it speaks straight from my heart. To be honest, I teared up a few times while writing this. I hope you will feel the sincerity in my words, and I hope it will inspire you.
CMU
15-712 Advanced OS was an excellent seminar-based graduate course that took us on a whirlwind tour through many of the most seminal SigOps Hall of Fame papers across several systems domains. It will prepare you to be a great systems designer and researcher. In this post, I will share my experience in the class, the course structure and content, what I thought were the biggest takeaways, and who this class might be suitable for.
Computer Networks is one of the lesser-known systems classes at Carnegie Mellon that turned out to be surprisingly fun and informative. In this post I'll talk about the projects and content covered, followed by my own thoughts on the usefulness on the class and who should take it.
Last week, I had the wonderful opportunity to participate in Hwa Chong's Undergrad Alumni Forum to share my experiences studying at Carnegie Mellon's School of Computer Science, and to answer any questions that the students had about studying in the US and pursuing Computer Science as a degree. I was a student at Hwa Chong Institution from 2010-2015, during which I made many happy memories and learnt a lot about myself and the world. I had personally found these sharings really helpful back when I was still a student, and am very grateful for the chance to pass it on and hopefully help to inspire and encourage some of the participants to pursue their education overseas. It has personally had brought about incredible personal and intellectual growth, and exposed me to people and ideas that I would otherwise never have had the chance to meet.
Artifacts
All artifacts →Interactive explainers I made with Claude while trying to understand something.
Why the gradient norm often goes up near the end of LLM training even when nothing is wrong, built up from how normalization layers and weight decay interact. Then AdamC, a one-line fix to weight decay from Defazio's 2025 paper.
Gradient descent doesn't care which basis your parameters are written in, but Adam does. Why that happens, and how it ties into the outlier features you see in transformers trained with Adam.
An intro to chaos theory (the Lorenz system, Lyapunov exponents, the butterfly effect) starting from basic calculus, and why training a neural net behaves like a chaotic system.
An intro to InfiniBand, the network that connects GPUs in big training clusters, for people with no networking background. How data gets from one GPU to another, why the network never drops packets, and how that differs from Ethernet.
How where you put LayerNorm in a transformer changes the gradients at each layer, and why that means post-LN needs learning rate warmup while pre-LN mostly doesn't.
Games
Some games that I wish existed but didn't, so I had Claude make them.
A simulated fruit fly brain, wired from the real FlyWire connectome, playing blackjack. Only a small readout on top is trained, the wiring is the actual fly's.
Blackjack with the odds showing. Every option is scored against perfect play, so you learn basic strategy and see what each mistake costs you.
Learn xiangqi (Chinese chess) from zero, starting with the board and how each piece moves, then drills and puzzles.
Based on the old literati drinking game where a cup floats down a stream and whoever it stops at has to answer with a line of poetry. A way to pick up classical Chinese phrases.
How to split a big model across GPUs with tensor, pipeline, data and expert parallelism, and what each layout does to memory and communication.
News
All news →| Nov 27, 2025 | I will be attending NeurIPS from 12/02-12/07. Let’s talk if you’re also in town! |
|---|---|
| Oct 03, 2025 | I will be attending COLM from 10/07-10/10. Let’s talk if you’re also in town! |
| Jul 09, 2025 | I will be attending ICML from 07/13-07/19. Let’s talk if you’re also in town! |
| May 10, 2025 | I thought the ReduNet paper was particularly novel after learning about it at ICLR and wrote a post about it: Neural Networks from Maximizing Rate Reduction |
| Apr 20, 2025 | I will attending ICLR from 04/24-04/28. Let’s talk if you’re also in town! |
Latest posts
Blog →Training transformer baselines at 30M, 60M, and 125M to measure how much random seed alone moves final validation loss. Pooled seed noise comes out at 0.003 nats, which sets the minimum effect size for every architecture comparison to follow
Benchmarking attention against Gated DeltaNet from 30M to 250M, where at this scale GDN costs 1.5× the time for roughly the same FLOPs
Checking that flash-linear-attention's chunked Gated DeltaNet kernel matches a naive recurrence on GB10. It agrees to within roundoff in bf16 and TF32, but 'fp32' turns out to silently mean TF32
A concise introduction to understanding Gated DeltaNets (used in Qwen3, Kimi K3, Olmo Hybrid)
Show 3 more Show less
While we have witnessed much empirical evidence of the success of deep learning, much of it is due to trial and error and not guided by underlying mathematical principles. I attended Yi Ma's keynote on "Pursuing the Nature of Intelligence" at ICLR this year, which took on a statistical lens towards urging the community to view model training as learning to do compression. I was especially struck by the novelty of his recent work on using coding rate reduction as a learning objective as an alternative to standard loss functions, and the remainder of this post will be a high-level overview of his ReduNet paper.
Deep learning is currently dominated by parametric models, which are models with a fixed number of parameters regardless of the size of the training dataset. Examples include linear regression models and neural networks.
However, it's good to occasionally take a step back and remember that that is not all there is. Non-parametric models like k-NN, decision trees, or kernel density estimation don't rely on a fixed set of weights, but instead grow in complexity based on the size of the data.
In this post we'll talk about Gaussian processes, a conceptually important, but in my opinion under-appreciated non-parametric approach with deep connections with modern-day neural networks. An interesting motivating fact which we will eventually show is that neural networks initialized with Gaussian weights are equivalent to Gaussian processes in the infinite-width limit.
An aperiodic and irreducible Markov chain will eventually converge to a stationary distribution. This is used in many applications in machine learning like Markov Chain Monte Carlo (MCMC) methods, where random walks on Markov chains are used to obtain a good estimate of the log likelihood of the partition function of a model, which is hard to compute directly as it is #P-hard (this is even harder than NP-hard). However, one common problem is that it is unclear how many steps we should take before we are guaranteed that the Markov chain has converged to the its stationary distribution.
In this post, we understand how the spectral gap of the transition matrix of the Markov chain relates to its mixing time.