Musings on Machine Learning Engineering
Musings from BT_Hal on his career in ML, helping you learn valuable lessons to apply in the industry.
Introduction
BT_Hal is short for BowTiedHal. He is a guy who has been working as a research scientist, specializing in ML models (AI). I’ve had a few conversations with him, and can vouch for him, he is the real deal. If you are interested in working as a researcher, or interested in joining a Facebook.Amazon.Apple.Netflix.Google (FAANG) as a Data Scientist (DS), I’d read this one very carefully.
You can find his SaaS ML project here.
Background
I am a research scientist in AI at FAANG. My goal is to push the state of AI forward and integrate them into the products for many people to enjoy. My day to day ranges from all kinds of things from coding an idea you had in mind, to polishing the code, reading papers, discussing ideas with people around me, mentoring other people and so on.
Artificial Intelligence (ML)
AI is a technology that makes huge advances every year; just see how much Google Translate improved from the last 5-7 years, Grammarly doing edits to your writings, Tesla deploying self-driving technology to millions, bots crushing humans at every game and so on. Yet there are still many unanswered questions that keep us busy every day. We are able to generate much better photo realistic faces than even 3-4 years ago, yet people easily find flaws in the generated faces.
Note: Up above is an AI made by DeepMind (Google) beating Starcraft 2 professional players. You can check them out here.
Even though you read about all these advances in the media, as a practitioner I see it myself. Five-six years ago when I started in the field, it was very hard to take AI from academic paper to product. Most of the stuff we did back then was a cool paper at a conference. Very few of such papers made into production that required many engineering hours of work at BigCo with the right amount of resources (GPUs). Nowadays thanks to the open-source software and availability of pre-trained models it is much easier for 1-2 people to take their model and make a very workable demo (example one I made recently).
How To Get Your Foot In The Door
Honestly, it is all luck and hard work. The department I did undergrad in had a very strong ML group. After a cold email, a famous prof was happy to take me and assigned a grad student under my wing. From there I got an experience, great reference letters that led me to a PhD at another blue chip ML lab.
Although I don’t recommend anyone to do a PhD, it was a very well worthy experience for me. Your PhD experience will depend on the advisor you have and the environment you are in. I got lucky in both of these aspects, which made the experience very well worth it.
Why PHDs are mediocre
You don’t go to PhD to dive deep into the topic. Sure that happens naturally but you don’t really need a PhD to do that. The point of a PhD is to go through hard problems that don’t have solutions, and learn how to figure it out. Learn how to ask the right next question, and how to come up with the solution that fits into a certain criteria.
This sort of stuff is very hard to learn in a corporate job since you simply do not have time. Running from meeting to meeting, setting up the deadlines. These hard problems require time, empty mind. And the most wonderful thing about it. Once you go through it once or twice you become naturally accustomed to those types of problems. And you will be way ahead of others in your field.
Useful Lessons
Keep experimenting, learning and re-learning every day. Pick up ML books to read. Raptor keeps covering fundamentals that I come back to and review them myself.Â
Learn new technology like PyTorch and HuggingFace. Train a computer vision model for the application you are excited about. Don’t just read books and articles, implement them.
If you are stuck with a problem, don’t give up. Learn how to break it down into simpler pieces, learn to ask for help and have productive discussions. Everyone is online these days, so you don’t have an excuse of at least reaching out and talking to that person. Once you go through such challenges several times, it will be immensely easier to go through them again and again.
Listen to trusted people around you, but don’t rely on anyone to make the decisions for you. Trust your gut and go in the direction you feel the most comfortable going. Even the most reputable person in the AI industry can be wrong (at the end of the day we are all humans)
That is it for now. Happy to answer more detailed questions in the comments. In the next post I will dive deeper into the framework I developed so far in turning ML into real demo (and potential SaaS) products.