Learn MLflow for ML teams: run a tracking server, log runs, compare results, register models, move aliases, promote with checks, and trace lineage.
It is the day before a release at acme-shop.
You can use MLflow with no server, by writing to a local folder.
The project already trains and evaluates. You now add one more step that records what happened.
Logging a model means saving it in a folder that MLflow understands, together with a description of what goes in and what comes out.
One run tells you little. Many runs, side by side, tell you what matters. Running a small sweep A sweep is a set of runs that change one setting.
Picking a run is not the end. You now need a stable name for "the model we use", and a record of how it changed.
It is the day before a release at acme-shop.
You can use MLflow with no server, by writing to a local folder.
The project already trains and evaluates. You now add one more step that records what happened.
Logging a model means saving it in a folder that MLflow understands, together with a description of what goes in and...
One run tells you little. Many runs, side by side, tell you what matters.
Picking a run is not the end. You now need a stable name for "the model we use", and a record of how it changed.
Anyone can move an alias. A good team makes it a decision, with a rule, a record and a way back.
A registry holds the model that makes live decisions, so its rules matter as much as its features.
MLflow is not the only tracker, and it is useful to know where the others fit.
You will run a server, log a baseline run, run a sweep and a tracked search, register and promote models, load one by...
Quick reference Common mistakes Logging the test-set score on every run feels helpful, and it quietly ruins the test...
Roles that use the skills in this module.
AI Engineer
MLOps Engineer
Platform Engineer
Not a software engineer sheet. Every problem comes from real DevOps, SRE, Platform and Cloud interviews, from your first script to a system you build yourself.
Open the Coding SheetThey remember different things. DVC versions data and pipelines, so it answers which data and which steps made a result. MLflow keeps a searchable history of runs and a registry of models, so it answers which run was best and which model is in use. Most teams use both, and link them by saving the data fingerprint on every MLflow run.
An alias is a movable name, such as champion, that points to one model version. Serving code asks for the champion, and you decide which version that is. Moving the alias promotes or rolls back a model without changing any code. Older tutorials use fixed stages such as Staging and Production, but MLflow now recommends aliases and tags.
No. For one person, a local folder or a SQLite file is enough. A server becomes useful when a team shares results, when pipelines on other machines log runs, or when a registry must be the single source of truth. In this module you run a local server, so you learn the same setup a team would use.
Many model formats are built on Python pickle, and loading a pickle can run code hidden in the file. MLflow's skops format refuses types that you did not approve. You list the types your pipeline needs, and anything unknown stops the load. It is a small step that makes a shared registry much safer.