...

/

Setting up a Machine Learning System

Setting up a Machine Learning System

Let's go over the important steps that are mostly common among different ML-based systems. We will use this framework in problems that we discuss later in the course.

Overview

Interviewers will generally ask you to design a machine learning system for a particular task. For instance, they may ask you to design the machine learning system for the following problems:

  • Build a system that shows relevant ads for search engines.
  • Extract all persons, locations, and organizations from a given corpus of documents.
  • Recommend movies to a user on Netflix.

In your interview preparation, you would find a plethora of resources to tell you details about how different machine learning models work. However, there are not many resources that show you how to approach the ML system design of such a complex and large scale problem.

Press + to interact

What you are searching for is a comprehensive resource that provides practical knowledge to kickstart your preparation for machine learning interviews. Fortunately, this course concludes your search. 🎉

Before diving into the chapters, let’s get you familiarized with the thought process required to answer an interviewer’s questions.

Key steps in ML system setup

In the following chapters, you will observe that the key steps involved in machine learning project set up are as follows:

Setting up the problem

The interviewer’s question is generally very broad. So, the first thing you need to do is ask questions. Asking questions will close the gap between your understanding of the question and the interviewer’s expectations from your answer. You will be able to narrow down your problem space, chalk out the requirements of the system, and finally arrive at a precise machine learning problem statement.

For instance, you may be asked to design a search engine that displays the most relevant results in response to user queries. You could narrow down the problem’s scope by asking the following questions:

  • Is it a general search engine like Google or Bing or a specialized search engine like Amazon’s products search?

  • What kind of queries is it expected to answer?

svg viewer

This will allow you to precisely define your ML problem statement as follows:


Build a generic search engine that returns relevant results for queries like “Richard Nixon”, “Programming languages” etc.


Or, you may be asked to build a system to display a Twitter feed for a user. In this case, you can discuss how the feed is currently displayed and how it can be improved to provide a better experience for the users.

📝 In the feed-based system chapter, we discuss how the Twitter feed was previously displayed in chronological order, causing users to miss out on relevant tweets. From this discussion, we realized that we want to move towards displaying content in order of relevance instead.
Read this chapter to find out more!

After inspecting the problem from all aspects, you can easily narrow it down to a precise machine learning problem statement as follows:


“Given a list of tweets, train an ML model that predicts the probability of engagement of tweets and orders them based on that score.”


📝 Some problems may require you to think about hardware components that could provide input for the machine learning models.

Understanding scale and latency requirements

Another ...