Go deeper on four things.
- The data layer. Orchestration, warehouse modelling, data quality tests, and point-in-time correctness at scale.
- Training at scale. Data and model parallelism, mixed precision, gradient accumulation and checkpointing, profiling, and scaling laws.
- Serving and inference optimisation. Quantisation stores numbers at lower precision and can save memory. Any speed-up depends on the supported kernels and the workload, so compare quality and latency before adopting it. Also learn distillation, compilation, batching strategies and management of the KV cache, the memory a model keeps of tokens it has already processed.
- Post-training. Supervised fine-tuning, preference optimisation, and reinforcement learning from verifiable rewards.
Before spending the 70 hours, choose a production path or a language-model implementation path. The default production path below spends about 40 hours on selected systems readings and 30 on one capstone, with no from-scratch language model.
For the alternative, CS336 Spring 2026 has public materials and five assignments covering basics, systems, scaling, data and alignment/reasoning. It assumes strong programming, deep learning and maths. Plan about ten hours of selected lectures, fifty for Assignment 1, and ten for tests, profiling and documentation. That assignment replaces the production capstone and its depth work. It also steps off the project thread, which is fine when model implementation is your target role. Your Chapter 2–6 project stays your portfolio's production story. These are planning estimates, so allow more time if correctness needs it. The full graduate course is beyond this chapter's budget. See Branch B — ML Engineer depth in resources/.
For efficient training, use the official FSDP2, AMP and compiler guides for your pinned framework version. Explain the memory and communication tradeoff of sharding before renting several GPUs. Read the MLSys 2026 FlashAttention-4 paper on hardware-aware attention kernels, alongside its March arXiv version. Its results are hardware-specific, so test them on your own workload. For adaptation, compare a no-training baseline with one well-chosen SFT or adapter run. Keep demonstrations, preference data and verifiable rewards separate, hold out a task evaluation, and include memory and serving cost. A good fine-tuning loss does not show that the product task improved.
Capstone, pick one:
- An end-to-end training and serving system with a documented retraining trigger. Keep the model simple on purpose, since the system is what is assessed.
- A paper reproduction with a frank account of where your numbers differ. Pick a method that applies to your Chapter 3–4 model, and finish by running it on your own dataset.
- One from-scratch language-model stage, done to course standard.
Interview preparation: rehearse a 45-minute machine learning systems design discussion covering data, training, evaluation, serving and monitoring. The length is for practice. Formats vary, and some employers also test coding or statistics. Explain a simple starting design and what results would justify more complexity, then adapt to the real round.
A six-week production plan (about 12 hours a week). If the implementation path is your capstone, use the CS336 hours above instead:
| Week | Depth (about 7 h) | Capstone (about 5 h) |
|---|---|---|
| 1 | Data contracts, immutable snapshots and point-in-time joins | Pick capstone; pin data, splits, environment and release manifest |
| 2 | Profile training; selected AMP/compile/FSDP2 material | Baseline trains and resumes from a full checkpoint |
| 3 | One justified precision, adapter or model experiment | Report quality, memory and runtime against the baseline |
| 4 | Chapter 6 serving benchmarks | Batch or API release; measure load, latency and cost per successful task |
| 5 | Mature-label feedback and challenger promotion gates | Inject stale data or a serving failure; rehearse compatible rollback |
| 6 | Re-read one systems-design interview guide | README + honest numbers; rehearse 45-min design |