如何部署sagemaker.workflow.pipeline.Pipeline?

How to deploy sagemaker.workflow.pipeline.Pipeline?

我有一个 sagemaker.workflow.pipeline.Pipeline,其中包含多个 sagemaker.workflow.steps.ProcessingStep,每个 ProcessingStep 包含 sagemaker.processing.ScriptProcessor

当前的管道图如下图所示。它将从 S3 的多个来源获取数据,对其进行处理并使用前面步骤中的数据创建最终数据集。

由于Pipeline对象不支持.deploy方法,如何部署这个管道?

而inference/scoring,当我们接收到原始数据(每个源单行)时,如何触发管道?

或者 Sagemaker Pipeline 仅设计用于 huge/batch 数据的数据处理和模型训练?不是针对单个数据点的推断?

As the Pipeline object doesn't support .deploy method, how to deploy this pipeline?

管道没有.deploy()方法,没有

使用 pipeline.upsert(role_arn='...') 将管道定义 create/update 到 SageMaker,然后调用 pipeline.start() 。文档 here

While inference/scoring, When we receive a raw data(single row for each source), how to trigger the pipeline?

SageMaker 中实际上有两种类型的管道。模型构建管道(您在问题中有),以及用于推理的 Serial Inference Pipelines。 AWS 绝对应该将前者称为“工作流”

您可以使用模型构建管道来设置串行推理管道

要在串行推理管道中进行预处理,您需要训练一个 encoder/estimator(例如 SKLearn)并保存其模型。然后训练一个学习算法,并保存它的模型,然后使用两个模型

创建一个PipelineModel