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

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

SageMaker 边缘管理器

亚马逊 SageMaker Edge Manager 组件 (aws.greengrass.SageMakerEdgeManager) 安装 SageMaker Edge Manager 代理二进制文件。

SageMaker Edge Manager 为边缘设备提供模型管理,因此您可以优化、保护、监控和维护边缘设备群上的机器学习模型。 SageMaker Edge Manager 组件在您的核心设备上安装并管理 SageMaker Edge Manager 代理的生命周期。您也可以使用 SageMaker Edge Manager 在 Greengrass 核心设备上打包并使用 SageMaker NEO 编译的模型作为模型组件。有关在核心设备上使用 SageMaker Edge Manager 代理的更多信息,请参阅在 Greengrass 核心设备上使用亚马逊 SageMaker 边缘管理器

SageMaker Edge Manager 组件 v1.3.x 安装 Edge Manager 代理二进制 v1.202220822.836f3023。有关 Edge Manager 代理二进制版本的更多信息,请参阅 Edge Manager 代理

注意

E SageMaker dge Manager 组件仅在以下版本中可用Amazon Web Services 区域:

  • 美国东部(俄亥俄)

  • 美国东部(弗吉尼亚北部)

  • 美国西部(俄勒冈州)

  • 欧洲(法兰克福)

  • 欧洲 (爱尔兰)

  • 亚太地区(东京)

版本

此组件有以下版本:

  • 1.3.x

  • 1.2.x

  • 1.x

  • 1.0.x

类型

