

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

# 추론 파이프라인을 사용하여 배치 변환
<a name="inference-pipeline-batch"></a>

전체 데이터세트에 대한 추론을 얻으려면 훈련된 모델에서 배치 변환을 실행합니다. 전체 데이터세트에서 추론을 실행하려면 배치 변환 작업에서 실시간 처리를 위해 생성되어 엔드포인트에 배포된 것과 동일한 추론 파이프라인 모델을 사용할 수 있습니다. 파이프라인의 배치 변환 작업을 실행하려면, 입력 데이터를 Amazon S3에서 다운로드하여 하나 이상의 HTTP 요청 시 추론 파이프라인 모델로 전송합니다. 배치 변환을 위한 데이터를 준비하는 방법을 보여주는 예제는 [선형 학습기 샘플 노트북을 사용한 Amazon SageMaker 다중 모델 엔드포인트](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/multi_model_linear_learner_home_value)의 “섹션 2 - Scikit Learn을 사용하여 원시 하우징 데이터 전처리”를 참조하세요. Amazon SageMaker AI 배치 변환 작업에 대한 자세한 내용은 [Amazon SageMaker AI를 사용한 추론용 배치 변환](batch-transform.md) 섹션을 참조하세요.

**참고**  
[Amazon SageMaker AI 기본 제공 알고리즘](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html)이 포함된 파이프라인에서 사용자 지정 Docker 이미지를 사용하려면 [Amazon Elastic Container Registry(Amazon ECR) 정책](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)이 필요합니다. Amazon ECR 리포지토리가 SageMaker AI에 이미지를 풀링할 수 있는 권한을 부여해야 합니다. 자세한 내용은 [추론 파이프라인에 대한 Amazon ECR 권한 문제 해결](inference-pipeline-troubleshoot.md#inference-pipeline-troubleshoot-permissions) 단원을 참조하십시오.

다음 예제는 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)를 사용하여 변환 작업을 실행하는 방법을 보여줍니다. 이 예제에서 `model_name`은 이전 예제에서 생성한 SparkML 및 XGBoost 모델을 결합하는 추론 파이프라인입니다. `input_data_path`로 지정한 Amazon S3 위치에는 다운로드하여 Spark ML 모델로 전송한 CSV 형식의 입력 데이터가 포함되어 있습니다. 변환 작업이 끝나면 `output_data_path`에 의해 지정된 Amazon S3 위치는 XGBoost 모델이 CVS 형식으로 반환한 출력 데이터를 포함합니다.

```
import sagemaker
input_data_path = 's3://{}/{}/{}'.format(default_bucket, 'key', 'file_name')
output_data_path = 's3://{}/{}'.format(default_bucket, 'key')
transform_job = sagemaker.transformer.Transformer(
    model_name = model_name,
    instance_count = 1,
    instance_type = 'ml.m4.xlarge',
    strategy = 'SingleRecord',
    assemble_with = 'Line',
    output_path = output_data_path,
    base_transform_job_name='inference-pipelines-batch',
    sagemaker_session=sagemaker.Session(),
    accept = CONTENT_TYPE_CSV)
transform_job.transform(data = input_data_path, 
                        content_type = CONTENT_TYPE_CSV, 
                        split_type = 'Line')
```