本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Green SageMaker grass 核心设备上使用亚马逊 Edge Manager
重要
SageMaker 边缘管理器已于 2024 年 4 月 26 日停产。有关继续将模型部署到边缘设备的更多信息,请参阅 Edg SageMaker e Manager 生命周期终止。
Amazon SageMaker Edge Manager 是一款在边缘设备上运行的软件代理。 SageMaker Edge Manager 为边缘设备提供模型管理,因此您可以直接在 Greengrass 核心设备上打包和使用 Amazon SageMaker Neo 编译的模型。通过使用 SageMaker Edge Manager,您还可以对核心设备的模型输入和输出数据进行采样,并将这些数据发送到 AWS Cloud 进行监控和分析。由于 E SageMaker dge Manager 使用 SageMaker Neo 来针对目标硬件优化模型,因此您无需直接在设备上安装DLR运行时。在 Greengrass 设备上 SageMaker ,Edge Manager 不会加载 AWS IoT 本地证书或直接调用 AWS IoT 凭据提供程序端点。相反, SageMaker Edge Manager 使用令牌交换服务从TES端点获取临时证书。
本节介绍 SageMaker 边缘管理器在 Greengrass 核心设备上的工作原理。
SageMaker 边缘管理器如何在 Greengrass 设备上运行
要将 SageMaker Edge Manager 代理部署到您的核心设备,请创建包含该aws.greengrass.SageMakerEdgeManager
组件的部署。 AWS IoT Greengrass 管理设备上边缘管理器代理的安装和生命周期。当代理二进制文件有新版本可用时,请部署该aws.greengrass.SageMakerEdgeManager
组件的更新版本以升级设备上安装的代理版本。
当您将 SageMaker Edge Manager 与一起使用时 AWS IoT Greengrass,您的工作流程包括以下高级步骤:
-
使用 SageMaker Neo 编译模型。
-
使用 SageMaker 边缘打包作业打包您的 SageMaker Neo 编译模型。当你为模型运行边缘打包作业时,你可以选择使用打包的模型作为工件来创建模型组件,然后部署到你的 Greengrass 核心设备上。
-
创建自定义推理组件。您可以使用此推理组件与 Edge Manager 代理进行交互,以便在核心设备上执行推理。这些操作包括加载模型、调用预测请求以运行推理,以及在组件关闭时卸载模型。
-
部署 SageMaker Edge Manager 组件、打包的模型组件和推理组件,以便在设备上的 SageMaker 推理引擎(边缘管理器代理)上运行您的模型。
有关创建与 Edge Manager 配 SageMaker 合使用的边缘打包任务和推理组件的更多信息,请参阅《亚马逊 SageMaker 开发者指南》 AWS IoT Greengrass中的 “使用部署模型包和边缘管理器代理”。
本教程: SageMaker 边缘管理器入门教程使用提供的示例代码,向您展示了如何在现有 Green SageMaker grass 核心设备上设置和使用 Edge Manager 代理,您可以使用这些示例代码 AWS来创建示例推理和建模组件。
在 Green SageMaker grass 核心设备上使用 Edge Manager 时,也可以使用捕获数据功能将示例数据上传到。 AWS Cloud捕获数据是一项用于将推理输入、推理结果和其他推理数据上传到 S3 存储桶或本地目录以供将来分析的 SageMaker 功能。有关在 SageMaker Edge Manager 中使用捕获数据的更多信息,请参阅 Amazon SageMaker 开发者指南中的管理模型。
要求
要在 Greengrass 核心设备上使用 SageMaker Edge Manager 代理,必须满足以下要求。
-
在亚马逊 Linux 2、基于 Debian 的 Linux 平台(x86_64 或 Armv8)或 Windows(x86_64)上运行的 Greengrass 核心设备。如果没有,请参阅教程:AWS 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" } ] }
-
s3:PutObject
操作,如以下IAM策略示例所示。{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
-
-
与您的 Greengrass 核心设备 AWS 区域 相同 AWS 账户 且创建的 Amazon S3 存储桶。 SageMaker Edge Manager 需要一个 S3 存储桶来创建边缘设备队列,并存储在设备上运行推理的示例数据。有关创建 S3 存储桶的信息,请参阅 Amazon S3 入门。
-
使用与 Greengrass 核心设备相同的 AWS IoT 角色别名的 SageMaker 边缘设备队列。有关更多信息,请参阅 创建边缘设备队列。
-
您的 Greengrass 核心设备在您的 Edge 设备群中注册为边缘设备。 SageMaker 边缘设备名称必须与核心设备 AWS IoT 的事物名称相匹配。有关更多信息,请参阅 注册你的 Greengrass 核心设备。
开始使用 SageMaker 边缘管理器
您可以完成教程以开始使用 SageMaker 边缘管理器。本教程向您展示了如何在现有核心设备上开始使用 SageMaker Edge Manager 以及 AWS提供的示例组件。这些示例组件使用 SageMaker Edge Manager 组件作为依赖项来部署 Edge Manager 代理,并使用使用 Neo 编译的预训练模型执行推理。 SageMaker 有关更多信息,请参阅 教程: SageMaker 边缘管理器入门。