How to build a Machine Learning team

The right mix of domain experts, ML practitioners, and data engineers to be successful at machine learning

Lak Lakshmanan
Towards Data Science

--

One of the things that I occasionally do is to advise Google Cloud customers on building their machine learning teams. A company might be starting on an initiative to infuse machine learning throughout their organization and it is important that they hire a senior data scientist and build out a team of practitioners. They show me a few resumes and ask me what I think or ask what conferences they should go recruit at.

What do I look for in someone who can provide strong technical leadership of multimillion-dollar initiatives around machine learning? How about the more junior members of the team?

What you look for in members of the ML team

Imagine that you are interviewing a programmer. “Have you programmed before?,” you ask delicately. “Yes!,” claims the candidate, “here’s a GitHub repo containing the Hello World program I wrote in the online course on programming I took.”

“I was hoping for some real-world programs,” you persist, “something deeper than a Hello World.”

“I learned to write Hello World programs in Python, Java, and C++”, the candidate replies, “and I even modified them to say Hello Earth”.

Would you hire this person?

You wouldn’t hire a programmer whose entire experience consists of “Hello World” in 3 languages. Why would you do that when it comes to machine learning?

Yet … this is precisely what many machine learning candidates’ resumes indicate! Online and university courses teach theory and toy examples, and many learners simply stop there. You need your ML practitioners to go beyond this.

They should know how to build end-to-end machine learning solutions to real-world problems, by which I mean that they need to collect/curate the data, ingest it, explore it, and clean it. They also need to write the model, train it, evaluate it, iterate on it, and finally deploy it for both batch and online predictions. Then, and only then, can they claim to know how to do machine learning.

When hiring members of your ML team, make sure to differentiate between people who wish to do research in machine learning vs. people who wish to apply machine learning to your business problems. For your ML teams, hire people who are strong programmers, who will mostly reuse existing frameworks and libraries, but are comfortable with the ambiguity inherent in data science.

What you look for in the ML Technical Lead

Knowing how to do machine learning is not the same as being proficient with it, just as knowing how to write a Java class doesn’t mean that object-oriented and enterprise design patterns are second-nature to you. You wouldn’t hire a senior architect for your team who can not creatively put together high-level components, and you should not do that for machine learning leads either.

Knowing how to implement a machine learning model end-to-end is not the same as using machine learning creatively. Thus, a machine learning course might teach you how to build a sequence-to-sequence model and that is a good starting point for building translation models. But a translation system in the wild is much more than writing and training an English to German model using transcripts of speeches made in the European parliament.

What do I mean? Let me illustrate by what happened when I did a Google search for “google translate”. At the top of the page of links, I got a box into which I could type the text I wanted to translate and choose the target language:

Even a simple user journey will involve multiple ML models. You need a technical lead for ML who can creatively think through a use case and identify all the machine learning models you will build, the data you will collect to train those models, the model architecture you will use, and how you will evaluate those models.

In just this simple user journey, I could identify at least six machine learning models (see numbers in the diagram above):

Whether or not to bring up this translation UI in response to a search involves ML.
  1. When I searched for “google translate”, I got more than just a set of links — I also got this special user interface (see images on the left). Which other search terms bring up the Translation UI? I even found success with a query that didn’t even include the word “translate”.
Whether or not to bring up this translation UI in response to a search involves ML — notice that is not as simple as looking for the word “translate” in the search term.

Deciding when to bring up the box? That’s probably an ML model.

2. Notice that the UI says that “English is detected”. Detecting the language that the source text is in? Another machine learning model.

3. Then, of course, the core translation model. In my first example, I was writing English in an argumentative tone and the Tamil comes back in a similar tone. Making things harder, the natural order in Tamil is to put the second phrase (“than to just rely on examples”) first and the translation does that.

4. The translated text appears in a box that offers me the option to do a text-to-speech, i.e., to read the Tamil text aloud. Incredibly helpful if I’m in a foreign country and simply want my device to speak the foreign language to my interlocutor.

5. But in case I want to read it, and don’t read Tamil script, there is a helpful phonetic guide. That’s yet another ML model to transcribe the translated text syllable by syllable.

6. And finally of course, the option to get to this translate UI purely by voice. Models 4 and 6 are what open up the web-based translation service to Google Assistant use cases.

Being comfortable with machine learning implies being able to creatively think through a use case and identify all the machine learning models you will build, the data you will collect to train those models, the model architecture you will use, and how you will evaluate those models. When you hire a senior lead for your ML team, you want someone capable of doing this.

Unfortunately, there is no course or book that talks about this aspect of machine learning. I’m currently working with Coursera on creating a machine learning course for decision makers based on my experience advising Google Cloud customers.

The full data science org

The need to build a variety of models and have them work well together implies that your larger data science team will require a number of other roles as well. My colleague Cassie has made a handy list.

In particular, you also need a data engineering team and a data analytics team to support the ML team. The data engineers build pipelines to routinely ingest and transform data. The data analysts build dashboards and create reports to support decision making throughout the org — you don’t want to build an ML model to automate any decision making until your analytics team has done the analysis by hand a few times and you learn that this is a decision your business tends to make routinely.

This is a typical setup for a data organization with a 60 or so headcount, and a scaled-down version appropriate for an organization with a 10 or so headcount:

My suggestion for typical 60-person and 10-person data science organizations. The colored shapes represent tech leads while the gray circles represent individual contributors. Transparent shapes are managers whose primarily role is organizational (i.e. they lead either programs or people).

Building the org

At Google Cloud, we do offer training for all these of these roles, so that you can up-skill your existing team members. See https://cloud.google.com/training/data-ml to enroll in available online and instructor-led classes, or talk to your Google Cloud sales or account representative.

For the data engineering roles, Google Cloud offers a data engineering certification and a Coursera specialization on data engineering to help train your organization to achieve that certification. For data analysis on GCP, we offer the From Data to Insights specialization.

To get up to speed on practical machine learning , I suggest the Machine Learning with TensorFlow on GCP and Advanced Machine Learning on GCP specializations on Coursera. I am biased, but I think they are the most hands-on, practical machine learning courses available. They focus on helping you build a team of ML practitioners, not researchers.

--

--