With over 13 million monthly downloads, MLflow has become the standard platform for end-to-end MLOps, enabling teams of all sizes to track, share, package and deploy any model for batch or real-time inference. MLflow has recently released its new version, MLflow 2.0, which incorporates a refresh of the core platform APIs based on extensive feedback from MLflow users and customers, which simplifies the platform experience for data science and MLOps workflows.
Being one of the MLflow contributors, Azure Machine Learning made its workspaces MLflow-compatible, which means you can use Azure Machine Learning workspaces in the same way that you use an MLflow tracking server. We don't wrap around it, or host MLflow server under the hood: we just speak the same language. We are happy to announce that such compatibility includes MLflow 2.0 and Azure Machine Learning customers can take advantage of this new MLflow release.
Changes in MLflow 2.0
Building upon MLflow's strong platform foundation, MLflow 2.0 incorporates extensive user feedback to simplify data science workflows and deliver innovative, first-class tools for MLOps, including:
- Python:
- MLflow 2.0 requires Python 3.8. MLflow 1.30 will be the last version available for Python 3.7.
- Tracking:
- MLflow Runs can now have a unique, memorable name to help you identify the best results; something that Azure Machine Learning customers have been using for a while.
- Expanded MLflow search filters to retrieve group of experiments and runs.
ListExperiments
andListRegisteredModels
methods has been removed from the API. See our guidance around query & compare experiments and runs with MLflow. - Expanded capability to search experiments by name and tags.
- A revamped integration with TensorFlow and Keras, unifying logging and scoring functionalities for both model types behind a common interface. The modernized
mlflow.tensorflow
module also offers support for TensorFlow Core APIs while maintaining simplicity for data scientists using Keras.
- Models
mlflow.evaluate()
API for model evaluation is now stable and production-ready.- Dependencies in
requirements.txt
andconda.yaml
files are not allowed to contain "-r" references to other files any longer.
- Deployment:
- MLflow 2.0's revamped model scoring API offers a richer request and response format. Although Azure Machine Learning runs a different inference server based on our technology stack, this new changes align even more with our approach. You can learn more about the differences between models deployed in Azure Machine Learning and MLflow built-in server.
- MLflow 2.0's revamped model scoring API offers a richer request and response format. Although Azure Machine Learning runs a different inference server based on our technology stack, this new changes align even more with our approach. You can learn more about the differences between models deployed in Azure Machine Learning and MLflow built-in server.
MLflow Recipes and Azure Machine Learning Pipelines
Previously known as MLflow Pipelines, MLflow Recipes (Experimental) was introduced in MLflow 2.0 as a framework that enables data scientists to quickly develop models and deploy them to production. It includes predefined templates for common ML tasks, such as regression modeling, enabling data scientists to get started quickly and to focus on building great models; eliminating the large amount of boilerplate code that is traditionally required.
At Azure Machine Learning, we are thrilled to see this kind production-level ML features making their way into the open-source. While in its experimental phase, Azure Machine Learning is not providing any integration with MLflow Recipes. However, our customers can take advantage of Azure Machine Learning Pipelines, which is our mature solution to create independently executable workflow of a complete machine learning task and they can be used in combination with MLflow artifacts.
The core of a machine learning pipeline is to split a complete machine learning task into a multistep workflow. Each step is modeled as a component that can be developed, optimized, configured, and automated individually and they are connected through well-defined interfaces. The Azure Machine Learning pipeline service automatically orchestrates all the dependencies between pipeline components. This modular approach brings two key benefits:
- Standardize the Machine learning operation (MLOps) practice and support scalable team collaboration, by sharing and reusing components across pipelines, workspaces, and subscriptions.
- Training efficiency and cost reduction, since Azure Machine Learning can automatically calculate which steps outputs can be reuse from previous training. Additionally, the machine learning pipeline supports running each step on different computation resources.
Getting started with MLflow 2.0 in Azure Machine Learning
You can get started with MLflow 2.0 in your Azure Machine Learning workspace. All Azure Machine Learning environments have MLflow pre-installed and configured when running in Azure Machine Learning compute. If your code is running outside of Azure Machine Learning, like Azure Databricks, Azure Synapse Analytics, or your local environment, connect MLflow to your Azure Machine Learning workspaces and you should be good to go!
Updated Jan 10, 2023
Version 2.0santiagxf
Microsoft
Joined June 08, 2019
AI - Machine Learning Blog
Follow this blog board to get notified when there's new activity