Amazon SageMaker エクスペリメントインテグレーション - Amazon SageMaker

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

Amazon SageMaker エクスペリメントインテグレーション

Amazon SageMaker モデルビルディングパイプラインは Amazon SageMaker Experiments と緊密に統合されています。デフォルトでは、 SageMaker Pipelines がパイプラインを作成して実行すると、次の SageMaker Experiments エンティティが存在しない場合は作成されます。

  • パイプラインの実験

  • パイプラインの実行ごとの実行グループ

  • SageMaker パイプライン実行ステップで作成された各ジョブの実行グループに追加されるラン。

モデルトレーニング実験の複数の実行グループ間でこのようなメトリクスを比較できるのと同じように、 SageMaker モデルトレーニング精度などのメトリクスを複数のパイプライン実行にわたって比較できます。

次のサンプルは、Amazon SageMaker Python SDK のパイプラインクラスの関連パラメータを示しています

Pipeline( name="MyPipeline", parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[...] )

パイプラインの実験と実行グループを作成しない場合は、pipeline_experiment_configNone に設定します。

注記

エクスペリメントインテグレーションは Amazon SageMaker Python SDK v2.41.0 で導入されました。

以下の命名規則は、pipeline_experiment_configExperimentNameTrialName のパラメータで指定した内容に基づいて適用されます。

  • ExperimentName を指定しない場合は、パイプライン name が実験名に使用されます。

    ExperimentName を指定する合は、それが実験名に使用されます。同じ名前の実験がある場合は、パイプラインで作成された実行グループが既存の実験に追加されます。同じ名前の実験がない場合は、新しい実験が作成されます。

  • TrialName を指定しない場合は、パイプラインの実行 ID が実行グループ名に使用されます。

    TrialName を指定する合は、それが実行グループ名に使用されます。同じ名前の実行グループがある場合は、パイプラインで作成された実行が既存の実行グループに追加されます。同じ名前の実行グループが存在しない場合、新しい実行グループが作成されます。

注記

エンティティを作成したパイプラインが削除されても、実験エンティティは削除されません。 SageMaker エクスペリメンツ API を使用してエンティティを削除できます。詳細については、「Amazon SageMaker Experiment リソースのクリーンアップ」を参照してください。

SageMaker パイプラインに関連付けられている実験エンティティを表示する方法については、を参照してください SageMaker パイプラインによって作成された実験エンティティを表示します。。 SageMaker エクスペリメントの詳細については、「」を参照してくださいAmazon SageMaker Experiments でMachine Learningを管理する

以下のセクションでは、ここまでのルールのサンプルと、パイプライン定義ファイルでのルールの記述方法を紹介します。パイプライン定義ファイルの詳細については、「SageMaker パイプラインの概要」を参照してください。

デフォルトの動作

パイプラインを作成する

pipeline_experiment_config は省略されています。ExperimentName のデフォルトはパイプライン name に、TrialName のデフォルトは実行 ID になります。

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], steps=[step_train] )

パイプライン定義ファイル

{ "Version": "2020-12-01", "Parameters": [ { "Name": "InputDataSource" }, { "Name": "InstanceCount", "Type": "Integer", "DefaultValue": 1 } ], "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }

Experiments の統合を無効にする

パイプラインを作成する

pipeline_experiment_configNone に設定されています。

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=None, steps=[step_train] )

パイプライン定義ファイル

前のデフォルトの例と同じですが、PipelineExperimentConfig がありません。

カスタム実験名を指定する

カスタム実験名を使用します。実行グループ名は、デフォルトの動作と同様に、実行 ID に設定されます。

パイプラインを作成する

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( "CustomExperimentName", ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[step_train] )

パイプライン定義ファイル

{ ..., "PipelineExperimentConfig": { "ExperimentName": "CustomExperimentName", "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }

カスタム実行グループ名を指定する

カスタム実行グループ名が使用され、実行 ID が追加されます。実験名は、デフォルトの動作と同様に、パイプライン名に設定されます。

パイプラインを作成する

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, Join(on="-", values=["CustomTrialName", ExecutionVariables.PIPELINE_EXECUTION_ID]) ), steps=[step_train] )

パイプライン定義ファイル

{ ..., "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": { "On": "-", "Values": [ "CustomTrialName", {"Get": "Execution.PipelineExecutionId"} ] } }, "Steps": [...] }