# Machine Learning Systems *Principles and Practices of Engineering Artificially Intelligent Systems*
📘 Textbook • 📗 Vol I + 📘 Vol II • 🔥 TinyTorch • 🔬 Labs • 🔮 MLSys·im • 💼 StaffML
📚 Hardcopy edition coming 2026 with MIT Press.
The world is rushing to build AI systems. It is not engineering them.
The repository is the curriculum.
| Component | Role in the Curriculum | Link | |
|---|---|---|---|
| 📖 | Textbook | Two-volume MIT Press textbook. The theory, the mental models, and the quantitative reasoning that everything else builds on. | Vol I · Vol II |
| 🔬 | 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 |
| 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 |
| 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 |
| Volume | Theme | Scope | |
|---|---|---|---|
| 📗 | Volume I | Build, Optimize, Deploy | Single-machine ML systems (1–8 GPUs). Foundations, optimization, and deployment on one node. |
| 📘 | Volume II | Scale, Distribute, Govern | Distributed systems at production scale. Multi-machine infrastructure, fault tolerance, and governance. |
① |
Read the textbook. Start with Volume I or continue to Volume II. It's the foundation for everything else. |
② |
Pick a hands-on path. Build a framework (TinyTorch), explore trade-offs (Labs), model constraints (MLSys·im), or deploy to real hardware (Kits). |
③ |
Test yourself. Drill StaffML: physics-grounded systems design questions across cloud, edge, mobile, and TinyML. |
④ |
Teach it. Adopt the curriculum with the AI Engineering Blueprint and lecture slides. |
| Branch | What's on it | Status | |
|---|---|---|---|
| 🟢 | mainmlsysbook.ai |
Single-volume textbook (current edition) | Live — this is what readers see today. |
| 🟡 | dev← you are here |
Volume I — two-volume split (content complete, editorial polish) Volume II — At Scale (active development) Curriculum — TinyTorch, Kits, MLSys·im, Labs, StaffML |
TinyTorch and Hardware Kits are live. MLSys·im, Labs, and StaffML are early-release and actively iterated. |
The two-volume split replaces the single-volume edition at launch.
--- ## Support This Work|
Star the repo Stars signal to universities and foundations that this work matters. They directly fund workshops and hardware kits for underserved classrooms. 100 → 1,000 → 10,000 → 100,000 → 1M learners by 2030 |
Fund the mission All contributions go to Open Collective, a transparent fund for educational outreach. Every dollar goes to reaching more students. |
| I want to... | Go here | |
|---|---|---|
| 📖 | Fix a typo or improve a chapter | Textbook contributing guide |
| 🔥 | Add a TinyTorch module or fix a bug | TinyTorch contributing guide |
| 🛠️ | Improve hardware labs | Hardware kits guide |
| 🔬 | Improve interactive labs or simulator models | Labs guide · MLSys·im guide |
| 💼 | Improve assessment or career-readiness content | StaffML guide · quiz refresh guide |
| 🧠 | Improve AI learning tools | Socratiq guide |
| 🐛 | Report an issue | GitHub Issues |
| 💬 | Ask a question | GitHub Discussions |
Vijay Janapa Reddi 🪲 🧑💻 🎨 ✍️ 🧠 🔎 🧪 🛠️ |
kai 🪲 🧑💻 🎨 ✍️ 🧪 |
Dang Truong 🪲 🧑💻 ✍️ 🧪 |
Farhan Asghar 🪲 🧑💻 🎨 ✍️ |
Rocky 🪲 🧑💻 ✍️ 🧪 |
Didier Durand 🪲 🧑💻 ✍️ |
rnjema 🧑💻 ✍️ 🛠️ |
Pratham Chaudhary 🪲 🧑💻 ✍️ |
Karthik Dani 🪲 🧑💻 |
Avik De 🪲 🧪 |
Takosaga 🪲 ✍️ |
joeswagson 🧑💻 🛠️ |
AndreaMattiaGaravagno 🧑💻 ✍️ |
Rolds 🪲 🧑💻 |
asgalon 🧑💻 ✍️ |
bdub 🪲 🧑💻 |
Amir Alasady 🪲 |
jettythek 🧑💻 |
wzz 🪲 |
Ng Bo Lin ✍️ |
keo-dara 🪲 |
Wayne Norman 🪲 |
Ilham Rafiqin 🪲 |
Oscar Flores ✍️ |
harishb00a ✍️ |
Pastor Soto ✍️ |
Salman Chishti 🧑💻 |
Aditya Mulik ✍️ |
Ademola Arigbabuwo ✍️ |
Yaroslav Halchenko 🧑💻 |
Harish ✍️ |
Vijay Janapa Reddi 🧑💻 🎨 ✍️ 🧠 |
Peter Koellner 🪲 ✍️ |
Rocky 🪲 🧑💻 |
Zeljko Hrcek 🧑💻 |
Vijay Janapa Reddi 🎨 ✍️ 🧠 |
Rocky 🪲 🧑💻 |
Farhan Asghar 🧑💻 |
Vijay Janapa Reddi 🪲 🧑💻 🎨 ✍️ 🧪 🛠️ |
Marcelo Rovai ✍️ 🧑💻 🎨 |
Farhan Asghar 🪲 🧑💻 |
Salman Chishti 🧑💻 |
Pratham Chaudhary 🧑💻 |
Rocky 🪲 |
Vijay Janapa Reddi 🧑💻 🎨 ✍️ |
Rocky 🪲 🧑💻 🎨 |
Salman Chishti 🧑💻 |
Pratham Chaudhary 🧑💻 |
Peter Koellner 🪲 |
Vijay Janapa Reddi 🧑💻 🎨 ✍️ |
Vijay Janapa Reddi 🧑💻 🎨 ✍️ |
Farhan Asghar 🪲 🧑💻 🎨 |
Rocky 🧑💻 ✍️ 🔎 |
Coming soon!
---