SageMaker 邊緣管理員 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SageMaker 邊緣管理員

重要

SageMaker 邊緣管理員將於 2024 年 4 月 26 日停止使用。如需有關繼續將模型部署到邊緣裝置的詳細資訊,請參閱SageMaker 邊緣管理員生命週期結束

Amazon 邊 SageMaker 緣管理器元件 (aws.greengrass.SageMakerEdgeManager) 會安裝 SageMaker 邊緣管理器代理程式二進位檔。

SageMaker Edge Manager 為邊緣裝置提供模型管理功能,讓您可以最佳化、保護、監控和維護邊緣裝置叢集上的機器學習模型。 SageMaker Edge 管理員元件會在您的核心裝置上安裝和管理邊 SageMaker 緣管理員代理程式的生命週期。您也可以使用 SageMaker Edge 管理員來封裝並使用 SageMaker 新編譯的模型做為 Greengrass 核心裝置上的模型元件。如需有關在核心裝置上使用 SageMaker Edge Manager 代理程式的詳細資訊,請參閱在核心設備上使用 Amazon SageMaker 邊緣管理器

SageMaker 邊緣管理員元件 v1.3.x 會安裝邊緣管理員代理程式二進位檔 如需 Edge 管理員代理程式二進位版本的相關資訊,請參閱邊緣管理員代理

注意

「 SageMaker 邊緣管理員」元件僅適用於下列項目 AWS 區域:

  • 美國東部 (俄亥俄)

  • 美國東部 (維吉尼亞北部)

  • 美國西部 (奧勒岡)

  • 歐洲 (法蘭克福)

  • 歐洲 (愛爾蘭)

  • 亞太區域 (東京)

版本

此元件具有下列版本:

  • 1.3.x

  • 1.2.x

  • 1.x

  • 1.0.x

Type

元件是一般元件 (aws.greengrass.generic)。Greengrass 核會執行元件的生命週期指令碼。

如需詳細資訊,請參閱 元件類型

作業系統

此元件可安裝在執行下列作業系統的核心裝置上:

  • Linux

  • Windows

要求

此元件具有下列需求:

  • 在 Amazon Linux 2,基於 Debian 的 Linux 平台(x86_64 或 Armv8)或視窗(x86_64)上運行的 Greengrass 核心設備。如果您沒有帳戶,請參閱 教學課程:AWS 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" } ] }
    • AmazonSageMakerEdgeDeviceFleetPolicyIAM 受管政策。

    • s3:PutObject作,如以下 IAM 政策範例所示。

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
  • 在 AWS 帳戶 與 AWS 區域 您的 Greengrass 核心裝置相同建立的 Amazon S3 儲存貯體。 SageMaker Edge Manager 需要 S3 儲存貯體來建立邊緣裝置叢集,並存放在裝置上執行推論時所產生的範例資料。如需建立 S3 儲存貯體的相關資訊,請參閱開始使用 Amazon S3

  • SageMaker 邊緣裝置叢集使用與 Greengrass 核心裝置相同的 AWS IoT 角色別名。如需詳細資訊,請參閱 建立邊緣裝置叢集

  • 您的 Greengrass 核心裝置已註冊為 Edge 裝置群組中的邊 SageMaker 緣裝置。Edge 裝置名稱必須與核心裝置的 AWS IoT 物件名稱相符。如需詳細資訊,請參閱 註冊 Greengrass 設備

端點和連接埠

除了基本作業所需的端點和連接埠之外,此元件還必須能夠對下列端點和連接埠執行輸出要求。如需詳細資訊,請參閱 允許裝置流量透過 Proxy 或防火牆

端點 連線埠 必要 描述

edge.sagemaker.region.amazonaws.com

443

檢查裝置註冊狀態並將指標傳送至 SageMaker。

*.s3.amazonaws.com

443

將擷取資料上傳到您指定的 S3 儲存貯體。

您可以*使用上傳資料的每個儲存貯體的名稱來取代。

相依性

部署元件時, AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的需求,才能成功部署元件。本節列出此元件之已發行版本的相依性,以及定義每個相依性之元件版本的語意版本條件約束。您也可以在AWS IoT Greengrass 主控台中檢視元件每個版本的相依性。在元件詳細資料頁面上,尋找 [相依性] 清單。

1.3.5 and 1.3.6

下表列出此元件 1.3.5 版和 1.3.6 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.3.4

下表列出此元件 1.3.4 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.3.3

下表列出此元件 1.3.3 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.3.2

下表列出此元件 1.3.2 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.3.1

下表列出此元件 1.3.1 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 >=2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.1.1 - 1.3.0

下表列出此元件 1.1.1-1.3.0 版本的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.1.0

下表列出此元件 1.1.0 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 >=2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.0.3

