SageMaker Edge Manager - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SageMaker Edge Manager

重要

SageMaker Edge Manager は 2024 年 4 月 26 日に廃止されます。引き続きモデルをエッジデバイスにデプロイする方法の詳細については、SageMaker 「エッジマネージャーのサポート終了」を参照してください。

Amazon SageMaker Edge Manager コンポーネント (aws.greengrass.SageMakerEdgeManager) は SageMaker Edge Manager エージェントバイナリをインストールします。

SageMaker Edge Manager はエッジデバイスのモデル管理を提供するため、エッジデバイスのフリートで機械学習モデルを最適化、保護、モニタリング、維持できます。 SageMaker Edge Manager コンポーネントは、コアデバイスに SageMaker Edge Manager エージェントのライフサイクルをインストールおよび管理します。 SageMaker Edge Manager を使用して、 SageMaker Neo コンパイル済みモデルを Greengrass コアデバイスのモデルコンポーネントとしてパッケージ化して使用することもできます。コアデバイスで SageMaker Edge Manager エージェントを使用する方法の詳細については、「」を参照してくださいGreengrass コアデバイスで Amazon SageMaker Edge Manager を使用する

SageMaker Edge Manager コンポーネント v1.3.x は、Edge Manager エージェントバイナリ v1.20220822.836f3023 をインストールします。Edge Manager エージェントのバイナリバージョンの詳細については、「Edge Manager エージェント」を参照してください。

注記

SageMaker Edge Manager コンポーネントは、次の でのみ使用できます AWS リージョン。

  • 米国東部 (オハイオ)

  • 米国東部 (バージニア北部)

  • 米国西部 (オレゴン)

  • 欧州(フランクフルト)

  • 欧州(アイルランド)

  • アジアパシフィック (東京)

バージョン

このコンポーネントには、次のバージョンがあります。

  • 1.3.x

  • 1.2.x

  • 1.1.x

  • 1.0.x

タイプ

このコンポーネントはジェネリックコンポーネント (aws.greengrass.generic) です。Greengrass nucleus は、コンポーネントのライフサイクルスクリプトを実行します。

詳細については、「コンポーネントタイプ」を参照してください。

オペレーティングシステム

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。

  • Linux

  • Windows

要件

