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.
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.
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.
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.
| 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 |
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.
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.
- Periodic Table of ML Systems is a compact concept map for organizing recurring systems ideas.
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 |
The textbook follows the Hennessy & Patterson pedagogical model across two volumes:
| 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. |
Note
You are on the dev branch. Active development happens here. For the last stable release, see the main branch.
| 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.
|
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 |
This is a multi-component repository, and each component is released under its own license to match its purpose. The file inside each directory (e.g. tinytorch/LICENSE, interviews/staffml/LICENSE) is authoritative.
| Component | License | What it means |
|---|---|---|
Textbook (book/), Labs (labs/), Kits (kits/), Slides (slides/), Instructors (instructors/) |
CC-BY-NC-SA 4.0 | Share and adapt for non-commercial use, with attribution and same-license sharing. |
| TinyTorch | MIT | Permissive — use, modify, redistribute, including commercially. |
| MLSys·im | Apache 2.0 | Permissive with explicit patent grant. |
| StaffML | AGPL v3 | Strong copyleft — modifications to deployed services must be published. Commercial licensing available; contact the authors. |
| StaffML question corpus | CC BY-NC 4.0 | Research and educational use; commercial use requires permission. |
| TinyDigits dataset | BSD 3-Clause | Permissive (matches sklearn ancestry). |
| TinyTalks dataset | CC BY 4.0 | Permissive with attribution; commercial use allowed. |
A user-facing summary lives at mlsysbook.ai/about/license.
If you are an institution considering adoption, or a company interested in commercial terms for a copyleft component, please reach out to edu@tinyML.org.
Thanks goes to these wonderful people who have contributed to making this resource better for everyone!
Legend: 🪲 Bug Hunter · 🧑💻 Code Contributor · ✍️ Doc Wizard · 🎨 Design Artist · 🧠 Idea Spark · 🔎 Code Reviewer · 🧪 Test Tinkerer · 🛠️ Tool Builder
Vijay Janapa Reddi 🪲 🧑💻 🎨 ✍️ 🧠 🔎 🧪 🛠️ |
kai 🪲 🧑💻 🎨 ✍️ 🧪 |
Dang Truong 🪲 🧑💻 ✍️ 🧪 |
Farhan Asghar 🪲 🧑💻 🎨 ✍️ |
Rocky 🪲 🧑💻 ✍️ 🧪 |
Didier Durand 🪲 🧑💻 ✍️ |
rnjema 🧑💻 ✍️ 🛠️ |
Pratham Chaudhary 🪲 🧑💻 ✍️ |
Karthik Dani 🪲 🧑💻 |
Avik De 🪲 🧪 |
Takosaga 🪲 ✍️ |
joeswagson 🧑💻 🛠️ |
AndreaMattiaGaravagno 🧑💻 ✍️ |
Rolds 🪲 🧑💻 |
asgalon 🧑💻 ✍️ |
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 🧑💻 🎨 ✍️ |
Rocky 🧑💻 ✍️ 🔎 |
Farhan Asghar 🪲 🧑💻 |
Coming soon!
✉️ Subscribe • 💬 Join discussions • 🌐 Visit mlsysbook.ai
Made with ❤️ for AI engineers
in the making, around the world 🌎