machine-learning-systems-design README

The project's README from github.com/chiphuyen/machine-learning-systems-design. As one markdown file: README.md.

Machine Learning Systems Design

Read this booklet here.

This booklet was my initial attempt to write about machine learning systems design back in 2019. My understanding of the topic has gone through significant iterations since then. My book Designing Machine Learning Systems (O'Reilly, June 2022) is much more comprehensive and up-to-date. The new book's repo contains the full table of contents, chapter summaries, and random thoughts on MLOps tooling.

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.

Contribute

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 https://github.com/chiphuyen/machine-learning-systems-design.git
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.

Acknowledgment

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

Citation

machine-learning-systems-design (chiphuyen/machine-learning-systems-design)

Searching Database…

What is this?A free booklet on designing machine learning systems, covering four main steps: project setup, data pipeline, modeling (selecting, training, debugging), and serving (testing, deploying, maintaining), with links to practical resources and case studies.
Is this the same as the author's published book 'Designing Machine Learning Systems'?No, this is an earlier, shorter 2019 draft booklet. The actual O'Reilly book covers the topic in much more depth and lives in a separate repo (dmls-book).
How do I actually read the booklet?Follow the link at the top of the README to read it online as generated HTML/PDF output.
Is this content still being actively maintained or expanded?It's an early, work-in-progress draft from 2019; the author's understanding has evolved a lot since, and the more polished material now lives in the published book.
Does the booklet include the 27 interview questions it mentions?Yes, the booklet contains 27 open-ended machine learning systems design questions that commonly come up in ML interviews.
Where can I find answers to those 27 questions?The author's book 'Machine Learning Interviews' publishes official answers, and a separate linked GitHub repo collects community-contributed answers.
Why keep this booklet around if a full book already exists?It preserves the original 2019 draft that led to the later, more comprehensive book, and still serves as a free, lighter-weight resource with curated links and case studies.
Creator
chiphuyen
Size
1.4 MB
Stars
10.7K
Updated
CommitJun 22
Age
6y
Commits · 90 Days