SageMaker Edge Manager
重要
SageMaker Edge Manager 已于 2024 年 4 月 26 日停用。有关继续将模型部署到边缘设备的更多信息,请参阅 SageMaker Edge Manager 终止使用。
Amazon SageMaker Edge Manager 组件 (aws.greengrass.SageMakerEdgeManager
) 会安装 SSageMaker Edge Manager 代理二进制文件。
SageMaker Edge Manager 为边缘设备提供模型管理,便于您在边缘设备实例集上优化、保护、监控和维护机器学习模型。SageMaker Edge Manager 组件在核心设备上安装和管理 SageMaker Edge Manager 代理的生命周期。您也可以使用 SageMaker Edge Manager 在 Greengrass 核心设备上打包和使用 SageMaker Neo 编译的模型作为模型组件。有关在核心设备上使用 SageMaker Edge Manager 代理的更多信息,请参阅在 Greengrass 核心设备上使用 Amazon SageMaker Edge Manager。
SageMaker Edge Manager 组件 v1.3.x 安装 Edge Manager 代理二进制文件 v1.20220822.836f3023。有关 Edge Manager 代理二进制文件版本的更多信息,请参阅 Edge Manager 代理。
注意
仅以下 Amazon Web Services 区域 区域提供 SageMaker Edge Manager 组件:
-
美国东部(俄亥俄)
-
美国东部(弗吉尼亚州北部)
-
美国西部(俄勒冈州)
-
欧洲(法兰克福)
-
欧洲(爱尔兰)
-
Asia Pacific (Tokyo)
版本
此组件具有以下版本:
-
1.3.x
-
1.2.x
-
1.1.x
-
1.0.x
类型
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass Nucleus 运行组件的生命周期脚本。
有关更多信息,请参阅组件类型。
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
要求
此组件具有以下要求:
-
在 Amazon Linux 2、基于 Debian 的 Linux 平台(x86_64 或 Armv8)或 Windows(x86_64)上运行的 Greengrass 核心设备。如果没有,请参阅教程:Amazon IoT Greengrass V2 入门。
-
核心设备上已安装 Python
3.6 或更高版本,包括适用于您的 Python 版本的 pip
。 -
已为 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" } ] }
-
AmazonSageMakerEdgeDeviceFleetPolicy
IAM 托管策略。 -
s3:PutObject
操作,如以下 IAM 策略示例所示。{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
-
-
在与 Greengrass 核心设备相同的 Amazon Web Services 账户和 Amazon Web Services 区域中创建的 Amazon S3 存储桶。SageMaker Edge Manager 需要一个 S3 存储桶来创建边缘设备实例集,并存储设备上运行推理的示例数据。有关创建 S3 存储桶的更多信息,请参阅 Amazon S3 入门。
-
使用与您的 Greengrass 核心设备相同的 Amazon IoT 角色别名的 SageMaker 边缘设备实例集。有关更多信息,请参阅创建边缘设备实例集。
-
您的 Greengrass 核心设备在 SageMaker Edge 设备实例集中注册为边缘设备。边缘设备名称必须与核心设备的 Amazon IoT 事物名称相匹配。有关更多信息,请参阅注册 Greengrass 核心设备。
端点和端口
除基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅允许设备流量通过代理或防火墙。
Endpoint | 端口 | 必需 | 描述 |
---|---|---|---|
|
443 | 是 |
检查设备注册状态并将指标发送到 SageMaker。 |
|
443 | 是 |
将捕获数据上传到您指定的 S3 存储桶。 您可以将 |
依赖项
在您部署组件时,Amazon IoT Greengrass 也会部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 Amazon IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
注意
本节介绍了您在组件中设置的配置参数。有关相应 SageMaker Edge Manager 配置的更多信息,请参《Amazon SageMaker 开发人员指南》中的 Edge Manager 代理。
DeviceFleetName
-
包含 Greengrass 核心设备的 SageMaker Edge Manager 设备实例集的名称。
部署此组件时,必须在配置更新中指定此参数的值。
BucketName
-
将捕获的推理数据上传其中的 S3 存储桶的名称。存储桶名称必须包含字符串
sagemaker
。如果将
CaptureDataDestination
设置为Cloud
,或者将CaptureDataPeriodicUpload
设置为true
,则在部署此组件时,必须在配置更新中为此参数指定一个值。注意
捕获数据是 SageMaker 的一项功能,用于将推理输入、推理结果和其它他推理数据上传到 S3 存储桶或本地目录,以供将来分析。有关在 SageMaker Edge Manager 中使用捕获数据的更多信息,请参阅《Amazon SageMaker 开发人员指南》中的管理模型。
CaptureDataBatchSize
-
(可选)代理处理的捕获数据请求批次的大小。该值必须小于您在
CaptureDataBufferSize
中指定的缓冲区大小。我们建议不要超过缓冲区大小的一半。缓冲区中的请求数量达到
CaptureDataBatchSize
数量时,或者达到CaptureDataPushPeriodSeconds
时间间隔时(以先发生者为准),代理会处理请求批次。默认:
10
CaptureDataBufferSize
-
(可选)缓冲区中存储的捕获数据请求的最大数量。
默认:
30
CaptureDataDestination
-
(可选)存储捕获的数据的目标位置。此参数可能具有以下值:
-
Cloud
– 将捕获的数据上传到您在BucketName
中指定的 S3 存储桶。 -
Disk
– 将捕获的数据写入组件的工作目录。
如果您指定
Disk
,也可以将CaptureDataPeriodicUpload
设置为true
,来选择定期将捕获的数据上传到您的 S3 存储桶。默认:
Cloud
-
CaptureDataPeriodicUpload
-
(可选)指定是否定期上传捕获的数据的字符串值。支持的值为
true
和false
。如果将
CaptureDataDestination
设置为Disk
,并且还希望代理定期将捕获的数据上传到您的 S3 存储桶,则将此参数设置为true
。默认:
false
CaptureDataPeriodicUploadPeriodSeconds
-
(可选)SageMaker Edge Manager 代理将捕获的数据上传到 S3 存储桶的时间间隔(以秒为单位)。如果将
CaptureDataPeriodicUpload
设置为true
,则使用此参数。默认:
8
CaptureDataPushPeriodSeconds
-
(可选)SageMaker Edge Manager 代理处理缓冲区内捕获数据请求批次的时间间隔(以秒为单位)。
缓冲区中的请求数量达到
CaptureDataBatchSize
数量时,或者达到CaptureDataPushPeriodSeconds
时间间隔时(以先发生者为准),代理会处理请求批次。默认:
4
CaptureDataBase64EmbedLimit
-
(可选)SageMaker Edge Manager 代理上传的捕获数据的最大大小(以字节为单位)。
默认:
3072
FolderPrefix
-
(可选)代理将捕获的数据写入其中的文件夹的名称。如果将
CaptureDataDestination
设置为Disk
,则代理将在CaptureDataDiskPath
指定的目录中创建文件夹。如果您将CaptureDataDestination
设置为Cloud
,或者将CaptureDataPeriodicUpload
设置为true
,则代理将在您的 S3 存储桶中创建文件夹。默认:
sme-capture
CaptureDataDiskPath
-
此功能适用于 SageMaker Edge Manager 组件的 v1.1.0 及更高版本。
(可选)代理创建捕获的数据文件夹的文件夹路径。如果将
CaptureDataDestination
设置为Disk
,则代理将在此目录中创建捕获的数据文件夹。如果您未指定此值,则代理将在组件的工作目录中创建捕获的数据文件夹。使用FolderPrefix
参数指定捕获的数据文件夹的名称。默认:
/work/aws.greengrass.SageMakerEdgeManager/capture/greengrass/v2
LocalDataRootPath
-
此功能适用于 SageMaker Edge Manager 组件的 v1.2.0 及更高版本。
(可选)此组件在核心设备上存储以下数据的路径:
-
将
DbEnable
设置为true
时,运行时数据的本地数据库。 -
将
DeploymentEnable
设置为true
时,此组件会自动下载的 SageMaker Neo 编译的模型。
默认:
/work/aws.greengrass.SageMakerEdgeManager/greengrass/v2
-
DbEnable
-
(可选)您可以启用此组件,将运行时数据存储在本地数据库中,以便在组件出现故障或设备断电时保留数据。
此数据库在核心设备的文件系统上需要 5 MB 的存储空间。
默认:
false
DeploymentEnable
-
此功能适用于 SageMaker Edge Manager 组件的 v1.2.0 及更高版本。
(可选)您可以启用此组件,以自动检索您上传到 Amazon S3 的 SageMaker Neo 编译的模型。将新模型上传到 Amazon S3 后,使用 SageMaker Studio 或 SageMaker API 将新模型部署到该核心设备。启用此功能后,无需创建 Amazon IoT Greengrass 部署即可将新模型部署到核心设备。
重要
要使用此功能,必须将
DbEnable
设置为true
。此功能使用本地数据库来跟踪从 Amazon Web Services 云 中检索的模型。默认:
false
DeploymentPollInterval
-
此功能适用于 SageMaker Edge Manager 组件的 v1.2.0 及更高版本。
(可选)此组件检查要下载的新模型之间的间隔时间(以分钟为单位)。此选项适用于将
DeploymentEnable
设置为true
时。默认值:
1440
(1 天)。 DLRBackendOptions
-
此功能适用于 SageMaker Edge Manager 组件的 v1.2.0 及更高版本。
(可选)在此组件使用的 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
-
(可选)指定是否启用调试日志记录的字符串值。支持的值为
true
和false
。默认:
false
UnixSocketName
-
(可选)核心设备上 SageMaker Edge Manager 套接字文件描述符的位置。
默认:
/tmp/aws.greengrass.SageMakerEdgeManager.sock
例 示例:配置合并更新
以下示例配置指定核心设备是 MyEdgeDeviceFleet
的一部分,并且代理将捕获数据写入设备和 S3 存储桶。此配置还会启用调试日志记录。
{ "DeviceFleetName": "
MyEdgeDeviceFleet
", "BucketName": "amzn-s3-demo-bucket", "CaptureDataDestination": "Disk", "CaptureDataPeriodicUpload": "true", "SagemakerEdgeLogVerbose": "true" }
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表介绍每个组件版本的更改。
版本 |
更改 |
---|---|
1.3.6 |
对 Greengrass Nucleus 2.12.5 发行版进行了版本更新。 |
1.3.5 |
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
1.3.4 |
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
1.3.3 |
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
1.3.2 |
对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 |
1.3.1 |
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
1.3.0 |
|
1.2.0 |
|
1.1.1 |
版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。 |
1.1.0 |
|
1.0.3 |
版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。 |
1.0.2 |
|
1.0.1 |
版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。 |
1.0.0 |
初始版本。 |