파이프라인 구성 - Amazon SageMaker

파이프라인 구성

SageMaker 구성 파일을 사용하여 파이프라인의 기본값을 설정하는 것이 좋습니다. SageMaker 구성 파일에 대한 자세한 내용은 Configuring and using defaults with the SageMaker Python SDK를 참조하세요. 구성 파일에 추가된 구성은 파이프라인의 모든 단계에 적용됩니다. 단계에 대한 옵션을 재정의하려면 @step 데코레이터 인수에 새 값을 입력합니다. 다음 주제에서는 구성 파일을 설정하는 방법을 설명합니다.

구성 파일의 @step 데코레이터 구성은 @remote 데코레이터 구성과 동일합니다. 구성 파일에서 파이프라인 역할 ARN 및 파이프라인 태그를 설정하려면 다음 코드 조각에 표시된 Pipeline 섹션을 사용합니다.

SchemaVersion: '1.0' SageMaker: Pipeline: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' Tags: - Key: 'tag_key' Value: 'tag_value'

구성 파일에서 설정할 수 있는 대부분의 기본값의 경우 새 값을 @step 데코레이터에 전달하여 재정의할 수도 있습니다. 예를 들어 다음 예시와 같이 사전 처리 단계의 구성 파일에 설정된 인스턴스 유형을 재정의할 수 있습니다.

@step(instance_type="ml.m5.large") def preprocess(raw_data): df = pandas.read_csv(raw_data) ... return procesed_dataframe

일부 인수는 @step 데코레이터 파라미터 목록에 포함되지 않습니다. 이러한 인수는 SageMaker 구성 파일을 통해서만 전체 파이프라인에 대해 구성할 수 있습니다. 다음과 같이 나열됩니다.

  • sagemaker_session(sagemaker.session.Session): SageMaker가 서비스 직접 호출을 위임하는 기본 SageMaker 세션입니다. 지정되지 않은 경우 다음과 같이 기본 구성을 사용하여 세션이 만들어집니다.

    SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
  • custom_file_filter(CustomFileFilter): 파이프라인 단계에 포함할 로컬 디렉터리 및 파일을 지정하는 CustomFileFilter 객체입니다. 지정되지 않은 경우 이 값은 기본적으로 None으로 설정됩니다. custom_file_filter를 적용하려면 IncludeLocalWorkdirTrue로 설정해야 합니다. 다음 예시는 모든 노트북 파일과 data라는 파일 및 디렉터리를 무시하는 구성을 보여줍니다.

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: # files or directories to ignore - "*.ipynb" # all notebook files - "data" # folder or file named "data"

    IncludeLocalWorkdirCustomFileFilter를 함께 사용하는 방법에 대한 자세한 내용은 @remote 데코레이터와 함께 모듈식 코드 사용하기 섹션을 참조하세요.

  • s3_root_uri (str): SageMaker가 코드 아카이브 및 데이터를 업로드하는 루트 Amazon S3 폴더입니다. 지정되지 않은 경우 기본 SageMaker 버킷이 사용됩니다.

  • s3_kms_key (str): 입력 및 출력 데이터를 암호화하는 데 사용되는 키입니다. SageMaker 구성 파일에서만 이 인수를 구성할 수 있으며 인수는 파이프라인에 정의된 모든 단계에 적용됩니다. 지정되지 않은 경우 값은 기본적으로 None으로 설정됩니다. 예시 S3 KMS 키 구성은 다음 코드 조각을 참조하세요.

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3KmsKeyId: 's3kmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project