Classes

Long-form write-ups of the coursework I have worked through, rebuilt around what the field looks like now rather than what a syllabus covered when I sat in the room. Each page states the problem, derives the math step by step in full notation, works representative problems by hand, and implements the result in PyTorch and JAX side by side, with C++, Rust, and CUDA where the subject calls for it. Where a claim is about performance, the number comes from a benchmark run on an H100 in this repository rather than from memory. The references are textbooks and papers, and every page ends with the open-source repositories worth reading and a short self-check quiz.

Featured write-up

Building a language model from scratch: tokenizer to trained checkpoint

The full pipeline with nothing hidden behind a library: BPE implemented and analyzed, a transformer with RoPE, SwiGLU, RMSNorm, and grouped-query attention, FlashAttention's tiling derived, data-parallel/tensor-parallel/pipeline sharding and FSDP, scaling laws and compute-optimal budgeting, mixture-of-experts routing, and an inference path with paged KV cache and speculative decoding.

Read the write-up →

Machine learning foundations

The mathematical core: what a learning algorithm is, why it generalizes, how to fit one, and how to reason under uncertainty when the model is a graph of random variables rather than a single predictor.

Language, generative, and multimodal models

How the modern generative stack is actually built: tokenizers and attention up through pretraining at scale, diffusion, alignment, and the multimodal models that share one architecture across text, image, audio, and graphs.

Reinforcement learning and sequential decision making

Acting under uncertainty: the theory of MDPs, the deep RL algorithms that made it work on pixels and robots, and the meta-learning and self-improvement loops now driving language model post-training.

Systems, architecture, and data at scale

Where performance actually comes from: the machine underneath, the concurrency model on top of it, and the data systems that make terabytes tractable.

Algorithms, theory, optimization, and security

The analytical core: how to design an algorithm and prove it works, how to optimize a function or a combinatorial structure, and how to build systems that stay correct against an adversary.

Graphics, rendering, and 3D representations

Making and understanding images: the physics of light transport, the pipeline that renders sixty frames a second, the simulation that moves things believably, and the neural representations that reconstruct a scene from photographs.

Robotics and embodied intelligence

From the kinematic chain and its control law up to the vision-language-action models that now drive manipulation, including the human-in-the-loop problems that make deployment hard.

Applied domains, product, and interfaces

Where the models meet a domain and a user: genomics and biomedicine, audio and music, and the design and engineering of the applications people actually touch.