아마존 SageMaker 익스페리먼츠 통합 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존 SageMaker 익스페리먼츠 통합

아마존 SageMaker 파이프라인은 아마존 익스페리먼츠와 긴밀하게 통합되어 있습니다 SageMaker . 기본적으로 파이프라인이 파이프라인을 생성하고 실행할 때 존재하지 않는 경우 다음과 같은 SageMaker 실험 개체가 생성됩니다.

  • 파이프라인에 대한 실험

  • 파이프라인의 모든 실행을 위한 실행 그룹

  • 파이프라인 실행 단계에서 생성된 각 SageMaker 작업의 실행 그룹에 추가되는 실행

모델 학습 실험의 여러 실행 그룹에서 이러한 지표를 비교할 수 있는 것처럼 여러 파이프라인 실행 전반에서 SageMaker 모델 학습 정확도와 같은 메트릭을 비교할 수 있습니다.

다음 샘플은 Amazon SageMaker Python에 있는 Pipeline 클래스의 관련 파라미터를 보여줍니다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 사용하여 개체를 삭제할 수 있습니다.

파이프라인과 연결된 SageMaker 실험 개체를 보는 방법에 대한 자세한 내용은 을 참조하십시오파이프라인으로 만든 실험 개체 보기. SageMaker 실험에 대한 자세한 내용은 을 참조하십시오스튜디오 클래식에서의 Amazon 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": [...] }

실험 통합 비활성화

파이프라인 생성

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": [...] }