翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ベストプラクティス
以降のセクションでは、パイプラインステップに@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 実行ロールのみがこのパスに書き込めるようにバケットポリシーを適用します。
設定ファイルの詳細については、「設定ファイル」を参照してください。