在 Greengrass 核心设备上使用 Amazon SageMaker 边缘管理器 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在 Greengrass 核心设备上使用 Amazon SageMaker 边缘管理器

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

本节介绍 SageMaker 边缘管理器如何在 Greengrass 设备上工作。它介绍如何开始使用 SageMaker 边缘管理器与Amazon-在现有核心设备上提供的示例组件。这些示例组件使用 SageMaker Edge 管理器组件作为依赖项来部署边缘管理器代理,并使用使用 SageMaker Neo 编译的预训练模型执行推断。有关 SageMaker 边缘管理器代理的更多信息,请参阅SageMaker 边缘管理器中的Amazon SageMaker 开发人员指南.

SageMaker 边缘管理器如何在 Greengrass 设备上工作

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

当您将 SageMaker 边缘管理器与Amazon IoT Greengrass,您的工作流包含以下概括步骤:

  1. 使用 SageMaker 新编译模型.

  2. 使用 SageMaker 边缘包装作业打包您的 SageMaker 新编译型号。为模型运行边缘打包作业时,可以选择创建一个模型组件,其中包含的模型作为可部署到 Greengrass 核心设备的工件。

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

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

有关创建与 SageMaker Edge 管理器配合使用的边缘打包作业和推理组件的详细信息,请参阅CreateAmazon IoT GreengrassV2 组件中的Amazon SageMaker 开发人员指南.

这些区域有:SageMaker 边缘管理器开始使用教程向您介绍了如何在现有的 Greengrass 核心设备上设置和使用 SageMaker 边缘管理器代理,使用Amazon-提供的示例代码,可用于创建示例推理和模型组件。

在 Greengrass 核心设备上使用 SageMaker 边缘管理器时,还可以使用捕获数据功能将示例数据上传到Amazon Web Services 云. 捕获数据是 SageMaker 的一项功能,您可以使用该功能将推断输入、推断结果和附加推理数据上传到 S3 存储桶或本地目录,以便将来进行分析。有关将捕获数据与 SageMaker 边缘管理器结合使用的更多信息,请参阅管理模型中的Amazon SageMaker 开发人员指南.

Requirements

您必须满足以下要求才能在 Greengrass 核心设备上使用 SageMaker 边缘管理器代理。

  • 在基于 Debian 的 Linux 平台(x86_64 或 Armv8)上运行的 Greengrass 属核心设备。如果没有,请参阅开始使用 Amazon IoT Greengrass V2

  • Python3.6 或更高版本,包含pip,安装在核心设备上的 Python 版本。

  • 这些区域有:Greengrass 设备角色配置了以下内容:

    • 允许使用的信任关系credentials.iot.amazonaws.comsagemaker.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" } ] }
    • 这些区域有:卓越亚马逊电子邮件设备政策IAM 托管策略。

    • 这些区域有:s3:PutObject操作,如以下 IAM 策略示例所示。

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

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

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