The mindset that stands you out from the crowd
May 26, 2024Most Machine Learning courses give you:
-
a dataset with features (aka model inputs) and a target metric (aka model outputs)
-
an error metric to optimize (e.g. accuracy)
and they show you how to build the best possible model, that is, the mapping from features to targets that minimizes the error metric.
And although this step is essential to building real-world ML products, it is JUST ONE of the steps necessary to build real-world ML products.
When you exclusively focus on building ML models, you adopt the so-called model-first mindset.
Model-first mindset ๐ค
This is a very valid approach if you are working in academia or as an ML Research Engineer in a big lab (e.g. DeepMind) and there is a huge engineering team behind you, that provides tooling and platforms to quickly move prototypes to production.
However, most companies in the world are NOT research labs.
This means that most ML engineers in the world need to adopt a different mindset, focused on building ML products that bring business value from day 0.
This is what I call a product-first mindset.
Product-first mindset ๐ง
Unless you are a researcher in academia, and your goal is to publish a paper, you cannot just focus on the ML mapping between features and targets. You need to think further down the line and think of the business problem you are trying to sovle. When you do that, you adopt a product-first mindset.
Real-world ML products are more than just ML models. There are 2 essential skills you need to perfect and master over time, that you won't learn in any Kaggle competition:
-
Problem framing, which you do before you train your ML model.
-
Model operationalization (aka MLOps), which you do after you train your ML model.
Skill #1. Problem framing
Machine Learning is not the end, but the means through which you try to solve ONE SPECIFIC BUSINESS PROBLEM. Hence, at the start of any ML project, you need to step back a bit so that you don’t miss the forest for the trees ๐ฒ๐ณ๐ฒ๐ณ๐ฒ.
Here is a list of things I suggest you do at the beginning of every project:
-
Understand the underlying business problem, the business metric you wanna impact (e.g. marketing profit) and the proxy metric your ML model will try to predict (e.g. Ad Click-Through-Rates).
-
Talk to stakeholders and end-users, especially if the output of your ML model will be used by a human operator to assist in her decision process.
-
Estimate the current value (aka baseline) of your business and proxy metric. This is the metric you need to improve to bring value to the table. Think of easy-to-implement-non-ML solutions that will work just fine to start with.
-
Talk to the data engineers to understand data availability (quantity and quality), so you detect project blockers as soon as possible.
Skill #2. ML model operationalization (MLOps)
ML model prototypes have 0 value until you put them to work. For that, you need to build a minimum system that
-
Ingests data and generates features → feature pipeline
-
Re-trains the model → training pipeline
-
Generates and serves predictions → inference pipeline
๐ก If you wanna get into more details I recommend you read my previous article on the 3-pipeline design
MLOps is a set of best practices to help you build a fully functional MVP. And improve it over time.
This is what has business value, and what companies are looking for.
My advice ๐ก
If you are new to Machine Learning, go to Kaggle, pick a dataset and problem you are interested in, and try to build a good predictive model. Get comfortable building models.
Once you feel comfortable building models, take the next step, and start thinking of building actual ML products from these models.
This is in my opinion the greatest differentiator in the job market these days: those who build complete ML products, vs the ones who just build ML prototypes.
Wanna learn to build ML systems from the ground up? ๐๏ธ
I have 2 hands-on tutorials that will help you:
-
The Real-World ML Tutorial + Community is a step-by-step, self-paced tutorial in which you will design, build and deploy an ML system that predicts taxi demand in NYC, hour by hour.
This tutorial is ideal for those of you that have experience training ML models in notebooks, and want to take the next step, and start building modular ML systems that generate live predictions. Join 400+ builders here ๐จ๐ป๐ป ๐ฉ๐ฝ๐ป -
Building a Real-Time ML System. Together.
A live, interactive course in which we (you and me) together will build a modular real-time ML system to predict short-term crypto prices.
This course is ideal for those of you who are familiar with Python, and want to learn how to build modular ML systems that transform raw data into predictions in real-time. Join the first cohort here โกโกโก
Keep on learning!
Peace, love, and laugh
Pau