GitHub
All wiki pages

Curriculum & Milestones

The 20 modules

Four parts, each one asking the same question of a new piece of the stack: can I build this from scratch, and can I build it well?

Part I: Foundations (01–08)

#ModuleWhat you build
01TensorYour core data structure, with autodiff
02ActivationsReLU, Sigmoid, Softmax
03LayersLinear layers, the Module system
04LossesMSE, CrossEntropy
05DataLoaderEfficient data batching
06AutogradAutomatic differentiation
07OptimizersSGD, Adam
08TrainingA complete training loop

Part II: Vision (09)

#ModuleWhat you build
09ConvolutionsConv2d, MaxPool2d, CNNs

Part III: Language (10–13)

#ModuleWhat you build
10TokenizationText processing
11EmbeddingsToken & positional embeddings
12AttentionMulti-head attention
13TransformersComplete transformer blocks

Part IV: Optimization (14–20)

#ModuleWhat you build
14ProfilingPerformance analysis
15QuantizationPrecision reduction
16CompressionPruning & distillation
17AccelerationHardware-aware optimization (kernel fusion, etc.)
18MemoizationKV-cache
19BenchmarkingPerformance measurement
20CapstoneTies the whole framework together

Each module lives at data/src/NN_name/NN_name.py, that's the file you actually edit. tren module start NN turns it into a notebook stub; tren module complete NN tests it and exports it into the real trentorch package.

The 6 historical milestones

As you complete modules, you unlock milestones: recreations of landmark ML moments, run entirely on the framework you wrote:

YearMilestoneWhat it provesUnlocked by
1958PerceptronBinary classification with gradient descentModules 1–3
1969XOR CrisisA single-layer perceptron cannot solve XOR, and why that matteredModules 1–3
1986MLP RevivalHidden layers + backprop solve the "impossible" XOR problem, then scale to real digit dataModules 1–8
1998CNN RevolutionCNNs beat MLPs on image classification, LeNet-styleModules 1–9
2017Transformer EraAttention learns sequence reversal, copying, and conditional tasksModules 1–8, 11–13
2018+MLPerf OlympicsProduction-style optimization: compress and accelerate your own networkFull stack

Run one with:

tren milestone run 04        # or: tren milestone run cnn

Each milestone script checks its own required modules are actually done before running, and for milestones with multiple parts (like CNN Revolution's TinyDigits vs. CIFAR-10 tracks), --part N picks which one.

tren milestone list          # what's unlocked, what's next
tren milestone info 04       # details on one milestone
tren milestone timeline      # the whole arc, as a progress view

Not toy demos

These milestones aren't scaled-down illustrations, they're the real historical experiments (perceptron convergence, XOR's non-linearity, LeNet-scale CNN training, attention learning real sequence tasks), run against real data, using real optimizers and real backprop, all implemented by you in the modules above. The one place CI takes a shortcut is trimming demo epoch counts under automated verification, since a real student running the milestone interactively still gets the full experience; see Architecture for that distinction.