下表列出此元件 1.0.3 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.0.1 and 1.0.2

下表列出此元件 1.0.1 和 1.0.2 版本的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式
1.0.0

下表列出此元件 1.0.0 版的相依性。

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.0 軟式
代幣交換服務 >=0.0.0 硬式

如需有關元件相依性的詳細資訊,請參閱元件方案參考

組態

此元件提供下列組態參數,您可以在部署元件時自訂這些參數。

注意

本節說明您在元件中設定的組態參數。如需對應 SageMaker 邊緣管理員組態的詳細資訊,請參閱 Amazon SageMaker 開發人員指南中的邊緣管理員代理程式

DeviceFleetName

包含您 Greengrass 核心裝置之 SageMaker 邊緣管理員裝置叢集的名稱。

部署此元件時,您必須在組態更新中指定此參數的值。

BucketName

您上傳擷取的推論資料的 S3 儲存貯體名稱。值區名稱必須包含字串sagemaker

如果您設定CaptureDataDestinationCloud,或設定CaptureDataPeriodicUploadtrue,則您必須在部署此元件時在組態更新中指定此參數的值。

注意

擷取資料是一 SageMaker 項功能,可用來將推論輸入、推論結果和其他推論資料上傳至 S3 儲存貯體或本機目錄,以供 future 分析使用。如需有關透過 SageMaker Edge Manager 使用擷取資料的詳細資訊,請參閱 Amazon SageMaker 開發人員指南中的管理模型

CaptureDataBatchSize

(選擇性) 代理程式處理的一批擷取資料要求大小。此值必須小於您在中指定的緩衝區大小CaptureDataBufferSize。我們建議您不要超過緩衝區大小的一半。

代理程式會在緩衝區中的要求數目符合CaptureDataBatchSize數目時處理要求批次,或是CaptureDataPushPeriodSeconds間隔過去時 (以先發生者為準)。

預設:10

CaptureDataBufferSize

(選擇性) 儲存在緩衝區中的擷取資料要求數目上限。

預設:30

CaptureDataDestination

(選擇性) 儲存擷取資料的目的地。此參數可以具有下列值:

  • Cloud— 將擷取的資料上傳到您在中BucketName指定的 S3 儲存貯體。

  • Disk將擷取的資料寫入元件的工作目錄。

如果您指定Disk,您也可以將設定為,選擇定期將擷取的資料上傳CaptureDataPeriodicUpload到 S3 儲存貯體true

預設:Cloud

CaptureDataPeriodicUpload

(選擇性) 字串值,指定是否定期上傳擷取的資料。支援的值為 truefalse

true如果您設CaptureDataDestination定為Disk,並且您也希望代理程式定期上傳您的 S3 儲存貯體擷取的資料,請將此參數設定為。

預設:false

CaptureDataPeriodicUploadPeriodSeconds

(選擇性) SageMaker Edge Manager 代理程式將擷取的資料上傳到 S3 儲存貯體的間隔 (以秒為單位)。如果設定CaptureDataPeriodicUpload為,請使用此參數true

預設:8

CaptureDataPushPeriodSeconds

(選擇性) SageMaker Edge Manager 代理程式處理來自緩衝區之一批擷取資料要求的間隔 (秒)。

代理程式會在緩衝區中的要求數目符合CaptureDataBatchSize數目時處理要求批次,或是CaptureDataPushPeriodSeconds間隔過去時 (以先發生者為準)。

預設:4

CaptureDataBase64EmbedLimit

(選擇性) SageMaker Edge Manager 代理程式上傳的擷取資料大小上限 (以位元組為單位)。

預設:3072

FolderPrefix

(選擇性) 代理程式寫入擷取資料的資料夾名稱。如果設定CaptureDataDestinationDisk,則代理程式會在指定的目錄中建立資料夾CaptureDataDiskPath。如果您設定CaptureDataDestinationCloud,或設定CaptureDataPeriodicUploadtrue,則代理程式會在 S3 儲存貯體中建立資料夾。

預設:sme-capture

CaptureDataDiskPath

此功能在 v1.1.0 及更新版本的「 SageMaker 邊緣管理員」元件中提供。

(選擇性) 代理程式建立擷取的資料資料夾的資料夾路徑。如果設定CaptureDataDestinationDisk,代理程式會在此目錄中建立擷取的資料資料夾。如果未指定此值,則代理程式會在元件的工作目錄中建立擷取的資料資料夾。使用FolderPrefix參數可指定擷取之資料資料夾的名稱。

預設:/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager/capture

LocalDataRootPath

此功能可在 v1.2.0 和更新版本的 SageMaker 邊緣管理員元件中使用。

