Website · GitHub
Swiss AI Center contributors
This work is licensed under the CC BY-SA 4.0 license.
Only a small fraction of real-world ML systems is composed of the ML code.
The required surrounding infrastructure is vast and complex.
Get out of the context of the experience
I ran the experiment but didn’t get the same results, can you check my way of running the experiment?
Make sure you can build the model at all times
I tried to build the model on my machine but it doesn’t work... Are you sure it builds on yours?
Monitor the evolution of the model over time
I’m not sure my changes really help the model’s performances… I hope it still works in production.
Move to production quickly, efficiently and in a semi-automated way
Is your model available in production? Can I use it with my mobile app/website? How can I do so?
MLOps
Draw inspiration from Software and DevOps best practices
Adapting these practices to the world of machine learning
Improve the management and quality of machine learning projects
A guide to MLOps
Switch from a Jupyter Notebook to production using state-of-the-art MLOps tools
Go from experience to production on the Cloud
Use the best practices for ML
A quick presentation of the guide
You just have joined a team of data scientists and machine learning (ML) engineers (welcome!).
The team is working on a model capable of visually identifying planets or moons within our solar system from images in a Jupyter Notebook.
The team is facing difficulties to move the model to production.
Your mission is to help the team to improve the model and deploy it to the cloud using MLOps best practices.
You regularly work with machine learning projects
You want to improve processes to ensure quality
You want to consolidate your current infrastructure
You want to move to the Cloud
Accessible to everyone!
Basic knowledge of Python and terminal is sufficient
A valid credit card for cloud deployment
You will be accompanied throughout the guide!
Before we start:
macOS, Linux, Windows with WSL2
Editor and Terminal (VS Code recommended)
Python 3.11, pip, git, wget, unzip, docker
GitHub account, Google Cloud account
Access the guide at mlops.swiss-ai-center.ch.
Feel free to open an issue on GitHub if you encounter any difficulties or want to contribute.
Leave us a star if you like the guide!
Feel free to ask questions, share your feedback and contribute to the guide!
We are here to help.
Now that you have completed the guide, it is important to properly manage and remove the resources and environments you have created.
This is necessary to avoid:
Congratulations! You have completed the guide to MLOps!
You have learned how to improve the management and quality of machine learning projects.
You are now able to switch from a Jupyter Notebook to production using state-of-the-art MLOps tools.
You can go from experiment to production on the Cloud, using the best practices for ML.
Each member of the team manages their own codebase, their own dataset and their own models.
The reproducibility of the model creation is difficult and cannot be guaranteed over time.
Improvements made to the model are hard to track.
Models are hard to share and deploy in production.
...but hard to maintain.
...hard to reproduce in the future.
...time consuming.
We can do better.
Current situation
What we are trying to improve
TODO