

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

# 파이프라인 구성
<a name="pipelines-step-decorator-cfg-pipeline"></a>

SageMaker AI 구성 파일을 사용하여 파이프라인의 기본값을 설정하는 것이 좋습니다. SageMaker AI 구성 파일에 대한 자세한 내용은 [Configuring and using defaults with the SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html#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 AI 구성 파일을 통해서만 전체 파이프라인에 대해 구성할 수 있습니다. 다음과 같이 나열됩니다.
+ `sagemaker_session`(`sagemaker.session.Session`): SageMaker AI가 서비스 직접 호출을 위임하는 기본 SageMaker AI 세션입니다. 지정되지 않은 경우 다음과 같이 기본 구성을 사용하여 세션이 만들어집니다.

  ```
  SageMaker:
    PythonSDK:
      Modules:
        Session:
          DefaultS3Bucket: 'default_s3_bucket'
          DefaultS3ObjectKeyPrefix: 'key_prefix'
  ```
+ `custom_file_filter`(`CustomFileFilter)`: 파이프라인 단계에 포함할 로컬 디렉터리 및 파일을 지정하는 `CustomFileFilter` 객체입니다. 지정되지 않은 경우 이 값은 기본적으로 `None`으로 설정됩니다. `custom_file_filter`를 적용하려면 `IncludeLocalWorkdir`을 `True`로 설정해야 합니다. 다음 예시는 모든 노트북 파일과 `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"
  ```

  `IncludeLocalWorkdir`과 `CustomFileFilter`를 함께 사용하는 방법에 대한 자세한 내용은 [@remote 데코레이터와 함께 모듈식 코드 사용하기](train-remote-decorator-modular.md) 섹션을 참조하세요.
+ `s3_root_uri (str)`: SageMaker AI가 코드 아카이브 및 데이터를 업로드하는 루트 Amazon S3 폴더입니다. 지정되지 않은 경우 기본 SageMaker AI 버킷이 사용됩니다.
+ `s3_kms_key (str)`: 입력 및 출력 데이터를 암호화하는 데 사용되는 키입니다. SageMaker AI 구성 파일에서만 이 인수를 구성할 수 있으며 인수는 파이프라인에 정의된 모든 단계에 적용됩니다. 지정되지 않은 경우 값은 기본적으로 `None`으로 설정됩니다. 예시 S3 KMS 키 구성은 다음 코드 조각을 참조하세요.

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