Batch 终结点

Azure 机器学习允许实现批处理终结点和部署,以使用机器学习模型和管道执行长时间运行的异步推理。 在训练机器学习模型或管道时,需要对其进行部署,以便其他人可以将其与新的输入数据一起使用来生成预测。 使用模型或管道生成预测的过程称为推理

批处理终结点接收指向数据的指针并以异步方式运行作业,以在计算群集上并行处理数据。 批处理终结点将输出存储到数据存储供进一步分析。 对于以下情况可以使用批处理终结点:

  • 你具有需要较长时间才能运行的高开销模型或管道。
  • 你希望操作机器学习管道并重用组件。
  • 需要对分布在多个文件中的大量数据执行推理。
  • 没有低延迟要求。
  • 模型的输入存储在存储帐户或 Azure 机器学习数据资产中。
  • 可以利用并行化。

批处理部署

部署是实现终结点提供的功能所需的一组资源和计算。 每个终结点可以托管多个具有不同配置的部署,此功能有助于将终结点的接口与部署定义的实现细节分离。 调用批处理终结点时,它会自动将客户端路由到其默认部署。 可以随时配置和更改此默认部署。

显示批处理终结点及其部署之间的关系的示意图。

模型部署

模型部署支持大规模模型推理的操作化,使你能够以低延迟和异步方式处理大量数据。 Azure 机器学习通过跨计算群集中的多个节点提供推理过程的并行化,从而可以自动检测可伸缩性。

在以下情况下使用模型部署

  • 需要花费较长时间来运行推理的高开销模型。
  • 需要对分布在多个文件中的大量数据执行推理。
  • 没有低延迟要求。
  • 可以利用并行化。

模型部署的主要优势是,可以使用为联机终结点进行实时推理而部署的相同资产,但现在你可以批量运行它们。 如果模型需要简单的预处理或后处理,则可以创作评分脚本以执行所需的数据转换。

若要在批处理终结点中创建模型部署,需要指定以下元素:

  • 型号
  • 计算群集
  • 评分脚本(对于 MLflow 模型是可选项)
  • 环境(对于 MLflow 模型是可选项)

成本管理

调用批处理终结点会触发异步批量推理作业。 Azure 机器学习在作业开始时自动预配计算资源,并在作业完成时自动解除分配计算资源。 因此,你只需在使用计算时付费。

提示

部署模型时,对于每个批量推理作业,可以替代计算资源设置(例如实例计数)和高级设置(例如最小批大小、错误阈值等)。 利用这些特定配置,也许能够加快执行速度并降低成本。

批处理终结点也可以在低优先级 VM 上运行。 批处理终结点可以从解除分配的 VM 中自动恢复,并在部署用于推理的模型时从原来的位置恢复工作。 有关如何使用低优先级 VM 降低批量推理工作负载成本的详细信息,请参阅在批处理终结点中使用低优先级 VM

最后,Azure 机器学习本身不收取批处理终结点或批处理部署的费用,因此你可以按照最适合自己方案的方式来组织终结点和部署。 终结点和部署可以使用独立群集或共享群集,因此你可以精细控制作业所使用的计算。 在群集中使用缩放到零,以确保在空闲时不会消耗任何资源

简化 MLOps 实践

批处理终结点可以处理同一终结点下的多个部署,从而支持你更改终结点的实现,而无需更改使用者用于调用终结点的 URL。

可以在不影响终结点本身的情况下添加、移除和更新部署。

展示如何在同一终结点下使用多个部署的示意图。

灵活的数据源和存储

批处理终结点直接从存储读取和写入数据。 可以将 Azure 机器学习数据存储、Azure 机器学习数据资产或存储帐户指定为输入。 有关支持的输入选项以及如何指定它们的详细信息,请参阅创建作业并将数据输入到批处理终结点

安全性

批处理终结点提供在企业设置中操作生产级工作负载所需的全部功能。 它们支持安全工作区上的专用网络Microsoft Entra 身份验证,使用用户主体(例如用户帐户)或服务主体(例如托管标识或非托管标识)均可。 批处理终结点生成的作业以调用方的标识运行,因而你能够灵活实现任何方案。 有关使用批处理终结点时的授权的详细信息,请参阅如何在批处理终结点上进行身份验证