Machine Learning System Design — Resources

Anand Prakash
3 min readJan 7, 2023

Recently I completed Machine Learning System Design course from educative.io.

Educative.io courses are text-based. There are no videos in the course.

As per Educative.io —

“Videos are holding you back. The average video tutorial is spoken at 150 words per minute, while you can read at 250. That’s why our courses are text-based.”

The course has 7 modules. It starts with introducing a framework containing different steps for approaching Machine Learning System Design. It helps build a foundation to better understand and think critically in the rest of the modules. The course covers design patterns for the following systems -

· Video Recommendation — Video recommendation systems are designed to recommend videos to users based on their interests and past viewing history.

· Feed Ranking — Helps determine the order in which items are displayed in a feed, such as LinkedIn post’s order.

· Ad Click Prediction — The system is designed to predict if an ad will be clicked. These systems can be used to optimize ad targeting and improve the effectiveness of online advertising campaigns.

· Rental Search Ranking — The ML system sorts stay for multiple rental properties in search results

· Estimate Food Delivery — The system helps calculates the estimated total delivery time based on order details, market conditions, and traffic status.

For each of these modules, the course covers the following:

· Problem statement

· Online and Offline metric requirements

· Training and Inference requirements

· Feature Engineering

· Training data

· Model selection and Evaluation

· Calculations and estimations — Assumptions, Data Size, Scale

· High Level design for the problem

· Scale the design

Finally, the course has 2 assessments to complete to earn the completion certificate. Taking this course, you will understand the basic components and design aspects of various ML problems that are commonly used in the industry. I enjoyed reading the course. The questions in the assessments are thought-provoking and challenging, and I wasn’t able to clear one of them in the first attempt, but eventually I did 🙂. It is definitely a good course to hit the ground running.

There are many other resources related to machine learning system design which you will find super useful. They can help you understand the key concepts and principles related to design and implementation of machine learning system. Some of those are:

· Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications by Chip Huyen — this is an amazing book. I had read it when it got released last year, and I plan to re-read it again this year and share my notes.

· System Design for Recommendations and Search by Eugene Yan -https://eugeneyan.com/writing/system-design-for-discovery/. I like reading Eugene’s blog and high recommend you to take a look.

· Machine Learning Systems Design by Goku Mohandas — https://madewithml.com/courses/mlops/systems-design/

· CS 329S: Machine Learning Systems Design — https://stanford-cs329s.github.io/. The Syllabus tab contains the the lectures notes which you can read. I am looking forward to the lecture sessions if they get uploaded to YouTube.

· Recently I had read this blog from the Binance team that describes the architecture and various components used to build a real time end-to-end machine learning pipeline. It’s an interesting read.

Hope this helps you get started with your machine learning system design quest.

The viewpoints expressed are mine and not of my employer. The views, opinions and comments expressed by visitors are theirs alone and may not reflect my opinion. If you enjoyed reading this article feel free to connect with me on LinkedIn. If you’re new to Medium, sign up using my Membership Referral.

--

--

Anand Prakash

Avid learner of technology solutions around Machine Learning, Big-Data, Databases. 5x AWS Certified | 5x Oracle Certified.