Every Engineer Should and Can Learn Machine Learning
Read this interview with Sourabh Bajaj of co:rise, discussing the evolution of the ML role, how he designed the course to connect with today’s business needs, and how he thinks students can apply the covered topics at the end of each course!
By Sourabh Bajaj, Co-Founder and Head of Engineering at co:rise
co:rise is launching its second run of the Machine Learning foundations track this fall on September 5th. To mark the occasion, we sat down with course designer and software engineer Sourabh Bajaj (previously Neeva, Google, Coursera) to talk about the evolution of the ML role, how he designed the course to connect with today’s business needs, and how he thinks students can apply the covered topics at the end of each course!
Q: Hi Sourabh! How has the job of a machine learning engineer evolved in the last few years?
Sourabh: A few big changes that have happened in the space is that early on, ML engineers were spending a ton of time in model development. And in some sense, the ML engineer role itself didn't exist—it was more common that you could find a ML researcher role, where you would be responsible for cleaning data, productionizing your models, and building models and iterating of them.
This role was primarily driven by a lack of infrastructure, where there was not great tooling for ML. And, even if the tooling existed, it was much harder to productionize these models.
Since 2016, we've seen huge advancements in ML tooling itself, for example TensorFlow, PyTorch, AWS SageMaker, Google Cloud AI, and many SaaS companies like Weights & Bias and Refuel have popped up to make it easier to do ML. These advancements have crafted a new role for ML engineers, where they still team up on building the models, but they're primarily responsible for using their software engineering skills to bring models to life.
What is an important difference between machine learning concepts you learn in school versus industry applications?
When you're taking a machine learning class in school, it relies heavily on theoretical underpinnings. You will focus on matrix calculus and linear algebra, and you’ll spend time trying to prove why things are mathematically correct. In industry, this is all important to know. But, at the same time, you focus on making sure you can solve business problems.
One big difference between the two is that on the job, data collection, data annotation and data takes a large portion of your time. While in school, most of the datasets you use are generally clean and exist already. At the same time, the models you use will mostly be the same regardless of where you apply them.
Who is this track for? Are there any prerequisites before signing on for the whole track?
If you are a software engineer with some experience, or maybe you don’t yet have experience in industry but you want to get started on your ML journey, this track is suited for you because it’s designed to focus on real world applications.
The track focuses on how to help software engineers successfully deploy ML projects in their organizations. We have also designed the track to help engineers think creatively about answering business questions: How do you create new data sets? How do you label data? How do you productionize your systems? How do you deploy them to have business impact? And other important business scenarios like going through the end-to-end journey of iterating on your models, and additionally thinking about deep learning.
Can students take one course if they cannot commit to the three course track, or do you recommend finding time to do all three?
The courses are designed to be modular. You can take one or two courses if you want, for example you could take the Applied ML course and get a feel for what it is—how do you do it and how does it work? You can also just take MLOps and learn about the systems engineering parts of ML.
But the track is designed to give comprehensive ML knowledge. So, for someone who’s just starting out, taking the full track is the most beneficial.
Can you tell us a little bit about the instructors for the track?
The first course, Applied ML is taught by Andrew Maas. He is a Senior Research Manager for Special Projects at Apple and a long-time faculty member at Stanford. His course fundamentally asks an important question, which is when starting on a new problem, how do you know if it is worth solving with ML? And, how do you use state of the art models to solve that problem?
The second course Deep Learning Essentials is taught by Eric Wu and Kevin Wu, both currently at Stanford and before that they were at Google and Waymo respectively. Their focus is on taking the leap from traditional ML to deep learning. They’ll break down deep learning models by giving an overview of computer vision, natural language, image generation, and generative art, and teach you how to improve and iterate on deep learning models.
Finally, the third course is MLOps. There are two variants of the course, the first focuses on data centric AI, where you think about how to bring in new data, and this is taught by Andrew Maas who is a senior research manager at Apple and Mike Wu, who is at Stanford currently.
The second focuses on production, sizing and deployment, and that is taught by Nihit Desai, a former Staff Engineer at Facebook and the CTO of Refuel.ai.
What was your thought process when you were designing this track?
For me personally, when I started learning ML it was hard to figure out what was signal from noise. There are environments where everybody recommends that you read papers, which is a good start but it’s also intimidating. Then, there are environments where everybody recommends that you become an expert at math before you even start. That advice is limiting, because you can take a bunch of linear algebra classes, but is that a productive use of your time?
What I wanted to do with this track was focus on how we, as software engineers, can be successful at doing our jobs. I’m not trying to create state of the art models or do research, but instead I want to solve business problems using ML. And that’s the entire orientation of the track: to focus on applied skills and to have business impact.
Which aspects of the track are you most excited about yourself?
For me, given my software engineering background, MLOps is definitely exciting because it ties a new field that I’m excited about with what I already know.
In terms of a specific project, I think the Deep Learning Essentials course has a really fascinating project I’m positive students will really like. In the first week, students will build a model that detects hand drawn emojis. In the second week, they’ll use computer vision to do the detection. In the third week, they’ll use sentiment analysis and classify which emojis have positive or negative sentiment. Then, in the last week, they’ll generate new emojis. It’s an approachable, fun and pedagogical project all at the same time.
How does co:rise’s community network enhance student learning?
One thing that is hard about learning is that learning itself is a task that you need to take on. Most of our learners have full-time jobs and additional demands at home, so it is hard to commit time for learning. And that’s where the community helps. It gives learners a sense of relatability and support. It’s a similar situation to having a gym membership. Imagine going to the gym alone everyday. It’s hard and doable, but it would probably be easier if you had a gym buddy. That makes you more successful. Likewise, for learning, group classes have proven to be more effective.
Importantly, the community is not just for you to learn with. It is also your professional network. It opens up possibilities to who you could work with in the future and who you can talk to about starting new roles or new problems. It’s been very satisfying to watch how our support systems have grown in our current cohorts.
Finally, what are new questions students can answer upon completion of the ML track?
Students will start noticing how confident they feel in applying ML to new problems. They’ll also be able to answer the question: should this be solved with ML?
Second, in problems that they’re already familiar with, they will start noticing where the usual mistakes crop up, and how they can leverage ML to build a better system.
Ultimately, students will have the confidence to speak more authoritatively on ML and will be empowered to dive deep into specific areas of ML. For example, if your goal is to work at a self-driving car company and work on vision, that becomes closer to reality because now you have foundational knowledge to get started. Similarly, if you’re excited about chatbots and want to explore natural language processing, you could do that. Those are all possibilities that you can carve out on your journey beyond this.
The Machine Learning Foundations Track includes:
✏️ Applied ML taught by Andrew Maas
✏️ Deep Learning Essentials taught by Eric Wu and Kevin Wu
✏️ MLOps: Data Centric Deep Learning taught by Andrew Maas and Mike Wu