[FR] Rollback to Previous Model Version in Stage
See original GitHub issueWillingness to contribute
Yes. I would be willing to contribute this feature with guidance from the MLflow community.
Proposal Summary
It would be useful to be able to rollback to a previous model version in given stage, especially Production.
For example, say that I am working on a particular a model and after several iterations, I decide to move version 3 into Production. Now, after a few more rounds development and tuning, I have what I believe to be a better model in version 7 and I decide that I can move it into Production.
After a while, when scoring on the new model version, my analysts inform me that there is some kind of bug with the new version. In such a situation, I would like to be able to quickly move back to the previous version, which I know was working fine, so that no further predictions will be affected.
Motivation
What is the use case for this feature?
The use case is to be able to quickly rollback to a previous model version in a stage, particularly in Production, that was working fine, without having to remember or search through model versions.
Why is this use case valuable to support for MLflow users in general?
The need to move back to a previous model version is a scenario that I believe anyone can come across.
Why is this use case valuable to support for your project(s) or organization?
I have come across the need to rollback, as a result of bugs that exist in the newer model versions that are transitioned.
Why is it currently difficult to achieve this use case?
At the moment, I am not sure if it is possible to achieve this, outside of searching through all of the models and deciding which one to bring back.
Details
No response
What component(s) does this bug affect?
-
area/artifacts
: Artifact stores and artifact logging -
area/build
: Build and test infrastructure for MLflow -
area/docs
: MLflow documentation pages -
area/examples
: Example code -
area/model-registry
: Model Registry service, APIs, and the fluent client calls for Model Registry -
area/models
: MLmodel format, model serialization/deserialization, flavors -
area/pipelines
: Pipelines, Pipeline APIs, Pipeline configs, Pipeline Templates -
area/projects
: MLproject format, project running backends -
area/scoring
: MLflow Model server, model deployment tools, Spark UDFs -
area/server-infra
: MLflow Tracking server backend -
area/tracking
: Tracking Service, tracking client APIs, autologging
What interface(s) does this bug affect?
-
area/uiux
: Front-end, user experience, plotting, JavaScript, JavaScript dev server -
area/docker
: Docker use across MLflow’s components, such as MLflow Projects and MLflow Models -
area/sqlalchemy
: Use of SQLAlchemy in the Tracking Service or Model Registry -
area/windows
: Windows support
What language(s) does this bug affect?
-
language/r
: R APIs and clients -
language/java
: Java APIs and clients -
language/new
: Proposals for new client languages
What integration(s) does this bug affect?
-
integrations/azure
: Azure and Azure ML integrations -
integrations/sagemaker
: SageMaker integrations -
integrations/databricks
: Databricks integrations
Issue Analytics
- State:
- Created a year ago
- Comments:16
@MinuraPunchihewa We have added tag based searching for model versions. See this PR: https://github.com/mlflow/mlflow/pull/6320
You can use the feature in next mlflow release or you can install mlflow master version by
pip install git+https://github.com/mlflow/mlflow.git
Of course! Hope it helped! I’m going to go ahead and close this for now, but we’ll absolutely revisit rollbacks at some point in the future. Cheers! 😃