组件是通用组件 (aws.greengrass.generic)。 Greengrass 核心运行组件的生命周期脚本。

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件有以下要求:

  • 在亚马逊 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:PutObjectIAM。

      { "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 核心设备

端点和端口

除了基本操作所需的端点和端口外,此组件还必须能够向以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备通过代理或防火墙进行流量

Endpoint 端口 必填 描述

edge.sagemaker.region.amazonaws.com

443

检查设备注册状态并将指标发送至 SageMaker。

*.s3.amazonaws.com

443

S3。

您可以*使用上传数据的每个存储桶的名称替换。

附属物

部署组件时,Amazon IoT Greengrass还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及为每个依赖项定义组件版本的语义版本约束。您还可以在Amazon IoT Greengrass控制台中查看每个版本组件的依赖关系。在组件详细信息页面上,查找 “依赖关系” 列表。

1.3.1

1.3.1。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.9.0 软性
代币交换服务 >=0.0.0 硬性
1.1.1 - 1.3.0

下表列出了此组件版本 1.1.1-1.3.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.8.0 软性
代币交换服务 >=0.0.0 硬性
1.1.0

下表列出了此组件版本 1.1.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.6.0 软性
代币交换服务 >=0.0.0 硬性
1.0.3

下表列出了此组件版本 1.0.3 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.5.0 软性
代币交换服务 >=0.0.0 硬性
1.0.1 and 1.0.2

下表列出了此组件版本 1.0.1 和 1.0.2 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.4.0 软性
代币交换服务 >=0.0.0 硬性
1.0.0

下表列出了此组件版本 1.0.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 <2.3.0 软性
代币交换服务 >=0.0.0 硬性

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供以下配置参数,您可以在部署组件时对其进行自定义。

注意

本节介绍您在组件中设置的配置参数。有关相应的 SageMaker Edge Manager 配置的更多信息,请参阅《亚马逊 SageMaker 开发者指南》中的 Edge Manager 代理

DeviceFleetName

包含你的 Green SageMaker grass 核心设备的 Edge Manager 设备队列的名称。

部署此组件时,您必须在配置更新中为该参数指定一个值。

BucketName

S3。存储桶名称必须包含字符串sagemaker

如果设置CaptureDataDestinationCloud,或者设置为CaptureDataPeriodicUploadtrue,则在部署此组件时,必须在配置更新中为该参数指定一个值。

注意

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

CaptureDataBatchSize

(可选)代理处理的一批捕获数据请求的大小。CaptureDataBufferSize。。

当缓冲区中的请求数达到该数量或CaptureDataPushPeriodSeconds间隔过后(以先发生者为准)时,代理会处理请求批处理。CaptureDataBatchSize

默认值:10

CaptureDataBufferSize

(可选)存储在缓冲区中的捕获数据请求的最大数量。

默认值:30

CaptureDataDestination

(可选)存储捕获数据的目的地。:

  • Cloud—将捕获的数据上传到您在中指定的 S3 存储桶BucketName

  • Disk— 将捕获的数据写入组件的工作目录。

如果您指定Disk,也可以通过将设置CaptureDataPeriodicUpload为,选择定期将捕获的数据上传到您的 S3 存储桶true

默认值:Cloud

CaptureDataPeriodicUpload

(可选)指定是否定期上传捕获数据的字符串值。支持的值为 truefalse

true如果您将此参数设置为Disk,并且您还希望代理定期CaptureDataDestination将捕获的数据上传到您的 S3 存储桶,请将此参数设置为。

默认值:false

CaptureDataPeriodicUploadPeriodSeconds

(可选) SageMaker Edge Manager 代理将捕获的数据上传到 S3 存储桶的时间间隔(以秒为单位)。如果您设置CaptureDataPeriodicUpload为,请使用此参数true

默认值:8

CaptureDataPushPeriodSeconds

(可选) SageMaker Edge Manager 代理处理来自缓冲区的一批捕获数据请求的时间间隔(以秒为单位)。

当缓冲区中的请求数达到该数量或CaptureDataPushPeriodSeconds间隔过后(以先发生者为准)时,代理会处理请求批处理。CaptureDataBatchSize

默认值:4

CaptureDataBase64EmbedLimit

(可选) SageMaker Edge Manager 代理上传的捕获数据的最大大小(以字节为单位)。

默认值:3072

FolderPrefix

(可选)代理将捕获的数据写入的文件夹的名称。如果设置CaptureDataDestinationDisk,则代理将在指定的目录中创建文件夹CaptureDataDiskPath。如果您设置为CaptureDataDestinationCloud,或者设置为CaptureDataPeriodicUpload,则代理将在您的 S3 存储桶中创建文件夹。true

默认值:sme-capture

CaptureDataDiskPath

SageMaker Edge Manager v1.0。

(可选)代理创建捕获的数据文件夹的文件夹路径。如果设置为CaptureDataDestinationDisk,则代理将在此目录中创建捕获的数据文件夹。,,Agent。使用FolderPrefix参数指定捕获的数据文件夹的名称。

默认值:/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager/capture

LocalDataRootPath

此功能在 v1.2.0 及更高版本的 SageMaker Edge Manager 组件中可用。

(可选)此组件在核心设备上存储以下数据的路径:

  • 设置DbEnable为时的运行时数据的本地数据库true

  • SageMaker NEO 编译的模型,当您设置为DeploymentEnable时,此组件会自动下载true

默认值:/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager

DbEnable

(可选)您可以启用此组件将运行时数据存储在本地数据库中以保留数据,以防组件出现故障或设备断电。

此数据库在核心设备的文件系统上需要 5 MB 的存储空间。

默认值:false

DeploymentEnable

此功能在 v1.2.0 及更高版本的 SageMaker Edge Manager 组件中可用。

(可选)您可以启用此组件以自动检索您上传到 Amazon S3 的 SageMaker NEO 编译的模型。将新模型上传到 Amazon S3 后,使用 SageMaker Studio 或 SageMaker API 将新模型部署到此核心设备。启用此功能后,无需创建部署,即可将新模型Amazon IoT Greengrass部署到核心设备。

重要

要使用此功能,必须设置DbEnabletrue。此功能使用本地数据库来跟踪从中检索的模型Amazon Web Services 云。

默认值:false

DeploymentPollInterval

此功能在 v1.2.0 及更高版本的 SageMaker Edge Manager 组件中可用。

(可选)此组件检查要下载的新模型的时间间隔(以分钟为单位)。当您将设置为DeploymentEnable时,此选项适用true

默认:1440(1 天)

DLRBackendOptions

此功能在 v1.2.0 及更高版本的 SageMaker Edge Manager 组件中可用。

(可选)要在此组件使用的 DLR 运行时中设置的 DLR 运行时标志。:

  • TVM_TENSORRT_CACHE_DIR— 启用 TensorRT 模型缓存。指定具有读/写权限的现有文件夹的绝对路径。

  • TVM_TENSORRT_CACHE_DISK_SIZE_MB— 分配 TensorRT 模型缓存文件夹的上限。当目录大小超过此限制时,使用最少的缓存引擎将被删除。512 MB。

例如,您可以将此参数设置为以下值以启用 TensorRT 模型缓存并将缓存大小限制为 800 MB。

TVM_TENSORRT_CACHE_DIR=/data/secured_folder/trt/cache; TVM_TENSORRT_CACHE_DISK_SIZE_MB=800
SagemakerEdgeLogVerbose

(可选)指定是否启用调试日志记录的字符串值。支持的值为 truefalse

默认值:false

UnixSocketName

(可选)核心设备上 SageMaker Edge Manager 套接字文件描述符的位置。

默认值:/tmp/aws.greengrass.SageMakerEdgeManager.sock

例 示例:配置合并更新

以下示例配置指定核心设备是的一部分,代理将MyEdgeDeviceFleet捕获数据写入设备和 S3 存储桶。此配置还启用调试日志。

{ "DeviceFleetName": "MyEdgeDeviceFleet", "BucketName": "DOC-EXAMPLE-BUCKET", "CaptureDataDestination": "Disk", "CaptureDataPeriodicUpload": "true", "SagemakerEdgeLogVerbose": "true" }

Logs Fils

此组件使用以下日志文件。

Linux
/greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
Windows
C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log

查看此组件的日志

  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将 /greengrass/v2C:\greengrass\v2 替换为Amazon IoT Greengrass根文件夹的路径。

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log -Tail 10 -Wait

更改日志

Version

变更

1.3.1

Greengrass nucleus 2.8.0。

1.3.0

新功能
  • 添加了对 TensorRT 缓存磁盘大小管理的支持。

    • 向 DLRBackendOptions 参数添加可选TVM_TENSORRT_CACHE_DISK_SIZE_MB标志,以设置磁盘上缓存模型的大小限制。

改进
  • 提供改进的预测并发性。这有助于更好地利用设备加速器引擎,例如 GPU。

1.2.0

新功能
  • Amazon S SageMaker 3,NEO。启用此功能后,无需创建部署,即可将新模型Amazon IoT Greengrass部署到核心设备。

  • 增加了对备份数据库的支持,该组件使用该数据库来保存运行时数据,以防组件出现故障或设备断电。

  • 添加了对您在配置此组件时配置 DLR 运行时标志的支持。

1.1.1

Greengrass nucleus 2.7.0。

1.1.0

新功能
  • 增加了对运行亚马逊 Linux 2 的 Greengrass 核心设备的支持。

  • 添加新的CaptureDataDiskPath配置参数。您可以使用此参数指定设备上捕获的数据文件夹的路径。

Bug
  • Greengrass nucleus 2.5.0。

1.0.3

Greengrass nucleus 2.4.0。

1.0.2

Bug

在组件生命周期中更新安装脚本。在部署此组件之前,您的核心设备现在必须在设备上安装 Python 3.6 或更高版本,包括pip您的 Python 版本。

1.0.1

Greengrass nucleus 2.3.0。

1.0.0

初始版本。