ML Stack
An ML stack is a reference model listing all infrastructural components required to build, deploy, and scale machine learning systems.
What is an ML Stack?
An ML stack is a reference model listing all infrastructural components required to build, train, deploy, and scale machine learning systems. A complete ML stack represents hardware, software, interlinking utilities, and a business problem.
Every block of an ML stack denotes individual technologies used in the ML system. So, it has limitations to serve as a complete reference model for ML developers. That said, the ML stack offers a sneak peek of the entire ML system to all involved stakeholders.
A typical ML stack comprises of these three layers:
The data layer: Public or proprietary data used to feed ML models
The model layer: The ML algorithm driving predictions based on given inputs
The deployment layer: Overall integration of results and monitoring components
Approaches To Building A Machine Learning Stack
Enterprises trust third-party tools and APIs to implement ML functionalities and enhance their ML products. These integrations mainly involve the following two approaches to complete enterprise ML stack.
Vertical Integration of Tools
Vertically integrated tools support all three tiers of ML stack – data, model, and deployment. The user provides data to these tools as input. Now, predictions are generated by processing this input data. Vertically integrated tools are either specialized in a specific data type or serve use cases or industries. For example, the Clarifai tool that specializes in images.
Benefits
- No need to develop from scratch, so faster implementation assured
- Access to limited and pooled datasets help ensure better performance
Drawbacks
- Lack of customization
- Focused use of tools for specific use cases or data
Horizontal Integration of ML Tools
These tools do not correspond to the three-layer stack but focus on only a specific layer of the ML stack. For example, ML model layer supported by TensorFlow or ML monitoring supported by Censius.
Benefits
- Customization offered to choose tools and use as per the need and preferences
- Third-party apps ecosystem supported
Drawbacks
- Amount of resources required to build ML stack – knowledge, tool costs
- Limited access to datasets would not produce good results opposite to vertically integrated stacks
Complete Your ML Stack
Modern businesses need adoptable ML infrastructure to drive success with their ML deployments. Planning a perfect ML stack for an organization requires answering questions like:
- How big is your ML team?
- Do you have people for backend support?
- Are you looking for no-code solutions?
- What is your planned budget for ML initiatives? Is it possible to customize the stack and reduce your stretching budget?
- What are your long-term ML objectives?
Answering such questions will help you in infrastructure planning for ML initiatives. You can check helpful resources - Censius MLOps toolkit and Awesome production machine learning for more information.
Further Reading
Machine Learning tools & APIs in the developer’s stack
This is what your Machine Learning tech stack should look like
Introduction to The Machine Learning Stack
The Rapid Evolution of the Canonical Stack for Machine Learning