Engineering Leader Guide· a Bicycle Guide

Coming soon · Technical Reference

Designing Machine Learning Systems

A holistic, iterative framework for designing production-ready machine learning systems that are reliable, scalable, maintainable, and adaptive across every stage from data engineering to continual learning.

This is a hands-on technical/engineering book — we're building it into Stepcode (tool-by-tool how-to), with a profile to follow.

Get the book →

What it’s about

Designing Machine Learning Systems by Chip Huyen offers the comprehensive, end-to-end guide that ML engineers and data scientists have long needed to bridge the gap between academic model-building and the messy realities of production. Rather than treating the ML algorithm as the centerpiece, Huyen situates it as just one small component within a much larger system encompassing business objectives, data pipelines, feature engineering, deployment infrastructure, monitoring, and responsible AI. Drawing on her experience at NVIDIA, Netflix, Snorkel AI, and Stanford—where she teaches the course CS 329S: Machine Learning Systems Design—she walks readers through every stage of the ML project lifecycle with concrete case studies, trade-off discussions, and practical frameworks. The book covers everything from sampling strategies and labeling techniques, through model development and offline evaluation, to online prediction, data distribution shift detection, continual learning, MLOps infrastructure, and the human and ethical dimensions of deploying AI at scale. Whether you are deploying your first model or managing hundreds in production, this book provides the principled vocabulary and decision-making framework to do it right.

The through-line

Who it’s for
ML engineers, data scientists, and engineering managers who want to build ML systems that actually work reliably in production—not just in notebooks—and who are frustrated by the gap between academic ML and real-world deployment complexity.
The problem
Their models perform well in development but degrade, fail silently, or cause harmful outcomes once deployed to real users at scale. They feel overwhelmed, under-equipped, and uncertain about what to do next when production systems break in ways that unit tests and accuracy scores never revealed.
The plan
  1. Establish business objectives and translate them into ML objectives and system requirements (reliability, scalability, maintainability, adaptability).
  2. Frame the ML problem correctly: choose the right task type, objective function, and decoupled multi-objective structure.
  3. Master data engineering fundamentals: data sources, formats, storage engines, and dataflow modes.
  4. Create high-quality training data through principled sampling, labeling strategies (natural labels, weak supervision, active learning), and handling class imbalance and data augmentation.
  5. Engineer features carefully, avoiding data leakage, prioritizing feature importance and generalization.
The payoff
ML models remain accurate and reliable long after deployment, with degradation detected and corrected quickly. · Teams move from manual, months-long model update cycles to automated, data-driven retraining triggered by real performance signals. · Data scientists own the full ML lifecycle confidently, supported by infrastructure that abstracts away operational complexity.

See our guide

Related profiles we’ve built

Additional reading