Jiaxuan Zou (@SmartPig_Joe) header
Jiaxuan Zou (@SmartPig_Joe) profile picture

Pretraining & scaling research Now at ******** · Previously @ByteDanceSeed_ Opinions are my own

Beijing Haidian
Joined November 2021
Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)Photo by Jiaxuan Zou (@SmartPig_Joe)
Life update: I spent three months on ByteDance’s Seed Pretrain team. Working with fantastic colleagues, I gained rapid insights into pretraining and model scaling. I’m grateful for this experience so so much and have decided to leave Seed for a break.
13
2
143
13,861
Notes on MAI, Beam, ML4 & Nemotron: pretraining(PT) can't just watch NLL, and CPT isn't just lr annealing. Inject multi-turn tool patterns in CPT to raise the pre-RL start. Part of my recent big-picture thoughts after 3 months at pretrain data team.
9
4
86
3,431
This is excellently written, highly valuable, insightful, and strongly recommended.😘
Sharing the thought process behind the architecture for Marin 535B-A23B, which finished pretraining on 18T tokens last week: openathena.ai/blog/marin-535… Earlier this year the Marin project had 6 full-time employees at Open Athena, a mix of AI veterans and people newer to the space, like me. I learned a lot from the team as an IC. Since then we got our B200 GPU stack running in a month, scaled up 300x on GPU to a 535 billion parameter model, publicly forecasted the run, live-streamed the entire thing, and made it through pretraining slightly better than predicted with zero instabilities. In the blog I call out specific contributions on architecture- but the broader gratitude is to the ecosystem. 2 years ago this would have been inconceivable on a first large scale attempt. Now it’s possible, in large part due to published work from Llama, DeepSeek, Qwen, Gemma, Olmo, Cohere, Nemotron, Arcee, Inkling, Mistral, Microsoft AI, Kimi, Muse, academia, and many others. The recipes are out there. A small team with big dreams (and some funding) can train a big model. (And if you have doubts on that, you can copy our fully open recipe from data to code). Of course, training a model does not produce a binary outcome. I am proud of how far we’ve come and optimistic about how much more there is to explore! The team has grown recently and will be taking the model through SFT and RL soon, sharing the findings along the way.
28
1,677
From an empirical perspective, since model distillation works, there exists a funnel-shaped model distillation chain. At the top of the funnel lies human knowledge, all data, and the massive amounts of experience and world knowledge hidden within the data. These are gradually pretrained — in other words, distilled and compressed — into some super huge models such as GPT and Claude. Part of the world knowledge and some intelligence contained in these weights are then progressively distilled into increasingly smaller models. And so on, this distillation chain keeps flowing. As a result, we may eventually see a 1B model with the intelligence level of GPT-4 from that era. This reminds me of an interview with Andrey Karpathy. He mentioned that current AI devotes substantial effort to memorizing factual content like hash numbers, and that its intellectual core and cognition core might ultimately only be 1 billion, for example. See the link below: youtube.com/watch?v=UldqWmyU…
GPT-4 level intelligence has gotten roughly 1800x smaller
2
2
16
1,848
The level of suspicion that Google has hit the RSI stands at 50%🤔
Google is on a roll and about to surpass OpenAI and Anthropic, let me explain. Google released bard, trash. Google went a few years with their pro models and they was decent but didnt match the competition. Roughly a month ago google released argon. Around the level of 6 Astra and below opus 5.5 A week later they announced carbon, carbon is slightly better than opus 5.5. 2 weeks later they have a internal model “krypton” it’s better than all public models will be slightly better than 6.2 Astra and fable 5.5. Google catched up and surpassed anthropic and open ai. and it doesn’t look like they’re slowing down.
2
12
1,541
This is a very interesting question. In fact, if we analyze Weight Averaging, namely EMA, lr decay, and Schedule Free using convex optimization tools from a purely theoretical perspective, we will find that all three share the same convergence rate. In other words, our existing convex optimization tools lack sufficient granularity to distinguish the relative merits of the three methods. Moreover, in terms of constant factors, i.e., the constant coefficients multiplied in front of them, EMA actually has a better constant term. However, in industrial practice, we observe that EMA cannot capture all the benefits brought by lr decay no matter how it is applied. That is to say, industrial implementations often adopt latest weight averaging to approximate the gains from annealing, yet this approach cannot replace lr decay to attain the full benefits of annealing. See details at jiaxuanzou0714.github.io/en/… Therefore, I suspect their underlying mechanisms differ. Offline weight averaging cannot substitute lr decay. Driven by this motivation, Aaron Defazio(@aaron_defazio ) developed Schedule Free and Schedule Free+, which rely on a special form of online model weight averaging to trace the envelope of the any-time decay loss curve — meaning the full annealing benefits can be obtained at any time step. Even so, I still believe that model weight averaging and lr decay do not operate through entirely identical mechanisms. We need more fine-grained theories to tell them apart, such as more elaborate characterizations of the loss landscape, among other approaches.
why ema is widely used in generative models while language models (almost) all use learning rate decay in practice?
4
15
159
9,153
Jiaxuan Zou retweeted
It’s done! Marin’s Mochi 535B-A23B finished its main pretraining phase this morning. 18T tokens! Long context this weekend, SFT over the next week or so. Hoping to release checkpoints next week. Some EU paperwork first. mumtracker.exe.xyz/hero-run-…
42
60
11
636
50,622
What is the next step after the co-design of architecture and optimizer? I see three key ingredients in deep learning, especially industrial LLM pretraining: architecture, data, and optimization. What model do we train? What data do we train on? Which optimizer and training objective do we use? We've already made a lot of progress on co-designing architecture and optimization. Examples include optimizers tailored to embeddings, LM heads, and modules such as Over-Encoding and Engram, as well as Muon for selected Transformer weight matrices. The next step is to bring data more fully into this co-design. We're already seeing work in this direction, such as jointly designing data schedules and learning-rate schedules. The training dynamics of n-gram modules also depend on the data. I think of architecture, data, and optimization as three interlocking circles. The goal is to co-design all three together.
6
8
2
57
5,182
That's an interesting perspective, but there's no doubt it will be really hard to implement on the infra side. Unless we can verify extremely significant benefits, very high data efficiency, and so on, it will be difficult to get the infra team to work on this, right? (I am just guessing🤓)
Nice work! The most interesting part to me: the extra loss from repeating data comes mostly from rare tokens. Their embedding rows see the same few contexts every epoch and end up memorizing them. This points to a tension. A big vocab is great while data is unique: more text per FLOP, and rare rows don't have time to memorize. The scaling laws with vocabulary paper finds the optimal vocab grows with compute but shrinks when data is the bottleneck, "a mechanism to prevent over-fitting" (arxiv.org/abs/2407.13623). Once data starts repeating, though, those same rare rows become the problem. So my hypothesis: the vocab should shrink as data starts repeating, within a single run. I can imagine two ways to get there ⬇️. Path 1: a shifting mix of vocab sizes Proxy Compression (arxiv.org/abs/2602.04289) trains one model on both BPE tokens and raw bytes of the same text, and finds that it learns to align the two views and transfer between them. The same idea may work across vocab sizes: tokenize each sequence at one of several nested vocabs (128K, 64K, ..., just fewer BPE merges), mostly 128K while data is unique, then shift the mix toward smaller vocabs as data repeats. What I like about it: a repeated document comes back as a different token sequence, so it's closer to a fresh view than a pure repeat. And since " memor" is literally " mem" + "or", with both pieces trained all along, what the big rows learned can flow into the smaller pieces before those rows go cold. Nothing switches abruptly; the model just sees more of views it already knows. Same spirit as unified training (nitter.gq/yus167/status/21161813…): one evolving mix instead of hard stages. Path 2: cutting the vocab gradually Opus 4.7 moved to a much smaller tokenizer (reconstructions suggest about a third of the old vocab), even at ~30% more tokens per text. That makes a small final vocab look worth paying for. Instead of switching in one shot, you could shrink as you train: each time the epoch count doubles, drop the latest BPE merges, which are roughly the rarest tokens. This one is simpler: one tokenizer at a time, and each cut removes exactly the rows that are starting to memorize. Keeping the first K merges is the same as stopping BPE at K, so every new tokenizer nests inside the previous one and the cuts stay clean. I think Path 1 should transfer more smoothly but spends extra FLOPs on smaller-vocab views. Path 2 is cheaper and simpler, but each cut is a small "surprise" to the model. Curious where this breaks. Anyone tried something like this? > All of the above is my unverified intuition based on public work, and isn't related to anything I'm working on
11
865
I think the hype around “weight-space programming” is getting ahead of the evidence. We’ve known for years that neural networks can execute programs through explicitly constructed weights. Tracr (arxiv.org/abs/2301.05062) compiled programs into transformers in 2023. Looped Transformers as Programmable Computers (arxiv.org/abs/2301.13196) constructed transformer weights that, with a loop, execute general-purpose programs. So seeing GPT or Claude handcraft a small network for a specific task doesn’t surprise me much. If you already know the algorithm, you can encode it in the weights of a suitable network. Having an LLM automate that construction is interesting, but programmability itself is well established. Diagnosing and editing pretrained weights deserves separate attention. But the jump from these demos to “the future of optimization” needs evidence: reliable improvements across tasks, models, and scales, with the full cost counted.
We asked GPT-6 Astra to edit Qwen3.5-0.8B weights to improve math. It directly changed only 0.016% of weights, fixing 0.8B's reasoning loops & improving math up to 6x and even instruction following 3x, without gradients or training. We call this Weight-Space Programming: frontier LLMs can now natively read/write neural network weights! 🧵 Blog: rikiyat.github.io/blog/weigh…
Readers added context they thought people might want to know
LLM was given weights explicitly as text in prompt and used code/forward passes (per authors' logs) to ablate Qwen looping direction, a known thinking-mode issue per model card. Primarily fixed repetition in that mode, not general 'natively' improving weights/math. rikiyat.github.io/blog/weight-sp… github.com/RikiyaT/lm_und… huggingface.co/Qwen/Qwen3.5-0… huggingface.co/RikiyaT/Qwen3.…
6
5
69
3,921
Just got X Premium, so I'm bringing some of my blog posts over here. This is the first one.
2
18
2
196
12,374
Grok, Grok Bot, Cursor, X... I bought a plan for one of them, and it seems I can use the others, but they don’t seem to share entitlements. For example, I bought plans on both X and Cursor at different prices, and I have no idea about the quota. They still don’t sync with each other. This should be fixed. @elonmusk @poteto @bot @grok
5
15
1,042
Jiaxuan Zou retweeted
Want to learn about scaling laws? Start with these papers and resources: 2001.08361 — Scaling Laws for Neural Language Models 2203.15556 — Training Compute-Optimal Large Language Models 2205.10487 — Scaling Laws and Interpretability of Learning from Repeated Data 2305.16264 — Scaling Data-Constrained Language Models 2401.02954 — DeepSeek LLM: Scaling Open-Source Language Models with Longtermism 2404.10102 — Chinchilla Scaling: A Replication Attempt 2409.19913 — Scaling Optimal LR Across Token Horizons 2502.05172 — Joint MoE Scaling Laws: Mixture of Experts Can Be Memory Efficient 2503.04715 — Predictable Scale: Part I, Step Law — Optimal Hyperparameter Scaling Law in Large Language Model Pretraining 2507.17702 — Towards Greater Leverage: Scaling Laws for Efficient Mixture-of-Experts Language Models 2605.01640 — Prescriptive Scaling Laws for Data Constrained Training 2609.08690 — Hyperparameter Scaling Laws Across MoE Sparsity Scaling Laws, Carefully By Lilian Weng Stanford CS336: lecture_09 and lecture_11 解构Scaling Law:优化、架构、数据的三重奏 By 苏剑林 MAI-Thinking-1 Technical Report MAI-Base-2 Technical Report arXiv:2608.30320—On the Design of Qwen3.8-Next Architecture: Evaluation, Efficiency, and Training Stability
3
49
3
411
19,782
Believe in end-to-end, believe in the bitter lesson
I've always believed that intelligence should come from simple, general building blocks that learn their own abstractions directly from raw data; in other words, the bitter lesson. I think we're finally seeing a real step towards AI that can learn from all data. Language modeling on raw bytes is a microcosm of this ideal, and to me it's a central problem in AI: if we can't build LLMs that learn end-to-end from bytes, how will we handle the rest of the world's data that we understand even less? Last year we introduced hierarchical networks (H-Nets) as a first step. Our new version finds up to 3-5x efficiency gains in controlled scaling law experiments, and at larger scale matches an open-source model trained on 11T tokens with ~10x less data and compute. The posts below walk through what we found and why we think it works.
28
958
Has Google reached RSI? maybe...
1
16
1,118
The bias-variance trade-off always holds. jiaxuanzou0714.github.io/blo…
From Parameter Symmetry to Effective Learning Rates kexue.fm/archives/11985
1
12
106
4,828
Jiaxuan Zou retweeted
(1/9)Suppose you're training an LLM on web data with limited math data. Should you place all your math data at the end of training, or mix it with web data earlier? The answer flips with the learning rate (LR) schedule! At fixed compute and mid-training (MT) token budgets, earlier mixing gives lower MT loss when LR decays throughout training. With constant LR, placeing all MT data for the end works better. We then vary when LR decay begins. The best tested strategy: keep LR high after MT data enters, then decay near the end. See our new paper: "Data Schedules and Learning Rate Schedules Should Be Designed Together" !
26
54
19
410
52,429
Jiaxuan Zou retweeted
AutoResearch doesn't generalize. Without understanding, we're just worshiping its shit. A training trick, found by AutoResearch, leads to an overfitting disaster we call "forking", under a small change in setting. We (human researchers) dig into the mess and find why.
11
21
3
193
261,139
Jiaxuan Zou retweeted
[1/n] 作为这场训练“投毒”事件最直接的受害者,2024年那几个月漫长的训练排查、对峙与质疑,对我而言是一段炼狱般的经历,也是一场对意志和技术的锤炼。 感谢好友们最艰难的时候支持陪伴。也感谢当时所有并肩作战的同事们。
92
212
56
1,389
285,702