This course examines the systems that make modern AI possible, and the systems that agents are now forcing us to rethink. We start with LLMs and agents themselves — using them, then building one — so that the rest of the course has something concrete to optimize. We then work down the stack that sits between a model and the hardware it runs on: GPU programming and kernels, distributed training and fine-tuning, data pipelines, and the serving path, where batching, KV-cache and prefix reuse, quantization, speculative decoding, and routing decide what inference actually costs. We close by turning the relationship around and asking what LLMs can do for systems research. At every layer the question is the same: where do the time and the money actually go?
Tentative and subject to change. Class meets Tuesday and Thursday. Dates follow the FAS Fall 2026 calendar; the Thanksgiving recess and the last day of classes should be confirmed against the registrar's calendar. Rows with Students as the speaker are student-led paper discussions — see the paper discussion page. Readings marked required should be read before class; everything else is optional depth.
| Week | Date | Speaker | Topic | Course Materials | Notes |
|---|---|---|---|---|---|
| Part I — Introduction to LLMs and Agents | |||||
| 1 | 2026-09-03 | Juncheng Yang | Course overview and logistics | notes; optional readings Transformer, scaling laws, sustainable AI | |
| 2 | 2026-09-08 | Juncheng Yang | Modern ML basics I: transformers and the training loop, from a systems view | notes; optional readings Transformer, PyTorch, TensorFlow | |
| 2 | 2026-09-10 | Juncheng Yang | Modern ML basics II: inference, scaling, and where the cost actually is | notes; required reading efficiently scaling inference; optional reading Chinchilla | |
| 3 | 2026-09-15 | Juncheng Yang | Agents from a user’s perspective | notes; optional readings MemGPT, RAG | Assignment 1 out (build something with an agent) |
| 3 | 2026-09-17 | Juncheng Yang | Agents from a designer’s perspective | notes; required reading Parrot; optional readings SGLang, Ray | Assignment 2 out (build an agent) |
| Part II — Systems for LLMs | |||||
| 4 | 2026-09-22 | Juncheng Yang | LLM training and serving basics | required reading Megatron-LM; optional reading vLLM docs | Paper presentation sign-up opens |
| 4 | 2026-09-24 | Juncheng Yang | GPU programming for MLSys I: architecture and the memory hierarchy | optional readings CUDA guide, dissecting Volta, TPU | |
| 5 | 2026-09-29 | Juncheng Yang | GPU programming for MLSys II: Triton, tiling, and fusion | optional readings Triton docs, Triton, CUDA matmul | Assignment 1 due, 11:59pm |
| 5 | 2026-10-01 | Juncheng Yang | Efficient LLM computing: GPU kernels | required readings FlashAttention, roofline; optional readings FlashAttention-2, making DL go brrr | Presentation paper choice due Oct 2 |
| 6 | 2026-10-06 | Juncheng Yang | Efficient and reliable LLM training and fine-tuning I: parallelism and ZeRO | required reading ZeRO; optional readings FSDP, GPipe, PipeDream, Alpa | Project proposal opens; form teams |
| 6 | 2026-10-08 | Juncheng Yang | Efficient and reliable LLM training and fine-tuning II: memory, failures, and scale | required reading Llama 3 (§3, infrastructure); optional readings MegaScale, DeepSeek-V3, ZeRO-Infinity, sublinear memory | Assignment 2 due, 11:59pm |
| 7 | 2026-10-13 | Juncheng Yang | Data pipelines | optional readings CheckFreq, GEMINI, 3FS | |
| 7 | 2026-10-15 | Juncheng Yang | Efficient LLM serving: batching and scheduling I | required reading vLLM / PagedAttention; optional reading Orca | |
| 8 | 2026-10-20 | Juncheng Yang | Efficient LLM serving: batching and scheduling II — disaggregation | required reading Sarathi-Serve; optional readings DistServe, Splitwise | |
| 8 | 2026-10-22 | Students | Efficient LLM serving: KV-cache optimization | Mooncake, InfiniGen, ring attention | Project proposal due Oct 22, 11:59pm |
| 9 | 2026-10-27 | Students | Efficient LLM serving: prefix cache | SGLang / RadixAttention, Parrot, Mooncake | Cache competition opens |
| 9 | 2026-10-29 | Juncheng Yang | Efficient LLM serving: pruning and quantization I | required reading LLM.int8(); optional readings SmoothQuant, mixed precision | |
| 10 | 2026-11-03 | Students | Efficient LLM serving: pruning and quantization II | GPTQ, AWQ, SmoothQuant | |
| 10 | 2026-11-05 | Students | Efficient LLM serving: speculative decoding | speculative decoding, Medusa | |
| 11 | 2026-11-10 | Juncheng Yang | Efficient LLM serving: routing and load balancing | required reading Llumnix; optional readings AlpaServe, Clipper, GShard, Switch Transformer | |
| 11 | 2026-11-12 | Juncheng Yang | Efficient agent serving systems I | required reading Parrot; optional reading SGLang | |
| 12 | 2026-11-17 | Students | Efficient agent serving systems II | MemGPT, Ray, RAG, FAISS | Cache competition closes Nov 17, 11:59pm |
| Part III — LLMs for Systems | |||||
| 12 | 2026-11-19 | Students | LLM for Systems Research I | learned index, measure one level deeper | Project checkpoint due Nov 19, 11:59pm |
| 13 | 2026-11-24 | Students | LLM for Systems Research II | MLPerf, Gavel, Pollux, Tiresias | |
| 13 | 2026-11-26 | Thanksgiving recess — no class | |||
| 14 | 2026-12-01 | Students | Final project presentations I | Peer evaluation | |
| 14 | 2026-12-03 | Students | Final project presentations II | Peer evaluation; final report due Dec 9, 11:59pm | |
Project compute is expected to come from a combination of the following. Access instructions will be posted on the projects page once confirmed.