(選擇性) 此元件在核心裝置上儲存下列資料的路徑:

  • 當您設DbEnable定為時,執行階段資料的本機資料庫true

  • SageMaker 當您設DeploymentEnable定為時,此元件會自動下載的新編譯模型。true

預設:/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager

DbEnable

(選擇性) 您可以啟用此元件將執行階段資料儲存在本機資料庫中,以便在元件故障或裝置中斷電源時保留資料。

此資料庫在核心裝置的檔案系統上需要 5 MB 的儲存空間。

預設:false

DeploymentEnable

此功能可在 v1.2.0 和更新版本的 SageMaker 邊緣管理員元件中使用。

(選擇性) 您可以啟用此元件,自動從您上傳到 Amazon S3 擷取 SageMaker 新編譯的模型。將新模型上傳到 Amazon S3 之後,請使用 SageMaker Studio 或 SageMaker API 將新模型部署到此核心裝置。啟用此功能時,您可以將新模型部署到核心裝置,而不需要建立 AWS IoT Greengrass 部署。

重要

若要使用此功能,您必須DbEnable將設定為true。此功能使用本機資料庫來追蹤從中擷取的模型 AWS 雲端。

預設:false

DeploymentPollInterval

此功能可在 v1.2.0 和更新版本的 SageMaker 邊緣管理員元件中使用。

(選擇性) 此元件檢查要下載的新模型之間的時間量 (以分鐘為單位)。當您設定DeploymentEnable為時,會套用此選項true

預設值:1440(1 天)

DLRBackendOptions

此功能可在 v1.2.0 和更新版本的 SageMaker 邊緣管理員元件中使用。

(選擇性) 要在 DLR 執行階段中設定此組件使用的 DLR 執行階段旗標。您可以設定下列旗標:

  • TVM_TENSORRT_CACHE_DIR— 啟用快取模型。指定具有讀取/寫入權限的現有資料夾的絕對路徑。

  • 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 管理員通訊端檔案描述元在核心裝置上的位置。

預設:/tmp/aws.greengrass.SageMakerEdgeManager.sock

範例:組態合併更新

下列範例組態指定核心裝置是該核心裝置的一部分,MyEdgeDeviceFleet且代理程式會將擷取資料同時寫入裝置和 S3 儲存貯體。此設定也會啟用偵錯記錄。

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

本機記錄檔

此元件會使用下列記錄檔。

Linux
/greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
Windows
C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以 AWS IoT Greengrass 根資料夾的路徑取代/greengrass/v2C:\greengrass\v2

    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

變更記錄

下表說明元件每個版本中的變更。

版本

變更

1.3.6

版本更新了 Greengrass 核 2.12.5 版本。

1.3.5

版本更新了 Greengrass 核 2.12.0 版本釋放。

1.3.4

版本更新了 Greengrass 核 2.11.0 版本釋放。

1.3.3

版本更新了 Greengrass 核 2.10.0 版本釋放。

1.3.2

版本更新 Greengrass 2.9.0 版本釋放。

1.3.1

版本更新 Greengrass 2.8.0 版本的版本。

1.3.0

新功能
  • 添加對 TensorRT 緩存磁盤大小管理的支持。

    • 將選用TVM_TENSORRT_CACHE_DISK_SIZE_MB旗標新增至 DLR BackendOptions 參數,以設定磁碟上快取模型的大小限制。

改善項目
  • 提供改進的預測並發性。這有助於更好地使用裝置加速器引擎,例如 GPU。

1.2.0

新功能
  • 新增對此元件的支援,以自動擷取您上傳到 Amazon S3 的新 SageMaker 編譯模型。啟用此功能時,您可以將新模型部署到核心裝置,而不需要建立 AWS IoT Greengrass 部署。

  • 添加對此組件用於保留運行時數據的備份數據庫的支持,以防組件故障或設備中斷電源。

  • 添加配置此組件時配置 DLR 運行時標誌的支持。

1.1.1

版本更新了 Greengrass 核 2.7.0 版本釋放。

1.1.0

新功能
  • 添加對運行 Amazon Linux 2 的 Greengrass 核心設備的支持。

  • 加入新的CaptureDataDiskPath組態參數。您可以使用此參數來指定裝置上擷取之資料資料夾的路徑。

錯誤修復和改進
  • 版本更新了 Greengrass 核 2.5.0 版本。

1.0.3

版本更新 Greengrass 2.4.0 版本的版本。

1.0.2

錯誤修復和改進

更新元件生命週期中的安裝指令碼。您的核心裝置現在必須在裝置上安裝 Python 3.6 或更新版本 (包括pip您的 Python 版本),才能部署此元件。

1.0.1

版本更新了 Greengrass 核 2.3.0 版本。

1.0.0

初始版本。