

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

# 在 Greengrass 核心设备上使用亚马逊 SageMaker AI 边缘管理器
<a name="use-sagemaker-edge-manager"></a>

**重要**  
SageMaker AI 边缘管理器已于 2024 年 4 月 26 日停产。有关继续将模型部署到边缘设备的更多信息，请参阅 [SageMaker AI Edge Manager 生命周期终止](https://docs.amazonaws.cn/sagemaker/latest/dg/edge-eol.html)。

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

本节介绍了 SageMaker AI Edge Manager 在 Greengrass 核心设备上的工作原理。



## SageMaker AI 边缘管理器如何在 Greengrass 设备上运行
<a name="how-to-use-sdge-manager-with-greengrass"></a>

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

将 SageMaker AI Edge Manager 与配合使用时 Amazon IoT Greengrass，您的工作流程包括以下高级步骤：

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

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

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

1. 部署 SageMaker AI Edge Manager 组件、打包的模型组件和推理组件，以便在设备上的 SageMaker AI 推理引擎（边缘管理器代理）上运行您的模型。

有关创建与 AI Edge Manager 配合使用的边缘打包任务和推理组件的更多信息，请参阅 A *mazon SageMaker A SageMaker I 开发者指南 Amazon IoT Greengrass*中的[使用部署模型包和边缘管理器代理](https://docs.amazonaws.cn/sagemaker/latest/dg/edge-greengrass.html)。

本[教程：开始使用 A SageMaker I 边缘管理器](get-started-with-edge-manager-on-greengrass.md)教程使用提供的示例代码，向您展示了如何在现有 Greengrass 核心设备上设置和使用 SageMaker AI Edge Manager 代理，您可以使用这些示例代码 Amazon来创建示例推理和建模组件。

在 Greengrass 核心设备上使用 SageMaker AI Edge Manager 时，还可以使用捕获数据功能将示例数据上传到。 Amazon Web Services 云捕获数据是一项 SageMaker AI 功能，用于将推理输入、推理结果和其他推理数据上传到 S3 存储桶或本地目录以供将来分析。有关在 SageMaker AI Edge Manager 中使用捕获数据的更多信息，请参阅 *Amazon A SageMaker I 开发者指南*中的[管理模型](https://docs.amazonaws.cn/sagemaker/latest/dg/edge-manage-model.html#edge-manage-model-capturedata)。

## 要求
<a name="greengrass-edge-manager-agent-requirements"></a>

要在 Greengrass 核心设备上使用 SageMaker AI Edge Manager 代理，必须满足以下要求。<a name="sm-edge-manager-component-reqs"></a>
+ <a name="sm-req-core-device"></a>在 Amazon Linux 2、基于 Debian 的 Linux 平台（x86\_64 或 Armv8）或 Windows（x86\_64）上运行的 Greengrass 核心设备。如果没有，请参阅[教程：Amazon IoT Greengrass V2 入门](getting-started.md)。
+ <a name="sm-req-python"></a>核心设备上已安装 [Python](https://www.python.org/downloads/) 3.6 或更高版本，包括适用于您的 Python 版本的 `pip`。
+ 已为 [Greengrass 设备角色](device-service-role.md)配置以下项：
  + <a name="sm-req-iam-trust-relationship"></a>允许 `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" 
        } 
      ] 
    }
    ```
  + <a name="sm-req-iam-sagemanakeredgedevicefleetpolicy"></a>I [AmazonSageMakerEdgeDeviceFleetPolicy](https://console.amazonaws.cn/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonSageMakerEdgeDeviceFleetPolicy)AM 托管策略。
  + <a name="sm-req-iam-s3-putobject"></a>`s3:PutObject` 操作，如以下 IAM 策略示例所示。

    ```
    {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Action": [
            "s3:PutObject"
          ],
          "Resource": [
            "*"
          ],
          "Effect": "Allow"
        }
      ]
    }
    ```
+ <a name="sm-req-s3-bucket"></a>与您的 Greengrass 核心设备 Amazon Web Services 区域 相同 Amazon Web Services 账户 且创建的 Amazon S3 存储桶。 SageMaker AI Edge Manager 需要一个 S3 存储桶来创建边缘设备队列，并存储在设备上运行推理的示例数据。有关创建 S3 存储桶的更多信息，请参阅 [Amazon S3 入门](https://docs.amazonaws.cn/AmazonS3/latest/userguide/GetStartedWithS3.html)。
+ <a name="sm-req-edge-device-fleet"></a>使用与 Greengrass 核心设备相同的 Amazon IoT 角色别名的 SageMaker AI 边缘设备舰队。有关更多信息，请参阅 [创建边缘设备实例集](get-started-with-edge-manager-on-greengrass.md#create-edge-device-fleet-for-greengrass)。
+ <a name="sm-req-edge-device"></a>您的 Greengrass 核心设备在您的 AI Edge 设备群中注册为边缘设备。 SageMaker 边缘设备名称必须与核心设备 Amazon IoT 的事物名称相匹配。有关更多信息，请参阅 [注册 Greengrass 核心设备](get-started-with-edge-manager-on-greengrass.md#register-greengrass-core-device-in-sme)。

## 开始使用 SageMaker AI 边缘管理器
<a name="use-sm-edge-manager"></a>

您可以完成教程，开始使用 SageMaker AI 边缘管理器。本教程向您展示了如何在现有核心设备上开始使用 SageMaker AI Edge Manager 以及 Amazon提供的示例组件。这些示例组件使用 SageMaker AI Edge Manager 组件作为依赖项来部署 Edge Manager 代理，并使用使用 SageMaker AI Neo 编译的预训练模型执行推理。有关更多信息，请参阅 [教程：开始使用 A SageMaker I 边缘管理器](get-started-with-edge-manager-on-greengrass.md)。