第 4 步:创建管道 - AWS 规范性指导

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

第 4 步:创建管道

创建管道。

在逻辑上定义管道之后,就可以创建支持管道的基础设施了。该步骤至少需要以下功能:

  • 存储,用于托管和管理管道输入和输出,包括代码、模型构件以及训练和推理运行中使用的数据。

  • 计算(GPU 或 CPU),用于建模和推理以及数据预处理和后处理。

  • 编排,用于管理正在使用的资源并安排任何定期运行。例如,当有新数据可用时,可能会定期对模型进行重新训练。

  • 记录和警报,用于监控管道模型的准确性、资源利用率和故障排除。

使用实现 AWS CloudFormation

创建我们使用的管道 AWS CloudFormation,这是一项用于部署和管理基础设施即代码的 AWS 服务。这些 AWS CloudFormation 模板包括上一步中使用 Step Functions SDK 创建的 Step Functions 定义。该步骤包括创建 AWS 管理的 Step Functions 实例,该实例被称为 Step Functions 状态机。此阶段不创建用于训练和推理的资源,因为训练和推理作业仅在需要时才按需运行,作为 SageMaker AI 作业。此步骤还包括创建 AWS Identity and Access Management (IAM) 角色来运行 Step Functions、运行 SageMaker AI 以及从 Amazon S3 读取和写入。

修改 Step Functions SDK 的输出

我们必须对上一节的 AWS CloudFormation 输出进行一些细微的修改。我们使用简单的 Python 字符串匹配来完成以下操作:

  • 我们添加了创建 AWS CloudFormation 模板Parameters部分的逻辑。这是因为我们要创建两个角色,并将管道名称与部署环境一起定义为参数。该步骤还涵盖了您可能要创建的任何其他资源和角色,如第 6 步所述。

  • 我们重新格式化了三个字段,使其具有所需的 !Sub 前缀和引号,以便它们在部署过程中可以动态更新:

    • StateMachineName 属性用于命名状态机。

    • DefinitionString 属性用于定义状态机。

    • RoleArn 属性,由状态机返回。