harvard-edge/cs249r_book
Machine Learning Systems: Foundations, Scaling, Agentic AI, and Physical AI (Vols I–IV) • Harvard CS249r | https://mlsysbook.ai
About harvard-edge/cs249r_book
harvard-edge/cs249r_book is an open-source project on GitHub, mainly written in Python. Machine Learning Systems: Foundations, Scaling, Agentic AI, and Physical AI (Vols I–IV) • Harvard CS249r | https://mlsysbook.ai It currently holds 28,247 stars and 3,565 forks with 6 open issues, and was last pushed on 2026-09-16 (repository created 2023-09-06).
Project Overview
Git Homed tracks it on the AI Agent Skills Trending board and on the AI AI Agent Skills Trending list.
GitHub Repository Details
README
Machine Learning Systems
Principles and Practices of Engineering Artificially Intelligent Systems
📘 Textbook Series •
📗 Vol I •
📘 Vol II (Preview) •
🟣 Vol III (In Dev) •
🌲 Vol IV (In Dev)
🔥 TinyTorch •
🔬 Labs •
🧰 Kits •
🔮 MLSys·im •
🎓 Instructors •
💼 StaffML
📚 Hardcopy edition coming 2026 with MIT Press.
---
Mission
The world is rushing to build AI systems. It is not engineering them.
That gap is what we mean by AI engineering.
AI engineering is the discipline of building efficient, reliable, safe, and robust intelligent systems that operate in the real world, not just models in isolation. Our mission is to establish AI engineering as a foundational discipline alongside software engineering and computer engineering, by teaching how to design, build, and evaluate end-to-end intelligent systems.
Our goal: Help 100,000 learners master ML Systems this year, and reach 1 million by 2030.
---
Why One Repository
I designed this as a single integrated curriculum, not a collection of independent projects. The textbook teaches the theory. TinyTorch makes you build the internals. The hardware kits force you to confront real constraints. The simulator lets you reason about infrastructure you can't afford to rent. Each piece exists because I found that students who only read don't internalize, and students who only code don't generalize.
The repository is the curriculum.
A growing community of contributors helps improve every part of it: fixing errors, sharpening explanations, testing on new hardware. Their work makes this better for everyone, and I'm grateful for every pull request.
---
The Curriculum
Every component connects. The textbook gives you the mental models. The labs let you reason through trade-offs interactively, powered by MLSys·im — a modeling engine for infrastructure you can't physically access, and a standalone tool in its own right. TinyTorch makes you build the machinery yourself. The hardware kits put you face-to-face with real deployment constraints. StaffML tests whether you actually understand it. Socratiq adds AI-guided reading, contextual quizzes, and spaced repetition inside the learning experience. And the instructor hub, slides, and newsletter give educators everything they need to bring this into a classroom.
For Students
| Component | Role in the Curriculum | Link | |
|---|---|---|---|
| 📖 | Textbook Series | Four-volume MIT Press textbook series on Machine Learning Systems Architecture:
• Vol I: Introduction to Machine Learning Systems (Released) The foundations, abstractions, lifecycle, data, training, inference, evaluation, deployment, and responsible systems. • Vol II: Scaling Machine Learning Systems (Preview) Distributed computation, accelerators, memory, communication, parallelism, serving, reliability, and efficiency. • Vol III: Agentic Machine Learning Systems (In Development) Reasoning and acting loops, memory, tools, planning, search, orchestration, evaluation, security, and multi-agent systems. • Vol IV: Physical AI Systems (In Development) Sensing, perception, world models, control, robotics, embodiment, real-time constraints, safety, and hardware. ⚠️ Volumes III and IV are in development and change quickly as I iterate. Please do not cite or teach from them yet. Feedback is welcome through the Book feedback issue forms. |
Vol I · Vol II (Preview) · Vol III (In Dev) · Vol IV (In Dev) |
| 🔬 | Labs | Interactive Marimo notebooks where you explore trade-offs from the textbook: change a parameter, see what breaks, build intuition. Powered by MLSys·im under the hood. | Launch labs · Repo guide |
| 🔥 | Tiny🔥Torch | Build your own ML framework from scratch across 20 progressive modules. You don't understand a system until you've built one. | Get started |
| 🛠️ | Hardware Kits | Deploy ML to Arduino, Seeed, Grove, and Raspberry Pi devices. Real memory limits, real power budgets, real latency. | Browse labs |
| 🔮 | MLSys·im | Calculate memory bottlenecks, network saturation, and scheduling limits at infrastructure scales you can't physically access. | Use simulator · Repo guide |
| 💼 | StaffML | Physics-grounded interview questions for ML systems roles. Vault, practice drills, mock interviews, and progress tracking. | Practice · Repo guide |
For Educators
| Component | What It Provides | Link | |
|---|---|---|---|
| 🎓 | Instructor Hub | The AI Engineering Blueprint: two 16-week syllabi, pedagogy guide, assessment rubrics, and a TA handbook. | View hub · Repo guide |
| 🎬 | Lecture Slides | Beamer slide decks for every chapter, with four theme variants. Drop into your course and teach. | Browse decks · Repo guide |
| 📬 | Newsletter | Updates on the curriculum, new chapters, and what the community is building. | Subscribe |
---
Choose Your Path
The pieces are designed to work together, but you do not need to adopt everything at once.
| If you are... | Start here | Then go deeper | |---|---|---| | A student or self-learner | Read Volume I and try Lab 00 | Build TinyTorch, use MLSys·im, and practice with StaffML | | An instructor | Open The AI Engineering Blueprint | Use the course map, slides, rubrics, and TA guide | | A contributor | Pick the component you use most | Improve chapters, labs, tests, examples, hardware notes, simulator models, or assessment content |
The learning loop is: Read → Explore → Build → Model → Deploy → Practice → Teach.
Adjacent and Experimental Work
Some projects are intentionally earlier-stage than the main curriculum:
- Socratiq explores AI-guided reading, contextual quizzes, and spaced repetition for static learning sites.
- MLPerf EDU is an under-construction pedagogical benchmark suite aligned with MLCommons MLPerf.
What You Will Learn
This textbook teaches you to think at the intersection of machine learning and systems engineering. Each chapter bridges algorithmic concepts with the infrastructure that makes them work in practice.
| You know... | You will learn... | |
|---|---|---|
| How to train a model | → | How training scales across GPU clusters |
| That quantization shrinks models | → | How INT8 math maps to silicon |
| What a transformer is | → | Why KV-cache dominates memory at inference |
| Models run on GPUs | → | How schedulers balance latency vs throughput |
| Edge devices have limits | → | How to co-design models and hardware |
Book Structure
The textbook series follows a comprehensive systems progression across four core volumes:
| Volume | Unit of Work | Core Systems Question | Consequence of Failure | |
|---|---|---|---|---|
| 📗 | Volume I Foundations |
The Model | How do we make intelligence execute efficiently on a single node? | Bad prediction or degraded runtime efficiency. |
| 📘 | Volume II Scaling (Preview) |
The Fleet | How do we scale intelligence across distributed clusters and datacenters? | Multi-million dollar cluster stall or service outage. |
| 🟣 | Volume III Agentic (In Dev) |
The Trajectory | How do we govern intelligence acting autonomously over long horizons? | Compounding trajectory drift and unauthorized side-effects. |
| 🌲 | Volume IV Physical AI (In Dev) |
The Physical Plant | How do we let intelligence act safely on matter and physical systems? | Irreversible physical damage in the real world. |
Note: Volumes III and IV are in development. They change quickly as I iterate, so expect chapters to be added, reorganized, and rewritten. You are welcome to follow along as they take shape.
How the Volumes Connect
Each volume in the series expands the systems boundary, answering the question that the previous level leaves open:
- From Model to Fleet (Vol I → Vol II): When one machine is not enough. Volume I masters single-node execution, memory walls, and kernel efficiency. Volume II scales those foundations across thousands of accelerators, collective communication fabrics, fault-tolerant networks, and datacenter orchestration.
- From Request to Trajectory (Vol II → Vol III): When a stateless response is not enough. Volume II scales stateless request-response inference. Volume III introduces stateful, multi-step autonomous loops—managing context memory hierarchies, tool execution protocols (MCP), isolation sandboxes, and non-deterministic recovery.
- From Cyberspace to Matter (Vol III → Vol IV): When software acts on the physical world. Volume III governs digital tools and software environments. Volume IV crosses the causal boundary into physical plants—governing real-time sensor-actuator loops where computational latency becomes uncontrolled distance, reflected inertia dictates motion, and failure has irreversible physical consequences.
FAQ
Why do you do all this?
I consider myself a student of my own learning.
Whenever I want to understand an emerging or complex systems discipline, I learn it by trying to teach and build it from first principles. Writing forces me to slow down: to identify invariants, formalize abstractions, derive quantitative limits, and separate durable engineering foundations from passing industry hype.
This repository—the books, software frameworks, and hardware kits—is my open research and teaching instrument. It is how I clarify my own thinking for research, benchmarking programs (like MLPerf), and classroom instruction. If sharing this open process helps other engineers and students along the way, you are more than welcome to follow along.
Who is this for, and what should I know first?
This is for anyone who wants to engineer intelligent systems, not only train models: students, working engineers moving into ML infrastructure, and educators building a course. We assume you can program in Python and have met basic machine learning ideas, but the book builds the systems concepts from the ground up. You do not need a background in computer architecture, distributed systems, or datacenter operations. Volume I starts at the foundations, and the rest of the curriculum (TinyTorch, labs, hardware kits, and the simulator) lets you learn by building rather than only by reading.
Do I need Volume I before Volume II? What is the difference?
The two volumes differ in scope, not depth. Both are equally rigorous. Volume I is the single-machine world: how an ML system works on one node with a handful of accelerators, from data and a single neuron's computation up through training, optimization, and deployment. Volume II is the at-scale world: many machines across a network, distributed training, fault tolerance, fleet orchestration, inference at scale, and governance. Volume II does not assume you have read Volume I, so you can start there if you already have the foundations. The natural path, though, is Volume I to build the mental models and Volume II to apply them across the fleet. The analogy we follow is Hennessy and Patterson: Computer Organization and Design first, then Computer Architecture: A Quantitative Approach.
Do I need to use TinyTorch, the labs, and the kits, or can I just read the book?
You can just read the book. Each volume stands on its own. The rest of the curriculum (TinyTorch, the labs, the hardware kits, the simulator, and the interview practice) exists to deepen what the book teaches by making you build and measure it, but none of it is required to follow the text. Start with the book, and reach for the hands-on pieces when you want a concept to become muscle memory.
Isn't this just a deep learning book?
Deep learning books (Goodfellow et al.'s Deep Learning, Bishop, d2l.ai, fast.ai) teach you to design and train models: architectures, optimization, and the mathematics of learning. They mostly stop at the model. This book starts where they leave off. It treats the model as one component inside a system that has to ingest data, run on real silicon under power and latency budgets, serve predictions reliably, and keep working as the world drifts. You can finish a deep learning course knowing how a transformer learns and still not know why it stalls on a 4,000-accelerator training run, what the KV cache does to your serving memory, or why your accelerator sits idle. That gap is what we teach. Learn the model from a deep learning text, then learn the system here.
Isn't this MLOps, or the same as Designing Machine Learning Systems?
This is the most common mix-up, because "ML systems" and "MLOps" sound interchangeable and several good practitioner books share the words. MLOps books are operations guides: how to wire up a feature store, a pipeline, and a deployment with today's tools. They are valuable, and they age with the tooling. This book teaches the layer underneath: the physics and quantitative reasoning that explain why those tools exist and what they cost. We ask which questions matter, why a design is the way it is, and what it cannot escape (bandwidth, latency, power, failure rates).
Think of the difference between following a recipe and understanding how cooking works. A recipe gives you exact steps for one dish: this temperature, this pan, this many minutes. It works beautifully until the oven, the ingredients, or the kitchen changes. Understanding why heat, salt, acid, and time transform food is different. It lets you cook in any kitchen, rescue a dish that is going wrong, and invent one that no recipe covers.
An MLOps book hands you the recipe for the stack you have today. This book teaches the underlying science, so you can reason about any stack, debug the one that is failing, and design the one that does not exist yet.
How is this different from a classic systems reference like The Datacenter as a Warehouse-Scale Computer?
References like Barroso, Hölzle, and Clidaras's The Datacenter as a Warehouse-Scale Computer are excellent. They distill how one organization engineered one canonical system, written by the people who built it. This project is a different kind of artifact, and the two are complementary rather than competing.
1. Curriculum, not reference. A synthesis lecture documents a finished design for practitioners who already know the field. This book teaches the discipline from the ground up, with lear