在 Greengrass 核心设备上使用 Amazon SageMaker AI Edge Manager - AWS IoT Greengrass

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

在 Greengrass 核心设备上使用 Amazon SageMaker AI Edge Manager

重要

SageMaker AI Edge Manager 已于 2024 年 4 月 26 日停用。有关继续将模型部署到边缘设备的更多信息,请参阅 SageMaker AI Edge Manager 终止使用

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

本节介绍了 SageMaker AI Edge Manager 如何在 Greengrass 核心设备上运行。

SageMaker AI Edge Manager 如何在 Greengrass 设备上运行

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

使用 SageMaker AI Edge Manager 和 AWS IoT Greengrass 时,工作流程大致包括以下步骤:

  1. 使用 SageMaker AI Neo 编译模型。

  2. 使用 SageMaker AI 边缘打包作业打包您的 SageMaker AI Neo 编译模型。在为模型运行边缘打包作业时,您可以选择创建模型组件,并将打包后的模型作为构件部署到您的 Greengrass 核心设备。

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

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

有关创建与 SageMaker AI Edge Manager 配合使用的边缘打包作业和推理组件的更多信息,请参阅《Amazon SageMaker AI 开发人员指南》中的使用 AWS IoT Greengrass 部署模型包和 Edge Manager 代理

教程:开始使用 A SageMaker I 边缘管理器 教程使用 AWS 提供的示例代码,向您展示了如何在现有 Greengrass 核心设备上设置和使用 SageMaker AI Edge Manager 代理,您可以使用这些示例代码来创建示例推理和模型组件。

在 Greengrass 核心设备上使用 SageMaker AI Edge Manager 时,您还可以使用捕获数据功能将示例数据上传至 AWS Cloud。捕获数据是 SageMaker 的一项 AI 功能,用于将推理输入、推理结果和其他推理数据上传至 S3 存储桶或本地目录以供将来分析。有关在 SageMaker AI Edge Manager 中使用捕获数据的更多信息,请参阅《Amazon SageMaker AI 开发人员指南》中的管理模型

要求

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

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

  • 核心设备上已安装 Python 3.6 或更高版本,包括适用于您的 Python 版本的 pip

  • 已为 Greengrass 设备角色配置以下项:

    • 允许 credentials.iot.amazonaws.com.rproxy.govskope.casagemaker.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" } ] }
    • AmazonSageMakerEdgeDeviceFleetPolicy IAM 托管策略。

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

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

  • 使用与您的 Greengrass 核心设备相同的 AWS IoT 角色别名的 SageMaker AI 边缘设备实例集。有关更多信息,请参阅 创建边缘设备实例集

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

开始使用 SageMaker AI Edge Manager

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