Skip to content

Commit 491d3ef

Browse files
Merge pull request #77877 from Blackmist/mlops
Updates to mlops concepts
2 parents c6bc3a5 + c3b7d93 commit 491d3ef

File tree

1 file changed

+65
-21
lines changed

1 file changed

+65
-21
lines changed

articles/machine-learning/service/concept-model-management-and-deployment.md

Lines changed: 65 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,36 @@ ms.custom: seodec18
1515

1616
# MLOps: Manage, deploy, and monitor models with Azure Machine Learning Service
1717

18-
In this article, you can learn how to use Azure Machine Learning Service to deploy, manage, and monitor your models to continuously improve them. You can deploy the models you trained with Azure Machine Learning, on your local machine, or from other sources.
18+
In this article, learn about how to use Azure Machine Learning service to manage the lifecycle of your models. Azure Machine Learning uses a Machine Learning Operations (MLOps) approach, which improves the quality and consistency of your machine learning solutions. Azure Machine Learning Service provides the following MLOps capabilities:
1919

20-
The following diagram illustrates the complete deployment workflow:
21-
[![Deployment workflow for Azure Machine Learning](media/concept-model-management-and-deployment/deployment-pipeline.png)](media/concept-model-management-and-deployment/deployment-pipeline.png#lightbox)
20+
* Integration with Azure Pipelines. Define continuous integration and deployment workflows for your models.
21+
* A model registry that maintains multiple versions of your trained models.
22+
* Model validation. Automatically validate your trained models and select the optimal configuration for deploying them into production.
23+
* Deploy your models as a web service in the cloud, locally, or to IoT Edge devices.
24+
* Monitor your deployed model's performance, so you can drive improvements in the next version of the model.
2225

23-
The MLOps / deployment workflow includes the following steps:
24-
1. **Register the model** in a registry hosted in your Azure Machine Learning Service workspace
25-
1. **Use** the model in a web service in the cloud, on an IoT device, or for analytics with Power BI.
26-
1. **Monitor and collect data**
27-
1. **Update** a deployment to use a new image.
26+
To hear more on the concepts behind MLOps and how they apply to the Azure Machine Learning service, watch the following video.
2827

29-
Each step can be performed independently or as part of a single command. Additionally, you can create a **CI/CD workflow** as illustrated in this graphic.
28+
> [!VIDEO https://www.microsoft.com/videoplayer/embed/RE2X1GX]
3029
31-
[!['Azure Machine Learning continuous integration/continuous deployment (CI/CD) cycle'](media/concept-model-management-and-deployment/model-ci-cd.png)](media/concept-model-management-and-deployment/model-ci-cd.png#lightbox)
30+
## Integration with Azure Pipelines
3231

33-
> [!VIDEO https://www.microsoft.com/videoplayer/embed/RE2X1GX]
32+
You can use Azure Pipelines to create a continuous integration process that trains a model. In a typical scenario, when a Data Scientist checks a change into the Git repo for a project, the Azure Pipeline will start a training run. The results of the run can then be inspected to see the performance characteristics of the trained model. You can also create a pipeline that deploys the model as a web service.
33+
34+
The [Azure Machine Learning extension](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) makes it easier to work with Azure Pipelines. It provides the following enhancements to Azure Pipelines:
35+
36+
* Enables workspace selection when defining a service connection.
37+
* Enables release pipelines to be triggered by trained models created in a training pipeline.
38+
39+
For more information on using Azure Pipelines with Azure Machine Learning, see the [Continuous integration and deployment of ML models with Azure Pipelines](/azure/devops/pipelines/targets/azure-machine-learning) article and the [Azure Machine Learning Service MLOps](https://aka.ms/mlops) repository.
40+
41+
## Convert and optimize models
42+
43+
Converting your model to [Open Neural Network Exchange](https://onnx.ai) (ONNX) may improve performance. On average, converting to ONNX can yield a 2x performance increase.
3444

35-
## Step 1: Register model
45+
For more information on ONNX with Azure Machine Learning service, see the [Create and accelerate ML models](concept-onnx.md) article.
46+
47+
## Register models
3648

3749
Model registration allows you to store and version your models in the Azure cloud, in your workspace. The model registry makes it easy to organize and keep track of your trained models.
3850

@@ -47,18 +59,53 @@ For more information, see the register model section of [Deploy models](how-to-d
4759

4860
For an example of registering a model stored in pickle format, see [Tutorial: Train an image classification model](tutorial-deploy-models-with-aml.md).
4961

50-
## Step 2: Use the model
62+
## Package and debug models
63+
64+
Before deploying a model into production, it is packaged into a Docker image. In most cases, image creation happens automatically in the background during deployment. For advanced scenarios, you can manually specify the image.
65+
66+
If you run into problems with the deployment, you can deploy on your local development environment for troubleshooting and debugging.
67+
68+
For more information, see [Deploy models](how-to-deploy-and-where.md#registermodel) and [Troubleshooting deployments](how-to-troubleshoot-deployment.md).
69+
70+
## Validate and profile models
71+
72+
Azure Machine Learning service can use profiling to determine the ideal CPU and memory settings to use when deploying your model. Model validation happens as part of this process, using data that you supply for the profiling process.
5173

52-
Machine learning models can be used as a web service, on IoT Edge devices, or for analytics from services such as Power BI.
74+
## Use models
75+
76+
Trained machine learning models can be deployed as web services in the cloud or locally on your development environment. You can also deploy models to Azure IoT Edge devices. Deployments can use CPU, GPU, or field-programmable gate arrays (FPGA) for inferencing. You can also use models from Power BI.
77+
78+
When using a model as a web service or IoT Edge device, you provide the following items:
79+
80+
* The model(s) that are used to score data submitted to the service/device.
81+
* An entry script. This script accepts requests, uses the model(s) to score the data, and return a response.
82+
* A conda environment file that describes the dependencies required by the model(s) and entry script.
83+
* Any additional assets such as text, data, etc. that are required by the model(s) and entry script.
84+
85+
These assets are packaged into a Docker image, and deployed as a web service or IoT Edge module.
86+
87+
Optionally, you can use the following parameters to further tune the deployment:
88+
89+
* Enable GPU: Used to enable GPU support in the Docker image. The image must be used on Microsoft Azure Services such as Azure Container Instances, Azure Kubernetes Service, Azure Machine Learning Compute, or Azure Virtual Machines.
90+
* Extra docker file steps: A file that contains additional Docker steps to run when creating the Docker image.
91+
* Base image: A custom image to use as the base image. If you do not use a custom image, the base image is provided by the Azure Machine Learning service.
92+
93+
You also provide the configuration of the target deployment platform. For example, the VM family type, available memory, and number of cores when deploying to Azure Kubernetes Service.
94+
95+
When the image is created, components required by Azure Machine Learning Service are also added. For example, assets needed to run the web service and interact with IoT Edge.
96+
97+
> [!NOTE]
98+
> You cannot modify or change the web server or IoT Edge components used in the Docker image. Azure Machine Learning service uses a web server configuration and IoT Edge components that are tested and supported by Microsoft.
5399
54100
### Web service
55101

56102
You can use your models in **web services** with the following compute targets:
57103

58104
* Azure Container Instance
59105
* Azure Kubernetes Service
106+
* Local development environment
60107

61-
To deploy the model as a web service, you must provide the following:
108+
To deploy the model as a web service, you must provide the following items:
62109

63110
* The model or ensemble of models.
64111
* Dependencies required to use the model. For example, a script that accepts requests and invokes the model, conda dependencies, etc.
@@ -68,26 +115,23 @@ For more information, see [Deploy models](how-to-deploy-and-where.md).
68115

69116
### IoT Edge devices
70117

71-
You can use models with IoT devices through **Azure IoT Edge modules**. IoT Edge modules are deployed to hardware devices, which enables inference, or model scoring, on the device.
118+
119+
You can use models with IoT devices through **Azure IoT Edge modules**. IoT Edge modules are deployed to a hardware device, which enables inference, or model scoring, on the device.
72120

73121
For more information, see [Deploy models](how-to-deploy-and-where.md).
74122

75123
### Analytics
76124

77125
Microsoft Power BI supports using machine learning models for data analytics. For more information, see [Azure Machine Learning integration in Power BI (Preview)](https://docs.microsoft.com/power-bi/service-machine-learning-integration).
78126

79-
## Step 3: Monitor models and collect data
127+
## Monitor and collect data
80128

81129
Monitoring enables you to understand what data is being sent to your model, and the predictions that it returns.
82130

83131
This information helps you understand how your model is being used. The collected input data may also be useful in training future versions of the model.
84132

85133
For more information, see [How to enable model data collection](how-to-enable-data-collection.md).
86134

87-
## Step 4: Update the deployment
88-
89-
Deployments must be explicitly updated. For more information, see update section of [Deploy models](how-to-deploy-and-where.md#update).
90-
91135
## Next steps
92136

93137
Learn more about [how and where you can deploy models](how-to-deploy-and-where.md) with the Azure Machine Learning service. For an example of deployment, see [Tutorial: Deploy an image classification model in Azure Container Instances](tutorial-deploy-models-with-aml.md).

0 commit comments

Comments
 (0)