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

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

在 Greengrass 核心设备上使用亚马逊 SageMaker 边缘管理器

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 Edge Manager 在 Greengrass 核心设备上的工作原理。

SageMaker Edge Manager 在Greengrass 设备上的工作原理

要将 SageMaker Edge Manager 代理部署到您的核心设备,请创建包含该aws.greengrass.SageMakerEdgeManager组件的部署。 Amazon IoT Greengrass管理设备上的 Edge Manager 代理的安装和生命周期。当有新版本的代理二进制文件可用时,部署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 代理)上运行模型。

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

— 开始使用 SageMaker Edge Manager教程向您展示如何在现有 Green SageMaker grass 核心设备上设置和使用 Edge Manager 代理,使用Amazon提供的示例代码创建示例推理和模型组件。

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

要求

Greengrass, SageMaker Edge Manager。

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

  • Python 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" } ] }
  • AmazonAmazon Web Services 区域 S3。Amazon Web Services 账户 SageMaker Edge Manager 需要 S3 存储桶来创建边缘设备队列,并在您的设备上存储来自运行推理的示例数据。Amazon S3,Amazon S3

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

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

开始使用 SageMaker Edge Manager

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