Where did the journey start? How were the design decisions made across the pipeline for each component?
Our journey towards the creation of an end-to-end MLOps pipeline began as an extension of our AI Adoption Assessment initiative completed in collaboration with BridgeAI. We believed that in order to make the implementation of MLOps as viable as possible for users, we would need to create an end-to-end pipeline for users that they could adjust to suit their requirements and scope, rather than simply provide instructions on how to create one.
We decided on different tools for different components of our pipeline such as registry, data versioning and model monitoring by conducting research on optimal tools based on our requirements. This research is covered in the pages underneath “MLOps: The Big Picture”, and is grounded in the evaluation of sets of tools per component that were suitable for implementing into our pipeline. More information on alternative tools we considered can be found in the Horizon Scan of this hub.
Some components (being data store, prediction service, monitoring) did not have formal research conducted, and were instead decided on because they are widely used in the industry and therefore have in-depth documentation/community notes.
Our final tech stack upon deliberating, with links to corresponding pages in this hub:
- Data versioning: DVC
- Training pipeline: Airflow
- Model serving: MLflow
- Prediction service: Swagger
- Model monitoring: EvidentlyAI
- GitOps: Flux
What were the requirements for our ML model and the MLOps pipeline?
We wanted to demonstrate an end-to-end, open source, pre-made MLOps pipeline. We opted for keeping our execution of this simple by creating a deploy-model pipeline only, rather than creating variations of the pipeline (eg deploy-code), which we would share with startups as a starting point.
Our base requirements:
- The pipeline should be made of open source tools, to keep it cost-friendly and help with experimentation
- We should have a Minimum Viable MLOps pipeline with basic automation that users can then build on using the information provided in the hub, and other resources linked throughout the hub
- The MLOps pipeline must successfully handle the entire machine learning lifecycle, from data ingestion through to model deployment and monitoring.
- The pipeline should accurately predict house prices, meeting predefined performance metrics such as mean absolute error (MAE) and mean squared error (MSE).
- All components (data ingestion, processing, model training, deployment, and monitoring) must function seamlessly and as intended.