在 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 边缘管理器代理。

  • Greengrass 核心运行以下操作系统之一:

    • 基于 Debian 的 Linux x86_64,例如 Ubuntu

    • Linux Armv8 (AArch64)

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

    • 这些区域有:卓越亚马逊电子邮件设备政策IAM 托管策略。

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

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
    • 允许使用的信任关系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" } ] }
  • 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 核心设备