You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article describes the capabilities and advantages of [MLflow](https://www.mlflow.org), an open-source framework designed to manage the complete machine learning lifecycle. MLflow can train and serve models on different platforms, letting you use a consistent set of tools whether your experiments are running locally or on a remote compute target, virtual machine, or Azure Machine Learning compute instance.
20
+
This article describes the capabilities and advantages of [MLflow](https://www.mlflow.org), an open-source framework designed to manage the complete machine learning lifecycle. MLflow can train and serve models on different platforms. You can use a consistent set of tools whether your experiments are running locally or on a remote compute target, virtual machine, or Azure Machine Learning compute instance.
21
21
22
22
Azure Machine Learning workspaces are MLflow-compatible, which means that you can use an Azure Machine Learning workspace the same way you use an MLflow server. This compatibility has the following advantages:
23
23
@@ -26,7 +26,7 @@ Azure Machine Learning workspaces are MLflow-compatible, which means that you ca
26
26
- You can run any training routine that uses MLflow in Azure Machine Learning without making any changes.
27
27
28
28
> [!TIP]
29
-
> Unlike the Azure Machine Learning SDK v1, there's no logging functionality in the v2 SDK. Use MLflow logging to ensure that your training routines are cloud-agnostic and portable, removing any code dependency on Azure Machine Learning.
29
+
> Unlike the Azure Machine Learning SDK v1, there's no logging functionality in the v2 SDK. You can use MLflow logging to ensure that your training routines are cloud-agnostic and portable, removing any dependency your code has on Azure Machine Learning.
30
30
31
31
## Tracking with MLflow
32
32
@@ -40,7 +40,7 @@ MLflow in Azure Machine Learning can:
MLflow support in R has the following limitations:
46
46
@@ -50,28 +50,28 @@ MLflow support in R has the following limitations:
50
50
51
51
For examples of using the MLflow tracking client with Azure Machine Learning, see [Train R models using the Azure Machine Learning CLI (v2)](https://github.com/Azure/azureml-examples/tree/main/cli/jobs/single-step/r).
52
52
53
-
### Tracking limitations with MLflow in Java
53
+
### Tracking with MLflow in Java
54
54
55
55
MLflow support in Java has the following limitations:
56
56
57
57
- MLflow tracking is limited to tracking experiment metrics and parameters on Azure Machine Learning jobs.
58
58
- Artifacts and models can't be tracked. Instead, use the `Outputs` folder in jobs along with the `mlflow.save_model` method to save models or artifacts that you want to capture.
59
59
60
-
For a simple Java example that uses the MLflow tracking client with the Azure ML tracking server, see [azuremlflow-java](https://github.com/Azure/azureml-examples/tree/main/cli/jobs/single-step/java/iris).
60
+
For a simple Java example that uses the MLflow tracking client with the Azure Machine Learning tracking server, see [azuremlflow-java](https://github.com/Azure/azureml-examples/tree/main/cli/jobs/single-step/java/iris).
61
61
62
62
### Example tracking with MLflow notebooks
63
63
64
-
-[Training and tracking an XGBoost classifier with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/xgboost_classification_mlflow.ipynb) demonstrates how to track experiments, log models, and combine multiple flavors into pipelines.
65
-
-[Training and tracking an XGBoost classifier with MLflow using service principal authentication](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/xgboost_service_principal.ipynb) demonstrates how to track experiments from a compute that's running outside Azure Machine Learning. The example shows how to authenticate against Azure Machine Learning services by using a service principal.
66
-
-[Hyper-parameter optimization using HyperOpt and nested runs in MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/xgboost_nested_runs.ipynb) demonstrates how to use child runs to do hyper-parameter optimization for models by using the popular library `Hyperopt`. The example shows how to transfer metrics, parameters, and artifacts from child runs to parent runs.
67
-
-[Logging models with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/logging_and_customizing_models.ipynb) demonstrates how to use the concept of models instead of artifacts. The example also shows how to construct custom models.
68
-
-[Manage runs and experiments with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/runs-management/run_history.ipynb) demonstrates how to query experiments, runs, metrics, parameters, and artifacts from Azure Machine Learning.
64
+
-[Training and tracking an XGBoost classifier with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/xgboost_classification_mlflow.ipynb) demonstrates how to use MLflow to track experiments, log models, and combine multiple flavors into pipelines.
65
+
-[Training and tracking an XGBoost classifier with MLflow using service principal authentication](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/xgboost_service_principal.ipynb) demonstrates how to use MLflow to track experiments from a compute that's running outside Azure Machine Learning. The example shows how to authenticate against Azure Machine Learning services by using a service principal.
66
+
-[Hyperparameter optimization using HyperOpt and nested runs in MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/xgboost_nested_runs.ipynb) demonstrates how to use child runs to do hyperparameter optimization for models by using the popular library HyperOpt. The example shows how to transfer metrics, parameters, and artifacts from child runs to parent runs.
67
+
-[Logging models with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/train-and-log/logging_and_customizing_models.ipynb) demonstrates how to use the concept of models instead of artifacts with MLflow. The example also shows how to construct custom models.
68
+
-[Manage runs and experiments with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/runs-management/run_history.ipynb) demonstrates how to use MLflor to query experiments, runs, metrics, parameters, and artifacts from Azure Machine Learning.
69
69
70
70
## Model registries with MLflow
71
71
72
72
Azure Machine Learning supports MLflow for model management. This support represents a convenient way to support the entire model lifecycle for users that are familiar with the MLflow client. For more information about how to manage models by using the MLflow API in Azure Machine Learning, see [Manage model registries in Azure Machine Learning with MLflow](how-to-manage-models-mlflow.md).
73
73
74
-
### Example model registry notebook
74
+
### Example MLflow model registry notebook
75
75
76
76
-[Model management with MLflow](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/model-management/model_management.ipynb) demonstrates how to manage models in registries.
77
77
@@ -86,15 +86,15 @@ The MLflow SDK, Azure Machine Learning CLI, Azure Machine Learning SDK for Pytho
86
86
-[Deploy MLflow to online endpoints](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/deploy/mlflow_sdk_online_endpoints.ipynb) demonstrates how to deploy MLflow models to online endpoints using the MLflow SDK.
87
87
-[Progressive rollout of MLflow deployments](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/deploy/mlflow_sdk_online_endpoints_progresive.ipynb) demonstrates how to deploy MLflow models to online endpoints using the MLflow SDK with progressive model rollout. The example also shows deployment of multiple versions of a model to the same endpoint.
88
88
-[Deploy MLflow models to legacy web services](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/deploy/mlflow_sdk_web_service.ipynb) demonstrates how to deploy MLflow models to legacy web services (Azure Container Instances or Azure Kubernetes Service v1) using the MLflow SDK.
89
-
-[Train models in Azure Databricks and deploy them on Azure ML](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/deploy/track_with_databricks_deploy_aml.ipynb) demonstrates how to train models in Azure Databricks and deploy them in Azure Machine Learning. The example covers cases where you also want to track the experiments with the MLflow instance in Azure Databricks.
89
+
-[Train models in Azure Databricks and deploy them on Azure Machine Learning](https://github.com/Azure/azureml-examples/blob/main/sdk/python/using-mlflow/deploy/track_with_databricks_deploy_aml.ipynb) demonstrates how to train models in Azure Databricks and deploy them in Azure Machine Learning. The example covers cases where you also want to track the experiments with the MLflow instance in Azure Databricks.
You can submit training jobs to Azure Machine Learning by using [MLflow Projects](https://www.mlflow.org/docs/latest/projects.html). You can submit jobs locally with Azure Machine Learning tracking or migrate your jobs to the cloud via [Azure Machine Learning compute](how-to-create-attach-compute-cluster.md).
96
96
97
-
To learn how to submit training jobs with MLflow projects that use Azure Machine Learning workspaces for tracking, see [Train with MLflow Projects in Azure Machine Learning (preview)](how-to-train-mlflow-projects.md).
97
+
To learn how to submit training jobs with MLflow Projects that use Azure Machine Learning workspaces for tracking, see [Train with MLflow Projects in Azure Machine Learning (preview)](how-to-train-mlflow-projects.md).
98
98
99
99
### Example MLflow Projects notebooks
100
100
@@ -106,10 +106,10 @@ To learn how to submit training jobs with MLflow projects that use Azure Machine
106
106
The following table shows the machine learning lifecycle operations that are possible with each of the Azure Machine Learning client tools.
| Track and log metrics, parameters, and models |**✓**|||
111
111
| Retrieve metrics, parameters, and models |**✓**| Only artifacts and models can be downloaded. |**✓**|
112
-
| Submit training jobs | Possible by using MLflow Projects (preview) |**✓**|**✓**|
112
+
| Submit training jobs | Possible by using MLflow Projects (preview).|**✓**|**✓**|
113
113
| Submit training jobs with Azure Machine Learning data assets ||**✓**|**✓**|
114
114
| Submit training jobs with machine learning pipelines ||**✓**|**✓**|
115
115
| Manage experiments and runs |**✓**|**✓**|**✓**|
@@ -118,7 +118,8 @@ The following table shows the machine learning lifecycle operations that are pos
118
118
| Deploy MLflow models to Azure Machine Learning (online and batch) | Deployment of MLflow models for batch inference isn't currently supported.<sup>2</sup> |**✓**|**✓**|
119
119
| Deploy non-MLflow models to Azure Machine Learning ||**✓**|**✓**|
120
120
121
-
<sup>1</sup> For more information, see [Manage model registries in Azure Machine Learning with MLflow](how-to-manage-models-mlflow.md) for details.
121
+
<sup>1</sup> For more information, see [Manage model registries in Azure Machine Learning with MLflow](how-to-manage-models-mlflow.md).
122
+
122
123
<sup>2</sup> For an alternative, see [Deploy and run MLflow models in Spark jobs](how-to-deploy-mlflow-model-spark-jobs.md).
0 commit comments