View a markdown version of this page

ベストプラクティス - Amazon SageMaker AI

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

ベストプラクティス

以降のセクションでは、パイプラインステップに@step デコレータを使用する際に従うべきベストプラクティスを提案しています。

ウォームプールを使用する

パイプライン ステップの実行を高速化するには、トレーニングジョブ用に提供されているウォームプール機能を使用します。次のスニペットに示されるとおり、@step デコレータに keep_alive_period_in_seconds 引数を指定することで、ウォームプール機能を有効にできます。

@step( keep_alive_period_in_seconds=900 )

ウォームプールの詳細については、「SageMaker AI マネージドウォームプール」を参照してください。

ディレクトリを構造化する

@step デコレータを使用する際は、コードモジュールを使用することをお勧めします。ステップ関数を呼び出してパイプラインを定義する pipeline.py モジュールをワークスペースのルートに配置します。推奨される構造は、以下のとおりです。

. ├── config.yaml # the configuration file that define the infra settings ├── requirements.txt # dependencies ├── pipeline.py # invoke @step-decorated functions and define the pipeline here ├── steps/ | ├── processing.py | ├── train.py ├── data/ ├── test/

シリアル化されたデータを保護する

@step デコレータは、関数の入力と出力を Amazon S3 に保存します。デフォルトでは、SageMaker AI はデフォルトのバケットを使用します。アカウントの他のプロジェクトやユーザーは、このバケットを共有する場合があります。

パイプラインデータを安全に保つには、SageMaker AI 設定ファイルS3RootUriで を設定します。パイプラインのみが使用するバケットを使用します。次の例は、この値を設定する方法を示しています。

SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3RootUri: 's3://amzn-s3-demo-bucket/pipeline-data'
重要

S3RootUri パスへの書き込みアクセスを制限します。これにより、権限のないユーザーがパイプラインデータを変更できなくなります。ジョブで使用される SageMaker AI 実行ロールのみがこのパスに書き込めるようにバケットポリシーを適用します。

設定ファイルの詳細については、「設定ファイル」を参照してください。