Amazon SageMaker Experiments の統合 - アマゾン SageMaker

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

Amazon SageMaker Experiments の統合

Amazon SageMaker Model Building Pipelines は Amazon SageMaker Experiments と密接に統合されています。デフォルトでは、 SageMaker Pipelines がパイプラインを作成して実行するときに、次の SageMaker Experments エンティティがないと、エンティティが作成されます。

  • パイプラインの実験

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

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

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

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

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

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

注記

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

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

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

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

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

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

注記

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

SageMaker パイプラインに関連付けられた実験エンティティを表示する方法については、「」を参照してください SageMaker Pipelines によって作成された実験エンティティを表示する。 SageMaker 実験の詳細については、を参照してくださいAmazon SageMaker Experiments を使って機械学習を管理する サポートされている AWS リージョン

以下のセクションでは、ここまでのルールのサンプルと、パイプライン定義ファイルでのルールの記述方法を紹介します。パイプライン定義ファイルの詳細については、「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": [...] }