This is how I learn ML
Sep 19, 2023Today I wanna share with you how I learn new things in ML, because I think it can help you too. This is the strategy I started using 2 years ago, when I decided to learn Reinforcement Learning, so I created the The Hands-on RL Course.
The need to constantly learn ML
Machine Learning is an exciting field to work on, but it is also complex and fast-evolving. It does not matter how much you know today, your skills and expertise will become obsolete faster than you think.
This might seem discouraging at first. But, for me, this has turn out to be the main reason I work in ML.
The excitement and joy I experience when I learn a new thing, for example
-
a new programming language, like Rust
-
a new library, like Polars, or
-
a completely new paradigm for building ML apps, like Large Language Models
is what makes ML special for me. And I am damn sure you feel the same.
Let me share with you the recipe I follow when I want to learn a new ML-thing.
Project based learning
I frame my learning as a project. That is, I start by asking myself:
What project do I want to build with this new thing I want to learn?
When you start from the end goal you keep focus, avoid distractions, and learn tons of things pretty fast.
Example
Let’s say you wanna get up to speed with Large Language Models (LLMs). A good first project would be to build a REST API for sentiment analysis.
When you start your learning path with a clear goal in mind, you put your brain in a problem-solving mode. And you start asking yourself the right questions:
-
Where can I find a dataset to train and evaluate my model?
-
What is the right model for this task?
-
How do I wrap and deploy my model as a REST API?
So you go to the Internet and start looking for answers. At first you feel a bit overwhelmed. But eventually you start connecting the dots, and finding answers to your questions. For example,
-
Dataset? → This Amazon Review dataset can be a good starting point .
-
Model? → The Hugging Face
transformers
library provides great models for sentiment analysis, which you can use out-of-the box or even fine-tune with your own data to improve their accuracy for your task. -
Deployment? → AWS Lambda is a popular serverless deployment platform, why not try it?
These are the building blocks of your solution, that you need to put together to be a champion.
But it's been no bed of roses
Project-based learning is not a happy path, because having the ingredients is not enough to build your solution. You need to get your hands dirty, and start writing the code that cooks these ingredients into your masterpiece.
This phase is full of ups and downs, little victories and frustrations. And this is when REAL LEARNING takes place.
Only when you struggle and implement solutions yourself, you learn. As simple as that.
We are the champions, my friends
When you based your learning on building projects you get 2 things:
-
Immense joy when you manage to overcome obstacles and complete the project.
-
An incredible portfolio, that you can showcase in job interviews, that will help you stand out from the crowd.