このコンポーネントには次の要件があります。

  • Amazon Linux 2 で実行されている Greengrass コアデバイス、Debian ベースの Linux プラットフォーム (x86_64 またはArmv8)、または Windows (x86_64)。アカウントをお持ちでない場合は、「チュートリアル: AWS IoT Greengrass V2 の開始方法」を参照してください。

  • Python 3.6 以降 (ご使用の Python のバージョン用 pip がコアデバイスにインストールされていること)。

  • 次のように設定された Greengrass デバイスのロール:

    • 次の IAM ポリシーの例で示されているように、credentials.iot.amazonaws.comsagemaker.amazonaws.com がロールの継承を可能にする信頼関係。

      { "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" } ] }
    • IAM AmazonSageMakerEdgeDeviceFleetPolicy 管理ポリシー。

    • 次の IAM ポリシーの例で示されている s3:PutObject アクション。

      { "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 コアデバイスがエッジデバイスフリートの SageMaker エッジデバイスとして登録されている。エッジデバイス名は、コアデバイスの AWS IoT モノ名と一致する必要があります。詳細については、「Greengrass コアデバイスを登録する」を参照してください。

エンドポイントおよびポート

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。

エンドポイント [ポート] 必要 説明

edge.sagemaker.region.amazonaws.com

443 はい

デバイス登録ステータスを確認し、メトリクスを に送信します SageMaker。

*.s3.amazonaws.com

443 はい

指定した S3 バケットにキャプチャデータをアップロードします。

* は、データをアップロードする各バケットの名前に置き換えることができます。

依存関係

コンポーネントをデプロイすると、 はその依存関係の互換性のあるバージョン AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。

1.3.5 and 1.3.6

次の表に、このコンポーネントのバージョン 1.3.5 および 1.3.6 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.13.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.3.4

次の表に、このコンポーネントのバージョン 1.3.4 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.12.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.3.3

次の表に、このコンポーネントのバージョン 1.3.3 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.11.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.3.2

次の表に、このコンポーネントのバージョン 1.3.2 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.10.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.3.1

次の表に、このコンポーネントのバージョン 1.3.1 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.9.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.1.1 - 1.3.0

次の表に、このコンポーネントのバージョン 1.1.1~1.3.0 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.8.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.1.0

次の表に、このコンポーネントのバージョン 1.1.0 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.6.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.0.3

次の表に、このコンポーネントのバージョン 1.0.3 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.5.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.0.1 and 1.0.2

次の表に、このコンポーネントのバージョン 1.0.1 および 1.0.2 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.4.0 ソフト
トークン交換サービス >=0.0.0 ハード
1.0.0

次の表に、このコンポーネントのバージョン 1.0.0 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.3.0 ソフト
トークン交換サービス >=0.0.0 ハード

コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。

構成

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

注記

このセクションでは、コンポーネントで設定する設定パラメータについて説明します。対応する SageMaker Edge Manager 設定の詳細については、「Amazon SageMaker デベロッパーガイド」の「 Edge Manager エージェント」を参照してください。

DeviceFleetName

Greengrass コアデバイスを含む SageMaker Edge Manager デバイスフリートの名前。

このコンポーネントをデプロイするときは、 設定の更新でこのパラメータの値を指定する必要があります。

BucketName

キャプチャした推論データのアップロード先の S3 バケットの名前。バケット名には文字列 sagemaker が含まれている必要があります。

CaptureDataDestinationCloud に設定した場合、または CaptureDataPeriodicUploadtrue に設定した場合、このコンポーネントをデプロイするときに、設定の更新でこのパラメータの値を指定する必要があります。

注記

キャプチャデータは、推論入力、推論結果、および追加の推論データを S3 バケットまたはローカルディレクトリにアップロードして将来の分析に使用する SageMaker 機能です。 SageMaker Edge Manager でキャプチャデータを使用する方法の詳細については、「Amazon SageMaker デベロッパーガイド」の「モデルの管理」を参照してください。

CaptureDataBatchSize

(オプション) エージェントが処理するキャプチャデータ要求のバッチのサイズ。この値は、CaptureDataBufferSize で指定したバッファサイズよりも小さくする必要があります。バッファサイズの半分を超えないことをお勧めします。

エージェントは、バッファ内の要求数が CaptureDataBatchSize の数に達したとき、または CaptureDataPushPeriodSeconds の間隔が経過したとき、いずれか早いほうの要求バッチを処理します。

デフォルト: 10

CaptureDataBufferSize

(オプション) バッファに保存されているキャプチャデータ要求の最大数。

デフォルト: 30

CaptureDataDestination

(オプション) キャプチャしたデータを保存する保存先。このパラメータには以下の値があります。

  • Cloud - BucketName で指定した S3 バケットにキャプチャデータをアップロードします。

  • Disk - キャプチャしたデータをコンポーネントの作業ディレクトリに書き込みます。

Disk を指定した場合、CaptureDataPeriodicUploadtrue に設定して、キャプチャしたデータを S3 バケットに定期的にアップロードすることも選択できます。

デフォルト: Cloud

CaptureDataPeriodicUpload

(任意) キャプチャされたデータを定期的にアップロードするかどうかを指定する文字列値。サポートされている値は、true および false です。

CaptureDataDestinationDisk に設定し、エージェントがキャプチャしたデータを S3 バケットに定期的にアップロードする場合は、このパラメータを true に設定します。

デフォルト: false

CaptureDataPeriodicUploadPeriodSeconds

(オプション) SageMaker Edge Manager エージェントがキャプチャしたデータを S3 バケットにアップロードする秒単位の間隔。CaptureDataPeriodicUploadtrue に設定する場合は、このパラメータを使用します。

デフォルト: 8

CaptureDataPushPeriodSeconds

(オプション) SageMaker Edge Manager エージェントがバッファからのキャプチャデータリクエストのバッチを処理する秒単位の間隔。

エージェントは、バッファ内の要求数が CaptureDataBatchSize の数に達したとき、または CaptureDataPushPeriodSeconds の間隔が経過したとき、いずれか早いほうの要求バッチを処理します。

デフォルト: 4

CaptureDataBase64EmbedLimit

(オプション) SageMaker Edge Manager エージェントがアップロードするキャプチャされたデータのバイト単位の最大サイズ。

デフォルト: 3072

FolderPrefix

(オプション) エージェントがキャプチャしたデータを書き込むフォルダの名前。CaptureDataDestinationDisk に設定すると、エージェントは CaptureDataDiskPath で指定されたディレクトリにフォルダを作成します。CaptureDataDestinationCloud に設定した場合、または CaptureDataPeriodicUploadtrue に設定した場合、エージェントはS3バケットにフォルダを作成します。

デフォルト: sme-capture

CaptureDataDiskPath

この機能は、 Edge Manager コンポーネントの v1.1.0 SageMaker 以降のバージョンで使用できます。

(オプション) エージェントがキャプチャされたデータフォルダを作成するフォルダへのパス。CaptureDataDestinationDisk に設定すると、エージェントはこのディレクトリにキャプチャされたデータフォルダを作成します。この値を指定しない場合、エージェントがキャプチャデータフォルダをコンポーネントの作業ディレクトリに作成します。FolderPrefix パラメータを使用して、キャプチャされたデータフォルダの名前を指定します。

デフォルト: /greengrass/v2/work/aws.greengrass.SageMakerEdgeManager/capture

LocalDataRootPath

この機能は、 Edge Manager コンポーネントの v1.2.0 SageMaker 以降のバージョンで使用できます。

(オプション) このコンポーネントがコアデバイス上の次のデータを保存するパス。

  • DbEnabletrue に設定したときのランタイムデータのローカルデータベース。

  • SageMaker DeploymentEnableを に設定すると、このコンポーネントが自動的にダウンロードする Neo コンパイルモデルtrue

デフォルト: /greengrass/v2/work/aws.greengrass.SageMakerEdgeManager

DbEnable

(オプション) このコンポーネントを有効にすると、コンポーネントに障害が発生したり、デバイスの電源が切れたりした場合に備えて、ランタイムデータをローカルデータベースに保存してデータを保全できます。

このデータベースには、コアデバイスのファイルシステムに 5 MB のストレージが必要です。

デフォルト: false

DeploymentEnable

この機能は、 Edge Manager コンポーネントの v1.2.0 SageMaker 以降のバージョンで使用できます。

(オプション) このコンポーネントを有効にして、Amazon S3 にアップロードした から SageMaker Neo コンパイル済みモデルを自動的に取得できます。 Amazon S3 新しいモデルを Amazon S3 にアップロードしたら、Studio または SageMaker API を使用して SageMaker、新しいモデルをこのコアデバイスにデプロイします。この機能を有効にすると、 AWS IoT Greengrass デプロイを作成する必要なく、新しいモデルをコアデバイスにデプロイできます。

重要

この機能を使用するには、DbEnabletrue に設定する必要があります。この機能では、ローカルデータベースを使用して、 AWS クラウドから取得したモデルを追跡します。

デフォルト: false

DeploymentPollInterval

この機能は、 Edge Manager コンポーネントの v1.2.0 SageMaker 以降のバージョンで使用できます。

(オプション) このコンポーネントがダウンロードする新しいモデルをチェックする間隔 (分単位)。このオプションは、DeploymentEnabletrue に設定すると適用されます。

デフォルト: 1440 (1 日)

DLRBackendOptions

この機能は、 Edge Manager コンポーネントの v1.2.0 SageMaker 以降のバージョンで使用できます。

(オプション) このコンポーネントが使用する 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": "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
このコンポーネントのログを確認するには
  • コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。/greengrass/v2 または C:\greengrass\v2 を AWS 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

変更ログ

次の表は、コンポーネントの各バージョンにおける変更を示します。

バージョン

変更

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

新機能
  • TensorRT のキャッシュディスクサイズ管理のサポートを追加します。

    • オプションの TVM_TENSORRT_CACHE_DISK_SIZE_MBフラグを DLR BackendOptions パラメータに追加して、ディスクにキャッシュされたモデルのサイズ制限を設定します。

改良点
  • 予測の同時実行を改善します。これにより、GPU などのデバイスアクセラレータエンジンをより有効に活用できるようになります。

1.2.0

新機能
  • Amazon S3 にアップロードした SageMaker Neo コンパイル済みモデルを自動的に取得するための、このコンポーネントのサポートが追加されました。この機能を有効にすると、デプロイを作成する必要なく、新しいモデルをコアデバイスに AWS IoT Greengrass デプロイできます。

  • コンポーネントに障害が発生したり、デバイスの電源が切れたりした場合に、このコンポーネントがランタイムデータを保存するために使用するバックアップデータベースのサポートが追加されています。

  • このコンポーネントを設定するとき、DLR ランタイムフラグを設定するためのサポートが追加されました。

1.1.1

Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。

1.1.0

新機能
  • Amazon Linux 2 を実行している Greengrass コアデバイスのサポートを追加します。

  • 新しい CaptureDataDiskPath 設定パラメータが追加されました。このパラメータを使用して、デバイスのキャプチャデータフォルダのパスを指定できます。

バグ修正と機能向上
  • Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。

1.0.3

Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。

1.0.2

バグ修正と機能向上

コンポーネント ライフサイクルのインストールスクリプトを更新します。コアデバイスには Python 3.6 以降をインストールする必要があり、このコンポーネントをデプロイする前に、デバイスにはお使いの Python バージョン向けの pip がインストールされている必要があります。

1.0.1

Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。

1.0.0

当初のバージョン