A clean corpus still isn't a training set. This is how a lab decides how much of each kind of text a model sees — upsampling code and math, capping repetition, and manufacturing dense synthetic text when the good stuff runs out.
The raw web is about 82% general chatter and almost no code or math. Train on it as-is and most of the model's capacity learns to autocomplete blog posts — so labs deliberately rewrite the mix.
You've set target percentages — but the data loader draws from huge per-domain buckets in real time. A single parameter, domain temperature τ, bends the natural frequencies toward your target.
Upsample maths hard enough and you exhaust the unique maths tokens before the compute budget is spent — so the loader repeats them. A little repetition helps; too much memorises.
When the human supply of dense text runs dry and epoch caps block more reuse, labs make more — a frontier model rewrites messy web pages into clean, textbook-style prose.
A teacher model also hallucinates, reasons in circles, and can accidentally reproduce a benchmark question. Pour that into pre-training and you poison the student — so every synthetic doc runs a gauntlet.
Real and synthetic streams are clean, deduplicated, and verified. The last step blends all five into one multi-trillion-token schedule the trainer reads start to finish.
.bin/.idx files the GPUs stream.The recipe is locked — a 15-trillion-token mix of real and synthetic text. Next, bin-packing & binary serialization: how those tokens are pre-tokenized once, stitched with EOS markers, packed into zero-waste batches, and memory-mapped into the .bin/.idx files the GPUs stream during training.