Learn how to design and optimize machine learning systems for resource-constrained devices like phones and IoT hardware.
Build a complete ML framework from scratch using TinyTorch to understand how training and inference actually work under the hood.
Deploy trained models on Arduino or Raspberry Pi and debug real-world constraints like memory and power consumption.
Teach a university course on ML systems engineering with integrated labs, simulations, and hardware experiments.
Hardware components (Arduino, Raspberry Pi) required for full curriculum; Jupyter notebooks can run without them for initial learning.
This is an open-access textbook and integrated learning curriculum for "Machine Learning Systems," developed at Harvard. It tackles a real gap in AI education: most courses teach you to build AI models in isolation, but few teach you how to engineer complete, reliable AI systems that actually work in the real world. The curriculum is structured as one unified repository with several connected pieces. The textbook (published in two volumes, with a hardcopy edition coming from MIT Press in 2026) provides the core theory and mental models. Interactive labs let students explore design trade-offs hands-on. TinyTorch is a guided project where you build a machine learning framework from scratch, module by module. Hardware kits let you deploy real models on devices like Arduino and Raspberry Pi, confronting actual memory limits and power budgets. An infrastructure simulator lets you reason about large-scale systems without needing to rent expensive cloud resources. There is also an AI-guided reading tool with quizzes and spaced repetition built in. The course targets students and educators who want to move beyond model training and understand how to build efficient, safe, and robust AI systems end-to-end. It covers topics spanning edge machine learning, embedded systems, cloud ML, and deep learning. The material is written in Python and uses Jupyter-style interactive notebooks.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.