Skip to content
A booklet on machine learning systems design with exercises
HTML CSS JavaScript
Branch: master
Clone or download
chiphuyen Merge pull request #2 from tdhopper/master
Add Netlify configuration
Latest commit 9a8161c Nov 26, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
answers ml sys design Nov 24, 2019
build add link to exercise answers Nov 25, 2019
content ml sys design Nov 24, 2019
fonts ml sys design Nov 24, 2019
images ml sys design Nov 24, 2019
includes ml sys design Nov 24, 2019
javascripts ml sys design Nov 24, 2019
layouts ml sys design Nov 24, 2019
stylesheets ml sys design Nov 24, 2019
.gitignore ml sys design Nov 24, 2019 add link to exercise answers Nov 25, 2019
magicbook.json ml sys design Nov 24, 2019
netlify.toml Create netlify.toml Nov 25, 2019

Machine Learning Systems Design

This booklet covers four main steps of designing a machine learning system:

  1. Project setup
  2. Data pipeline
  3. Modeling: selecting, training, and debugging
  4. Serving: testing, deploying, and maintaining

It comes with links to practical resources that explain each aspect in more details. It also suggests case studies written by machine learning engineers at major tech companies who have deployed machine learning systems to solve real-world problems.

At the end, the booklet contains 27 open-ended machine learning systems design questions that might come up in machine learning interviews. The answers for these questions will be published in the book Machine Learning Interviews. You can look at and contribute to community answers to these questions on GitHub here. You can read more about the book and sign up for the book's mailing list here.


To read the booklet, you can clone the repository and find the HTML and PDF versions in the folder build.


This is work-in-progress so any type of contribution is very much appreciated. Here are a few ways you can contribute:

  1. Improve the text by fixing any lexical, grammatical, or technical error
  2. Add more relevant resources to each aspect of the machine learning project flow
  3. Add/edit questions
  4. Add/edit answers
  5. Other

This book was created using the wonderful magicbook package. For detailed instructions on how to use the package, see their GitHub repo. The package requires that you have node. If you're on Mac, you can install node using:

brew install node

Install magicbook with:

npm install magicbook

Clone this repository:

git clone
cd machine-learning-systems-design

After you've made changes to the content in the content folder, you can build the booklet by the following steps:

magicbook build

You'll find the generated HTML and PDF files in the folder build.


I'd like to thank Ben Krause for being a great friend and helping me with this draft!


You can’t perform that action at this time.