The 4 ways of doing Machine Learning

What’s the right way for your team to approach Machine Learning?

by
Markus Schmitt
Markus Schmitt

Machine learning can be confusing. Everyone uses the term to mean something slightly different, and there’s just so much to keep up with.

(Source https://mattturck.com/data2019/)

Before you choose a vendor or a platform to meet your AI needs, it’s important to understand which “layer” of machine learning is best for you. You can build your own AI from scratch, use an off-the-shelf product, or something in between. 

In this post, we’ll walk you through the four options and help you identify which is best for you by comparing them to means of transportation.

The different “layers” of machine learning

Two graphs showing APIs, managed platforms, open source frameworks, and research corresponding to public transport, taxis, owning a car, and building a car.
Like different means of transportation, you can use machine learning in different ways.
  • Novel research such as developing new speech-to-text algorithms is like building a car.
  • Open source frameworks such as Tensorflow are similar to owning a car.
  • Managed platforms such as AWS SageMaker are like taking a taxi.
  • APIs such as Google Translate are similar to taking a flight.

You can build a machine learning solution at different layers. As you go to more specialised layers, more features work straight out of the box, but you get less flexibility.

Each layer is built from the previous one: APIs are often built on managed platforms, which are built on open-source frameworks, which are built on research.

Free Consultation

Get an unbiased perspective on what approach to ML might fit your team.

Book a free consultation

Different problems are best solved by different layers

Which layer is best for you will depend mainly on the problem you’re trying to solve. 

Not all the layers are the same size though: for example, it’s actually surprisingly rare for a problem to be cleanly solved by a managed platform.

A sideways bar graph showing question answering and speech to text in research, automated drug discovery, ML diagnostics, and algorithmic trading in frameworks, churn prediction, demand forecasting, recommender system in platforms, and translation and navigation in APIs.
Different problems fit better into different layers. The “managed platform” layer is smaller than many people think.

Because the companies behind managed machine learning platforms use aggressive marketing tactics, people often overestimate the value of these platforms. In reality, a managed platform often leaves you with the worst aspects of using off-the-shelf APIs while not fully resolving the pain points that you have to accept when you build a bespoke solution with open source frameworks.

Let’s take a look at each layer in depth.

Doing AI research is like building your own car

If you want to use AI, you might be tempted to hire a team of PhDs. But this would be like hiring a team of mechanical engineers and asking them to build a car for you and then take care of it 24/7.

If you’re a racecar driver competing on an international level, this might be reasonable – but otherwise it’s probably not. Similarly, companies like Google have teams of researchers who push AI’s foundations forward by developing new algorithms and architectures.

This work is expensive, and it often takes years or decades to create real value. Most companies today don’t need to even consider taking this approach. Unless you’re pushing the leading 1% edge of performance in your field, it’s unlikely that it makes sense to have a dedicated research team.

You might want to do your own AI research if:

  • You’re creating a competitor to Siri and you want it to be better than Siri at speech-to-text interpretation.
  • You’re in a head-to-head race with other investment banks and want to give your trading algorithms an edge.

Sample team structure:

  • A team of research engineers: PhDs, postdocs, and professors.
  • A team of data, machine learning and devops engineers who can translate research results into machine learning solutions.

Using open source frameworks is like owning your own car

As academic research matures, it evolves into open source frameworks like Tensorflow, PyTorch, and Keras. Thousands of developers around the world then contribute to improving these frameworks for free.

Anybody can just download these open source frameworks for free and use them. These are  the exact same powerful “engines” that expensive managed platforms like those from Amazon, Google and Microsoft use. But you have the flexibility to build your system the way you want to.

But like owning your own car, this comes with some downsides too. If you own a car, you need to learn how to drive or hire a driver. To use a tool like Tensorflow, you need to learn to code or hire a developer. 

If you own a car, you also need to worry about things like refueling, replacing tires, and finding a safe garage. If you build your own custom machine learning solutions, you’ll also need to set up a fitting infrastructure and maintain it.

You might want to develop your machine learning solutions with open-source frameworks if:

  • You want to improve a workflow that’s very specific to your business.
  • You have the data and domain knowledge on the problem in-house.
  • You’re not afraid of taking on complicated software projects.

Sample team structure:

  • Internal: Teams of DevOps engineers, machine learning engineers, data scientists, project managers, and subject matter experts. 

OR 

  • External: Agencies like us, who build your custom ML solution using open source frameworks.

Using managed platforms is like taking a taxi

Sometimes you need something quickly, and you’re willing to pay more for it. If you need to make a quick one-off trip, you might take a taxi. But if you take a long-distance taxi every day, it’s likely you’d get better value by buying a car.

Similarly, managed platforms like AWS Sagemaker, Dataiku, Knime, and Alteryx allow you to get started more quickly and provide some pre-built components to help you get started faster.

But while these platforms can save you time, they’re often far more limited than their marketing teams would like to admit. Plus if you get “locked in” to one of them, it can be expensive. As with a taxi, if you need it all the time, then it’s probably the wrong solution, and you’re likely to hit its limits sooner than you expect.

You might want to use a managed platform if:

  • Machine learning isn’t going to be an important part of your business or a source of competitive advantage.
  • You want to apply machine learning to standard problems that are already well understood and have been solved elsewhere (e.g., recommendation systems, churn analysis, demand forecasting).

Sample team structure:

  • At least one machine learning engineer, one developer, and one DevOps specialist.

Using APIs is like taking a flight

If you just need to get from London to New York regularly, then public transport will probably fit your needs fine. This is the least flexible form of transport, but it does one thing and does it well.

Similarly, APIs and web applications like Google Translate are the easiest to plug into your existing infrastructure. They also scale up as much as you need them to and provide a level of quality that’s hard to beat.

But they’re also the least flexible. If you have any custom needs, then APIs probably won’t be flexible enough for you. Plus you’ll pay a premium: with a translation API, for example, you’ll probably pay per character translated.

You might want to use an API if:

  • You have an e-commerce platform and you want users to see automatic translations of reviews left in other languages.
  • You run a logistics company and you want automatic route optimization for deliveries.

Sample team structure:

  • A single developer to integrate the API into your system.

Next steps

Once you’ve chosen which “layer” makes the most sense for you, then you can start getting into the details of what orchestration platform, tools, or managed platform to use.

If you’re still unsure, book a free call with us to discuss what might be right for you!

Get Notified of New Articles

Leave your email to get our weekly newsletter.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.