Amazon SageMaker Experiments の統合 - Amazon SageMaker

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

Amazon SageMaker Experiments の統合

Amazon SageMaker Model Building Pipelines は Amazon SageMaker Experiments と密接に統合されています。デフォルトでは、 SageMaker パイプラインを作成して実行すると、以下の 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 に設定します。

注記

Experiments の統合は Amazon SageMaker Python SDK v2.41.0 で導入されました。

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

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

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

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

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

注記

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

パイプラインに関連付けられた SageMaker Experiment エンティティを表示する方法については、「」を参照してください SageMaker Pipelines によって作成された実験エンティティを表示する。 SageMaker Experiments の詳細については、「」を参照してください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": [...] }