在 Green SageMaker grass 核心设备上使用亚马逊 Edge Manager - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Green SageMaker grass 核心设备上使用亚马逊 Edge Manager

重要

SageMaker Edge Manager 将于 2024 年 4 月 26 日停产。有关继续将模型部署到边缘设备的更多信息,请参阅 Edg SageMaker e Manager 生命周期终止

Amazon SageMaker Edge Manager 是一款在边缘设备上运行的软件代理。 SageMaker Edge Manager 为边缘设备提供模型管理,因此您可以直接在 Greengrass 核心设备上打包和使用 Amazon SageMaker Neo 编译的模型。通过使用 SageMaker Edge Manager,您还可以对核心设备的模型输入和输出数据进行采样,并将这些数据发送到Amazon Web Services 云进行监控和分析。由于 E SageMaker dge Manager 使用 SageMaker Neo 来针对目标硬件优化模型,因此您无需直接在设备上安装 DLR 运行时。在 Greengrass 设备上 SageMaker ,Edge Manager 不会加载Amazon IoT本地证书或直接调用Amazon IoT凭据提供程序端点。相反, SageMaker Edge Manager 使用令牌交换服务从 TES 端点获取临时证书。

本节介绍 SageMaker 边缘管理器在 Greengrass 核心设备上的工作原理。

SageMaker 边缘管理器如何在 Greengrass 设备上运行

要将 SageMaker Edge Manager 代理部署到您的核心设备,请创建包含该aws.greengrass.SageMakerEdgeManager组件的部署。 Amazon IoT Greengrass管理设备上边缘管理器代理的安装和生命周期。当代理二进制文件有新版本可用时,请部署该aws.greengrass.SageMakerEdgeManager组件的更新版本以升级设备上安装的代理版本。

当您将 SageMaker Edge Manager 与一起使用时Amazon IoT Greengrass,您的工作流程包括以下高级步骤:

  1. 使用 SageMaker Neo 编译模型。

  2. 使用 SageMaker 边缘打包作业打包您的 SageMaker Neo 编译模型。当你为模型运行边缘打包作业时,你可以选择用打包的模型作为工件来创建模型组件,然后部署到你的 Greengrass 核心设备上。

  3. 创建自定义推理组件。您可以使用此推理组件与 Edge Manager 代理进行交互,以便在核心设备上执行推理。这些操作包括加载模型、调用预测请求以运行推理,以及在组件关闭时卸载模型。

  4. 部署 SageMaker Edge Manager 组件、打包的模型组件和推理组件,以便在设备上的 SageMaker 推理引擎(边缘管理器代理)上运行您的模型。

有关创建与 Edge Manager 配 SageMaker 合使用的边缘打包任务和推理组件的更多信息,请参阅《亚马逊 SageMaker 开发者指南》Amazon IoT Greengrass中的 “使用部署模型包和边缘管理器代理”。

教程: SageMaker 边缘管理器入门教程使用提供的示例代码,向您展示了如何在现有 Green SageMaker grass 核心设备上设置和使用 Edge Manager 代理,您可以使用这些示例代码Amazon来创建示例推理和建模组件。

在 Green SageMaker grass 核心设备上使用 Edge Manager 时,也可以使用捕获数据功能将示例数据上传到。Amazon Web Services 云捕获数据是一项用于将推理输入、推理结果和其他推理数据上传到 S3 存储桶或本地目录以供将来分析的 SageMaker 功能。有关在 SageMaker Edge Manager 中使用捕获数据的更多信息,请参阅亚马逊 SageMaker 开发者指南中的管理模型

要求

要在 Greengrass 核心设备上使用 SageMaker Edge Manager 代理,必须满足以下要求。

  • 在亚马逊 Linux 2、基于 Debian 的 Linux 平台(x86_64 或 Armv8)或 Windows(x86_64)上运行的 Greengrass 核心设备。如果没有,请参阅教程:Amazon IoT Greengrass V2 入门

  • 安装在核心设备上的 Pyth@@ on 3.6 或更高版本,包括pip适用于你的 Python 版本。

  • Greengrass 设备角色配置如下:

    • 一种允许credentials.iot.amazonaws.com和代sagemaker.amazonaws.com入角色的信任关系,如以下 IAM 策略示例所示。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    • I AmazonSageMakerEdgeDeviceFleetPolicyAM 托管策略。

    • s3:PutObject操作,如以下 IAM 策略示例所示。

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
  • 与您的 Greengrass 核心设备Amazon Web Services 区域相同Amazon Web Services 账户且创建的 Amazon S3 存储桶。 SageMaker Edge Manager 需要一个 S3 存储桶来创建边缘设备队列,并存储在设备上运行推理的示例数据。有关创建 S3 存储桶的信息,请参阅 Amazon S3 入门

  • 使用与 Greengrass 核心设备相同的Amazon IoT角色别名的 SageMaker 边缘设备队列。有关更多信息,请参阅 创建边缘设备队列

  • 您的 Greengrass 核心设备在您的 Edge 设备群中注册为边缘设备。 SageMaker 边缘设备名称必须与核心设备Amazon IoT的事物名称相匹配。有关更多信息,请参阅 注册你的 Greengrass 核心设备

开始使用 SageMaker 边缘管理器

您可以完成教程以开始使用 SageMaker 边缘管理器。本教程向您展示了如何在现有核心设备上开始使用 SageMaker Edge Manager 以及Amazon提供的示例组件。这些示例组件使用 SageMaker Edge Manager 组件作为依赖项来部署 Edge Manager 代理,并使用使用 Neo 编译的预训练模型执行推理。 SageMaker 有关更多信息,请参阅 教程: SageMaker 边缘管理器入门