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
Copy file name to clipboardExpand all lines: articles/machine-learning/concept-endpoints-batch.md
+26-28Lines changed: 26 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,27 +5,25 @@ description: Learn how Azure Machine Learning uses batch endpoints to simplify m
5
5
services: machine-learning
6
6
ms.service: machine-learning
7
7
ms.subservice: inferencing
8
-
ms.topic: conceptual
8
+
ms.topic: concept-article
9
9
author: santiagxf
10
10
ms.author: fasantia
11
11
ms.reviewer: mopeakande
12
12
ms.custom:
13
13
- devplatv2
14
14
- ignite-2023
15
-
ms.date: 04/01/2023
15
+
ms.date: 04/04/2024
16
16
#Customer intent: As an MLOps administrator, I want to understand what a managed endpoint is and why I need it.
17
17
---
18
18
19
19
# Batch endpoints
20
20
21
-
After you train a machine learning model, you need to deploy it so that others can consume its predictions. Such execution mode of a model is called *inference*. Azure Machine Learning uses the concept of [endpoints and deployments](concept-endpoints.md) for machine learning models inference.
21
+
Azure Machine Learning allows you to implement *batch endpoints and deployments* to perform long-running, asynchronous inferencing with machine learning models and pipelines. When you train a machine learning model or pipeline, you need to deploy it so that others can use it with new input data to generate predictions. This process of generating predictions with the model or pipeline is called _inferencing_.
22
22
23
-
**Batch endpoints** are endpoints that are used to do batch inferencing on large volumes of data over in asynchronous way. Batch endpoints receive pointers to data and run jobs asynchronously to process the data in parallel on compute clusters. Batch endpoints store outputs to a data store for further analysis.
24
-
25
-
We recommend using them when:
23
+
Batch endpoints receive pointers to data and run jobs asynchronously to process the data in parallel on compute clusters. Batch endpoints store outputs to a data store for further analysis. Use batch endpoints when:
26
24
27
25
> [!div class="checklist"]
28
-
> * You have expensive models or pipelines that requires a longer time to run.
26
+
> * You have expensive models or pipelines that require a longer time to run.
29
27
> * You want to operationalize machine learning pipelines and reuse components.
30
28
> * You need to perform inference over large amounts of data, distributed in multiple files.
31
29
> * You don't have low latency requirements.
@@ -34,28 +32,28 @@ We recommend using them when:
34
32
35
33
## Batch deployments
36
34
37
-
A deployment is a set of resources and computes required to implement the functionality the endpoint provides. Each endpoint can host multiple deployments with different configurations, which helps *decouple the interface*indicated by the endpoint, from *the implementation details*indicated by the deployment. Batch endpoints automatically route the client to the default deployment which can be configured and changed at any time.
35
+
A deployment is a set of resources and computes required to implement the functionality that the endpoint provides. Each endpoint can host several deployments with different configurations, and this functionality helps to *decouple the endpoint's interface* from *the implementation details*that are defined by the deployment. When a batch endpoint is invoked, it automatically routes the client to its default deployment. This default deployment can be configured and changed at any time.
38
36
39
-
:::image type="content" source="./media/concept-endpoints/batch-endpoint.png" alt-text="Diagram showing the relationship between endpoints and deployments in batch endpoints.":::
37
+
:::image type="content" source="./media/concept-endpoints/batch-endpoint.png" alt-text="Diagram showing the relationship between a batch endpoint and its deployments." lightbox="media/concept-endpoints/batch-endpoint.png":::
40
38
41
-
There are two types of deployments in batch endpoints:
39
+
Two types of deployments are possible in Azure Machine Learning batch endpoints:
Model deployment allows operationalizing model inference at scale, processing big amounts of data in a low latency and asynchronous way. Scalability is automatically instrumented by Azure Machine Learning by providing parallelization of the inferencing processes across multiple nodes in a compute cluster.
46
+
Model deployment enables the operationalization of model inferencing at scale, allowing you to process large amounts of data in a low latency and asynchronous way. Azure Machine Learning automatically instruments scalability by providing parallelization of the inferencing processes across multiple nodes in a compute cluster.
49
47
50
-
Use __Model deployments__ when:
48
+
Use __Model deployment__ when:
51
49
52
50
> [!div class="checklist"]
53
-
> * You have expensive models that requires a longer time to run inference.
51
+
> * You have expensive models that require a longer time to run inference.
54
52
> * You need to perform inference over large amounts of data, distributed in multiple files.
55
53
> * You don't have low latency requirements.
56
54
> * You can take advantage of parallelization.
57
55
58
-
The main benefit of this kind of deployments is that you can use the very same assets deployed in the online world (Online Endpoints) but nowto run at scale in batch. If your model requires simple pre or pos processing, you can [author an scoring script](how-to-batch-scoring-script.md) that performs the data transformations required.
56
+
The main benefit of model deployments is that you can use the same assets that are deployed for real-time inferencing to online endpoints, but now, you get to run them at scale in batch. If your model requires simple preprocessing or post-processing, you can [author an scoring script](how-to-batch-scoring-script.md) that performs the data transformations required.
59
57
60
58
To create a model deployment in a batch endpoint, you need to specify the following elements:
61
59
@@ -69,16 +67,16 @@ To create a model deployment in a batch endpoint, you need to specify the follow
69
67
70
68
### Pipeline component deployment
71
69
72
-
Pipeline component deployment allows operationalizing entire processing graphs (pipelines) to perform batch inference in a low latency and asynchronous way.
70
+
Pipeline component deployment enables the operationalization of entire processing graphs (or pipelines) to perform batch inference in a low latency and asynchronous way.
73
71
74
-
Use __Pipeline component deployments__ when:
72
+
Use __Pipeline component deployment__ when:
75
73
76
74
> [!div class="checklist"]
77
-
> * You need to operationalize complete compute graphs that can be decomposed in multiple steps.
75
+
> * You need to operationalize complete compute graphs that can be decomposed into multiple steps.
78
76
> * You need to reuse components from training pipelines in your inference pipeline.
79
77
> * You don't have low latency requirements.
80
78
81
-
The main benefit of this kind of deployments is reusability of components already existing in your platform and the capability to operationalize complex inference routines.
79
+
The main benefit of pipeline component deployments is the reusability of components that already exist in your platform and the capability to operationalize complex inference routines.
82
80
83
81
To create a pipeline component deployment in a batch endpoint, you need to specify the following elements:
84
82
@@ -88,18 +86,18 @@ To create a pipeline component deployment in a batch endpoint, you need to speci
88
86
> [!div class="nextstepaction"]
89
87
> [Create your first pipeline component deployment](how-to-use-batch-pipeline-deployments.md)
90
88
91
-
Batch endpoints also allow you to [create Pipeline component deployments from an existing pipeline job](how-to-use-batch-pipeline-from-job.md). When doing that, Azure Machine Learning automatically creates a Pipeline component out of the job. This simplifies the use of these kinds of deployments. However, it is a best practice to always [create pipeline components explicitly to streamline your MLOps practice](how-to-use-batch-pipeline-deployments.md).
89
+
Batch endpoints also allow you to [Create pipeline component deployments from an existing pipeline job](how-to-use-batch-pipeline-from-job.md). When doing that, Azure Machine Learning automatically creates a pipeline component out of the job. This simplifies the use of these kinds of deployments. However, it's a best practice to always [create pipeline components explicitly to streamline your MLOps practice](how-to-use-batch-pipeline-deployments.md).
92
90
93
91
## Cost management
94
92
95
-
Invoking a batch endpoint triggers an asynchronous batch inference job. Compute resources are automatically provisioned when the job starts, and automatically de-allocated as the job completes. So you only pay for compute when you use it.
93
+
Invoking a batch endpoint triggers an asynchronous batch inference job. Azure Machine Learning automatically provisions compute resources when the job starts, and automatically deallocates them as the job completes. This way, you only pay for compute when you use it.
96
94
97
95
> [!TIP]
98
-
> When deploying models, you can [override compute resource settings](how-to-use-batch-endpoint.md#overwrite-deployment-configuration-per-each-job) (like instance count) and advanced settings (like mini batch size, error threshold, and so on) for each individual batch inference job to speed up execution and reduce cost if you know that you can take advantage of specific configurations.
96
+
> When deploying models, you can [override compute resource settings](how-to-use-batch-endpoint.md#overwrite-deployment-configuration-per-each-job) (like instance count) and advanced settings (like mini batch size, error threshold, and so on) for each individual batch inference job. By taking advantage of these specific configurations, you might be able to speed up execution and reduce cost.
99
97
100
-
Batch endpoints also can run on low-priority VMs. Batch endpoints can automatically recover from deallocated VMs and resume the work from where it was left when deploying models for inference. See[Use low-priority VMs in batch endpoints](how-to-use-low-priority-batch.md).
98
+
Batch endpoints can also run on low-priority VMs. Batch endpoints can automatically recover from deallocated VMs and resume the work from where it was left when deploying models for inference. For more information on how to use low priority VMs to reduce the cost of batch inference workloads, see[Use low-priority VMs in batch endpoints](how-to-use-low-priority-batch.md).
101
99
102
-
Finally, Azure Machine Learning doesn't charge for batch endpoints or batch deployments themselves, so you can organize your endpoints and deployments as best suits your scenario. Endpoints and deployment can use independent or shared clusters, so you can achieve finegrained control over which compute the produced jobs consume. Use __scale-to-zero__ in clusters to ensure no resources are consumed when they are idle.
100
+
Finally, Azure Machine Learning doesn't charge you for batch endpoints or batch deployments themselves, so you can organize your endpoints and deployments as best suits your scenario. Endpoints and deployments can use independent or shared clusters, so you can achieve fine-grained control over which compute the jobs consume. Use __scale-to-zero__ in clusters to ensure no resources are consumed when they're idle.
103
101
104
102
## Streamline the MLOps practice
105
103
@@ -111,16 +109,16 @@ You can add, remove, and update deployments without affecting the endpoint itsel
111
109
112
110
## Flexible data sources and storage
113
111
114
-
Batch endpoints reads and write data directly from storage. You can indicate Azure Machine Learning datastores, Azure Machine Learning data asset, or Storage Accounts as inputs. For more information on supported input options and how to indicate them, see [Create jobs and input data to batch endpoints](how-to-access-data-batch-endpoints-jobs.md).
112
+
Batch endpoints read and write data directly from storage. You can specify Azure Machine Learning datastores, Azure Machine Learning data assets, or Storage Accounts as inputs. For more information on the supported input options and how to specify them, see [Create jobs and input data to batch endpoints](how-to-access-data-batch-endpoints-jobs.md).
115
113
116
114
## Security
117
115
118
-
Batch endpoints provide all the capabilities required to operate production level workloads in an enterprise setting. They support [private networking](how-to-secure-batch-endpoint.md) on secured workspaces and [Microsoft Entra authentication](how-to-authenticate-batch-endpoint.md), either using a user principal (like a user account) or a service principal (like a managed or unmanaged identity). Jobs generated by a batch endpoint run under the identity of the invoker which gives you flexibility to implement any scenario. See [How to authenticate to batch endpoints](how-to-authenticate-batch-endpoint.md) for details.
116
+
Batch endpoints provide all the capabilities required to operate production level workloads in an enterprise setting. They support [private networking](how-to-secure-batch-endpoint.md) on secured workspaces and [Microsoft Entra authentication](how-to-authenticate-batch-endpoint.md), either using a user principal (like a user account) or a service principal (like a managed or unmanaged identity). Jobs generated by a batch endpoint run under the identity of the invoker, which gives you the flexibility to implement any scenario. For more information on authorization while using batch endpoints, see [How to authenticate on batch endpoints](how-to-authenticate-batch-endpoint.md).
119
117
120
118
> [!div class="nextstepaction"]
121
119
> [Configure network isolation in Batch Endpoints](how-to-secure-batch-endpoint.md)
122
120
123
-
## Next steps
121
+
## Related content
124
122
125
123
-[Deploy models with batch endpoints](how-to-use-batch-model-deployments.md)
126
124
-[Deploy pipelines with batch endpoints](how-to-use-batch-pipeline-deployments.md)
Copy file name to clipboardExpand all lines: articles/machine-learning/reference-yaml-deployment-batch.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ The source JSON schema can be found at https://azuremlschemas.azureedge.net/late
33
33
|`description`| string | Description of the deployment. |||
34
34
|`tags`| object | Dictionary of tags for the deployment. |||
35
35
|`endpoint_name`| string |**Required.** Name of the endpoint to create the deployment under. |||
36
-
|`type`| string |**Required.** Type of the bath deployment. Use `model` for [model deployments](concept-endpoints-batch.md#model-deployments) and `pipeline` for [pipeline component deployments](concept-endpoints-batch.md#pipeline-component-deployment). <br><br>**New in version 1.7**. |`model`, `pipeline`|`model`|
36
+
|`type`| string |**Required.** Type of the bath deployment. Use `model` for [model deployments](concept-endpoints-batch.md#model-deployment) and `pipeline` for [pipeline component deployments](concept-endpoints-batch.md#pipeline-component-deployment). <br><br>**New in version 1.7**. |`model`, `pipeline`|`model`|
37
37
|`settings`| object | Configuration of the deployment. See specific YAML reference for model and pipeline component for allowed values. <br><br>**New in version 1.7**. |||
0 commit comments