部署推理管道 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

部署推理管道

推理管道是由两到五个容器的线性序列组成的Amazon SageMaker模型,用于处理对数据进行推理的请求。可以使用推理管道定义和部署预训练 SageMaker 内置算法与您打包在 Docker 容器中的自定义算法的任意组合。您可以使用推理管道合并预处理、预测和后处理数据科学任务。推理管道是完全托管的。

您可以添加 SageMaker Spark ML Serving 和 scikit-learn 容器,重复使用为训练模型开发的数据转换程序。可以将整个装配的推理管道视为一个模型,您可以使用该SageMaker模型进行实时预测或在没有任何外部预处理的情况下直接处理批量转换。

在推理管道模型中,SageMaker 将调用作为一系列 HTTP 请求进行处理。管道中的第一个容器处理初始请求,然后中间响应作为请求发送到第二个容器,对于管道中的各个容器以此类推。SageMaker 将最终响应返回客户端。

当您部署管道模型时,SageMaker 在终端节点或转换作业中安装和运行每个 Amazon Elastic Compute Cloud (Amazon EC2) 实例上的所有容器。未来的处理和推理可以在低延迟下运行,因为容器与相同的 EC2 实例处于相同位置中。您可以使用 CreateModel 操作或从控制台中为管道模型定义容器。您可以使用 PrimaryContainer 参数Containers设置组成管道的容器,而不是设置一个 。您还可以指定执行容器的顺序。

管道模型是不可变的,但您可以通过使用 操作UpdateEndpoint部署新管道来更新推理管道。这种模块性支持在试验期间实现更高的灵活性。

使用此功能不会产生额外费用。您仅需为终端节点上运行的实例支付费用。

推理管道的示例笔记本

有关上传和处理数据集、训练模型以及生成管道模型的示例笔记本,请参阅在 Abalone 上将推理管道与 SparkML 和 XGBoost 结合使用笔记本。此笔记本演示了如何使用 Spark 特征转换器和 SageMaker XGBoost 算法生成机器学习管道。在训练模型之后,该示例演示如何部署管道(特征转换器和 XGBoost)用于实时预测,还可使用同一个管道执行批量转换作业。

有关说明如何使用推理管道执行预处理和后处理的示例,请参阅使用 XGBoost 部署 Apache Spark 预处理和后处理,以便在 Amazon SageMaker 中使用推理管道处理实时预测请求

有关说明如何创建和部署推理管道的更多示例,请参阅在 DBPedia 上将推理管道与 SparkML 和 BlazingText 结合使用和在 EMR 上使用 SparkML 进行训练并在SageMaker示例笔记本上托管。有关创建和访问可用于在 SageMaker 中运行示例的 Jupyter 笔记本实例的说明,请参阅使用 Amazon SageMaker 笔记本实例

要查看所有SageMaker示例的列表,请在创建并打开笔记本实例后,选择 SageMaker Examples (示例) 选项卡。有三个推理管道笔记本。刚刚介绍的前两个推理管道笔记本位于 advanced_functionality 文件夹中,第三个笔记本位于 sagemaker-python-sdk 文件夹中。要打开笔记本,请选择其 Use (使用) 选项卡,然后选择 Create copy (创建副本)