Pipeline の構造と実行
Pipeline の構造
Amazon SageMaker Pipelines インスタンスは、name
、parameters
、steps
で構成されています。パイプライン名は、(account, region)
ペア内で一意である必要があります。ステップ定義で使用されるすべてのパラメータは、パイプラインで定義する必要があります。リストされているパイプラインステップは、相互のデータ依存関係によって実行順序が自動的に決定されます。Pipelines サービスは、データ依存関係 DAG 内のステップ間の関係を解決して、実行を完了するステップのセットを作成します。以下は、パイプライン構造の例です。
from sagemaker.workflow.pipeline import Pipeline pipeline_name = f"AbalonePipeline" pipeline = Pipeline( name=pipeline_name, parameters=[ processing_instance_type, processing_instance_count, training_instance_type, model_approval_status, input_data, batch_data, ], steps=[step_process, step_train, step_eval, step_cond], )
並列処理設定を使用したパイプラインの実行
デフォルトでは、パイプラインは、並列で実行できるすべてのステップを実行します。この動作は、パイプラインを作成または更新するとき、およびパイプラインの実行を開始または再試行するときに ParallelismConfiguration
プロパティを使用して制御できます。
並列処理の設定は、実行ごとに適用されます。例えば、2 つの実行を開始して、それぞれが最大 50 ステップを同時に実行できる場合は、合計 100 ステップが同時に実行されます。また、実行の開始時、再試行時、または更新時に指定した ParallelismConfiguration
は、パイプラインで定義した並列処理設定よりも優先されます。
例 ParallelismConfiguration
でパイプラインの実行を作成する
pipeline = Pipeline( name="
myPipeline
", steps=[step_process, step_train] ) pipeline.create(role, parallelism_config={"MaxParallelExecutionSteps": 50})