The 4 Steps to Build Out Your Machine Learning Team Productively


Over the past few years, machine learning has grown tremendously. But as young as machine learning is as a discipline, the craft of managing a machine learning team is even younger. Many of today’s machine learning mangers were thrust into management roles out of necessity or because they were the best individual contributors, and many come from purely academic backgrounds. At some companies, engineering or product leaders are being tasked with building new machine learning functions without any real machine learning experience.
Running any technical team is hard:

You have to hire great people.
You need to manage and develop them.
You need to manage your team’s output and make sure your vectors are aligned.
You would want to make good long-term technical choices and manage technical debt.
You also must manage expectations from leadership.

Running a Machine Learning team is even harder:

Machine Learning talents are expensive and scarce.
Machine Learning teams have a diverse set of roles.
Machine Learning projects have unclear timelines and high uncertainty.
Machine Learning is also the “ high-interest credit card of technical debt .”
Leadership often doesn’t understand Machine Learning.

I recently attended the  Full-Stack Deep Learning Bootcamp  in the UC Berkeley campus, which is a wonderful course that teaches full-stack production deep learning. One of the lectures delivered by  Josh Tobin  provided the best practices surrounding Machine Learning teams. As a courtesy of Josh’s lecture, this article will give you some insight into how to think about building and managing Machine Learning teams if you are a manager, and also possibly help you get a job in Machine Learning if you are a job seeker.
Note:   You can also watch this lecture from Josh’s talks at  the FSDL March 2019 version  and  the Applied Deep Learning Fellowship held at Weights & Biases .
 
Step 1 — Defining The Roles
Let’s take a look at the most common Machine Learning roles and the skills they require:

The Machine Learning Product Manager  is someone who works with the Machine Learning team, as well as other business functions and the end-users. This person designs docs, creates wireframes, comes up with the plan to prioritize and execute Machine Learning projects.

The DevOps Engineer  is someone who deploys and monitors production systems. This person handles the infrastructure that runs the deployed Machine Learning product.

The Data Engineer  is someone who builds data pipelines, aggregates and collects from data storage, monitors data behavior… This person works with distributed systems such as Hadoop, Kafka, Airflow.

The Machine Learning Engineer  is someone who trains and deploys prediction models. This person uses tools like TensorFlow and Docker to work with...

Top