Skip to content

Commit 9ecf76e

Browse files
authored
Merge pull request #271262 from msakande/freshness-concept-batch-endpoints
freshness updates for concept-batch
2 parents 2086cb9 + 8f90e6b commit 9ecf76e

File tree

3 files changed

+28
-30
lines changed

3 files changed

+28
-30
lines changed

articles/machine-learning/concept-endpoints-batch.md

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,25 @@ description: Learn how Azure Machine Learning uses batch endpoints to simplify m
55
services: machine-learning
66
ms.service: machine-learning
77
ms.subservice: inferencing
8-
ms.topic: conceptual
8+
ms.topic: concept-article
99
author: santiagxf
1010
ms.author: fasantia
1111
ms.reviewer: mopeakande
1212
ms.custom:
1313
- devplatv2
1414
- ignite-2023
15-
ms.date: 04/01/2023
15+
ms.date: 04/04/2024
1616
#Customer intent: As an MLOps administrator, I want to understand what a managed endpoint is and why I need it.
1717
---
1818

1919
# Batch endpoints
2020

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_.
2222

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:
2624

2725
> [!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.
2927
> * You want to operationalize machine learning pipelines and reuse components.
3028
> * You need to perform inference over large amounts of data, distributed in multiple files.
3129
> * You don't have low latency requirements.
@@ -34,28 +32,28 @@ We recommend using them when:
3432
3533
## Batch deployments
3634

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.
3836

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":::
4038

41-
There are two types of deployments in batch endpoints:
39+
Two types of deployments are possible in Azure Machine Learning batch endpoints:
4240

43-
* [Model deployments](#model-deployments)
41+
* [Model deployment](#model-deployment)
4442
* [Pipeline component deployment](#pipeline-component-deployment)
4543

46-
### Model deployments
44+
### Model deployment
4745

48-
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.
4947

50-
Use __Model deployments__ when:
48+
Use __Model deployment__ when:
5149

5250
> [!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.
5452
> * You need to perform inference over large amounts of data, distributed in multiple files.
5553
> * You don't have low latency requirements.
5654
> * You can take advantage of parallelization.
5755
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 now to 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.
5957

6058
To create a model deployment in a batch endpoint, you need to specify the following elements:
6159

@@ -69,16 +67,16 @@ To create a model deployment in a batch endpoint, you need to specify the follow
6967
7068
### Pipeline component deployment
7169

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.
7371

74-
Use __Pipeline component deployments__ when:
72+
Use __Pipeline component deployment__ when:
7573

7674
> [!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.
7876
> * You need to reuse components from training pipelines in your inference pipeline.
7977
> * You don't have low latency requirements.
8078
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.
8280

8381
To create a pipeline component deployment in a batch endpoint, you need to specify the following elements:
8482

@@ -88,18 +86,18 @@ To create a pipeline component deployment in a batch endpoint, you need to speci
8886
> [!div class="nextstepaction"]
8987
> [Create your first pipeline component deployment](how-to-use-batch-pipeline-deployments.md)
9088
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).
9290

9391
## Cost management
9492

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.
9694

9795
> [!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.
9997
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).
10199

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 fine grained 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.
103101

104102
## Streamline the MLOps practice
105103

@@ -111,16 +109,16 @@ You can add, remove, and update deployments without affecting the endpoint itsel
111109

112110
## Flexible data sources and storage
113111

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).
115113

116114
## Security
117115

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).
119117

120118
> [!div class="nextstepaction"]
121119
> [Configure network isolation in Batch Endpoints](how-to-secure-batch-endpoint.md)
122120
123-
## Next steps
121+
## Related content
124122

125123
- [Deploy models with batch endpoints](how-to-use-batch-model-deployments.md)
126124
- [Deploy pipelines with batch endpoints](how-to-use-batch-pipeline-deployments.md)

articles/machine-learning/how-to-access-data-batch-endpoints-jobs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ The following table summarizes the inputs and outputs for batch deployments:
276276

277277
| Deployment type | Input's number | Supported input's types | Output's number | Supported output's types |
278278
|--|--|--|--|--|
279-
| [Model deployment](concept-endpoints-batch.md#model-deployments) | 1 | [Data inputs](#data-inputs) | 1 | [Data outputs](#data-outputs) |
279+
| [Model deployment](concept-endpoints-batch.md#model-deployment) | 1 | [Data inputs](#data-inputs) | 1 | [Data outputs](#data-outputs) |
280280
| [Pipeline component deployment](concept-endpoints-batch.md#pipeline-component-deployment) | [0..N] | [Data inputs](#data-inputs) and [literal inputs](#literal-inputs) | [0..N] | [Data outputs](#data-outputs) |
281281

282282
> [!TIP]

articles/machine-learning/reference-yaml-deployment-batch.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The source JSON schema can be found at https://azuremlschemas.azureedge.net/late
3333
| `description` | string | Description of the deployment. | | |
3434
| `tags` | object | Dictionary of tags for the deployment. | | |
3535
| `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` |
3737
| `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**. | | |
3838

3939
> [!TIP]

0 commit comments

Comments
 (0)