1. MLOps components
In this video, we will talk about the fundamental components of an MLOps framework and their mutual interaction.
2. Concepts
We will cover general software development concepts such as workflows, pipelines, and artifacts; and ML-specific ones such as the model registry, feature store, and metadata store.
3. DevOps
MLOps is a extension of the DevOps software development principles
4. to MLOps
to include ML workflows.
5. Workflows
A workflow is a generic business term for any sequence of tasks that, starting from certain inputs, produces certain outputs.
6. Workflow execution
Workflows can be executed
7. Manual
manually,
8. Automatic
automatically,
9. Semi-automatic
or semi-automatically.
10. Workflow to Pipeline
To automate a workflow
11. Scripting
we need to write a program, often called "a script," for every action within it.
12. Pipeline definition
We call this program a “pipeline,” and it has become a catch-all term for any end-to-end automated workflow in IT, be it in Dev-, Data- or MLOps.
13. Artifacts
The outputs of pipelines are called artifacts, which is actually another catch-all term
14. Artifacts II
for any output of the software development process.
15. ML build pipelines
Let's talk about ML-specific pipelines now.
We said that the model life cycle starts with the deployment
16. To have something to deploy
but to have something to deploy,
17. We must build it first
we must build it first.
To build means to transform pure code and data into deployable applications and models.
Think of something like a software installer that you would download from the Internet, but for ML applications.
That is the purpose of so-called build pipelines.
In MLOps we have at least two separate build workflows:
18. One for the model
one for building the model itself
19. One for the app
and one for building the ML application that will serve our model.
20. App build pipeline
The app build process is the classical DevOps software build. It takes our scripts from a central repository, where we manage all our code, makes a few automated transformations that package our app for deployment, and stores that package in a dedicated repository.
21. Model build pipeline
But the model build pipeline, also known as the model training pipeline, is a completely different thing. Apart from the code containing the model definition and the training script
22. We now also need the data
we now also need the data to train on. This single extra ingredient adds a whole set of complexities.
23. We can start from raw
Our training pipeline can start from raw
24. Or already processed
or already processed data.
25. Feature store
We call processed variables for model training "features" and a database that stores them a "feature store".
26. Model build artifacts
After the pipeline is
27. Successfully executed
successfully executed, we end up with the
28. Trained model artifact
trained model object and
29. collection of data and scripts
complementary data necessary for its deployment and life-cycling. We call this complementary data "model metadata".
30. Model registry
We now push the model object into our model registry, which is a specialized registry for storing and versioning ML models,
31. Metadata store
and the metadata into the so-called metadata store, whose purpose is to store all important information about the different models we build and deploy.
32. Deployment pipeline
Now we have something to deploy, but we need the how.
That's the job of, you guessed it: deployment pipelines.
33. Take the build
Their job is to take the build artifacts -- in our case the ML app package and the model package --
34. Set them in place
and set them in place on the target serving platform. Once their job is done, we're locked, loaded, and ready to go.
35. Monitoring
We can now start our service and monitor if it runs and performs as expected.
36. The whole picture
And that is a typical high-level MLOps architecture. If this is a lot of new concepts all at once, don't worry: we will take enough time to explain each of them in the following chapters.
37. Let's practice!
Now, let's see how much you have managed to absorb.