Machine Learning Architecture: The Core Components

The 11 fundamental building blocks that make up any machine learning solution

by
Markus Schmitt
Markus Schmitt

Machine learning solutions are used to solve a wide variety of problems, but in nearly all cases the core components are the same. Whether you simply want to understand the skeleton of machine learning solutions better or are embarking on building your own, understanding these components - and how they interact - can help.

Here’s a visual and written explanation of what these are and what they do.

A diagram showing the components of a machine learning solution.
Machine learning consists of many components, not just an algorithm. (Want more content like this? Subscribe to our newsletter).

The components of a machine learning solution

  1. Data Generation: Every machine learning application lives off data. That data has to come from somewhere. Usually it’s generated by one of your core business functions.
  2. Data Collection: Data is only useful if it’s accessible, so it needs to be stored – ideally in a consistent structure and conveniently in one place.
  3. Feature Engineering Pipeline: Algorithms can't make sense of raw data. We have to select, transform, combine, and otherwise prepare our data so the algorithm can find useful patterns.
  4. Training: This is where the magic happens. We apply algorithms, and they learn patterns from the data. Then they use these patterns to perform particular tasks.
  5. Evaluation: We need to carefully test how well our algorithm performs on data it hasn’t seen before (during training). This ensures we don’t use prediction models that work well on “seen” data, but not in real-world settings.
  6. Task Orchestration: Feature engineering, training, and prediction all need to be scheduled on our compute infrastructure (such as AWS or Azure) – usually with non-trivial interdependence. So we need to reliably orchestrate our tasks.
  7. Prediction: This is the moneymaker. We use the model we’ve trained to perform new tasks and solve new problems – which usually means making a prediction.
  8. Infrastructure: Even in the age of the cloud, the solution has to live and be served somewhere. This will require setup and maintenance. 
  9. Authentication: This keeps our models secure and makes sure only those who have permission can use them.
  10. Interaction: We need some way to interact with our model and give it problems to solve. Usually this takes the form of an API, a user interface, or a command-line interface.
  11. Monitoring: We need to regularly check our model’s performance. This usually involves periodically generating a report or showing performance history in a dashboard.

Building your own ML Architecture

Data generation and collection, training, and evaluation are must-haves, but you may need domain-specific components too.

A common mistake we see is people focussing too much on the prediction component and not enough on the feature engineering pipeline (or trying to skip this component completely).

Do you need a second opinion on how to set up the architecture for your ML applications? Schedule a call with us.

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.