

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

# SageMaker Autopilot
<a name="autopilot-automate-model-development"></a>

**중요**  
2023년 11월 30일부터 Autopilot의 UI는 업데이트된 [Amazon SageMaker Studio](studio-updated.md) 환경의 일부로 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)로 마이그레이션됩니다. SageMaker Canvas는 분석가 및 시민 데이터 과학자에게 데이터 준비, 기능 엔지니어링, 알고리즘 선택, 훈련 및 튜닝, 추론 등과 같은 작업에 대한 코드 없는 기능을 제공합니다. 사용자는 내장된 시각화 및 what-if 분석을 활용하여 자동화된 예측을 통해 모델을 쉽게 프로덕션화할 수 있으므로 데이터와 다양한 시나리오를 탐색할 수 있습니다. Canvas는 컴퓨터 비전, 수요 예측, 지능형 검색 및 생성형 AI를 비롯한 다양한 사용 사례를 지원합니다.  
 [Studio](studio-updated.md)의 이전 경험인 [Amazon SageMaker Studio Classic](studio.md) 사용자는 Studio Classic에서 Autopilot UI를 계속 사용할 수 있습니다. 코딩 경험이 있는 사용자는 기술 구현을 위해 지원되는 모든 SDK에서 모든 [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)를 계속 사용할 수 있습니다.  
지금까지 Studio Classic에서 Autopilot을 사용하고 있고 SageMaker Canvas로 마이그레이션하려는 경우 SageMaker Canvas 애플리케이션을 생성하고 사용할 수 있도록 사용자 프로필 또는 IAM 역할에 추가 권한을 부여해야 할 수 있습니다. 자세한 내용은 [(선택 사항) Studio Classic의 Autopilot에서 SageMaker Canvas로 마이그레이션](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot) 섹션을 참조하세요.  
이 안내서의 모든 UI 관련 지침은 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) 로 마이그레이션하기 전에 Autopilot의 독립 실행형 기능과 관련이 있습니다. 이 지침을 따르는 사용자는 [Studio Classic](studio.md)을 사용해야 합니다.

Amazon SageMaker Autopilot은 기계 학습 모델(AutoML)을 빌드하고 배포하는 프로세스를 자동화함으로써 기계 학습 워크플로의 다양한 단계를 간소화하고 가속화하는 기능 세트입니다. 다음 페이지에서는 Amazon SageMaker Autopilot에 대한 주요 정보를 설명합니다.

Autopilot은 오토파일럿으로 사용하거나 다양한 수준의 인간 지침에 따라 사용할 수 있는 주요 작업을 다음과 같이 수행합니다.
+ **데이터 분석 및 사전 처리:** Autopilot은 특정 문제 유형을 식별하고, 누락된 값을 처리하고, 데이터를 정규화하고, 기능을 선택하고, 모델 훈련에 사용할 데이터를 전체적으로 준비합니다.
+ **모델 선택:** Autopilot은 다양한 알고리즘을 탐색하고 교차 검증 리샘플링 기법을 사용하여 사전 정의된 객관적 지표를 기준으로 알고리즘의 예측 품질을 평가할 지표를 생성합니다.
+ **하이퍼파라미터 최적화:** Autopilot은 최적의 하이퍼파라미터 구성 검색을 자동화합니다.
+ **모델 훈련 및 평가:** Autopilot은 다양한 모델 후보의 훈련 및 평가 프로세스를 자동화합니다. 또한 데이터를 훈련 세트 및 검증 세트로 분할하고, 훈련 데이터를 이용하여 선택된 모델 후보를 훈련시키며, 검증 세트의 보이지 않는 데이터에 대한 성능을 평가합니다. 마지막으로 성능에 따라 최적화된 모델 후보의 순위를 매기고, 성능이 가장 좋은 모델을 식별합니다.
+ **모델 배포:** Autopilot이 성능이 가장 좋은 모델을 식별하고 나면, API를 노출하는 모델 아티팩트 및 엔드포인트를 생성하여 모델을 자동 배포할 수 있는 옵션을 제공합니다. 외부 애플리케이션은 이 엔드포인트로 데이터를 전송하고 해당 예측 또는 추론을 수신할 수 있습니다.

Autopilot은 최대 수백 GB의 대규모 데이터세트로 기계 학습 모델을 빌드할 수 있도록 지원합니다.

다음 다이어그램은 Autopilot으로 관리되는 이 AutoML 프로세스의 작업을 요약한 내용입니다.

![\[Amazon SageMaker Autopilot AutoML 프로세스의 개요.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/Autopilot-process-graphic-1.png)


기계 학습 프로세스에 대한 숙련도 및 코딩 경험에 따라 Autopilot을 다음과 같이 다양한 방식으로 사용할 수 있습니다.
+ **Studio Classic UI를 사용하면** 사용자는 코드 없는 환경 중에서 선택하거나 일정 수준의 인적 입력이 있을 수 있습니다.
**참고**  
회귀 또는 분류 등의 문제 유형에 대한 표 형식 데이터로 생성한 실험만 Studio Classic UI를 통해 사용할 수 있습니다.
+ **AutoML API를 사용하면** 코딩 경험이 있는 사용자가 사용 가능한 SDKs 사용하여 AutoML 작업을 생성할 수 있습니다. 이 접근 방식은 유연성과 사용자 지정 옵션을 높이고 모든 문제 유형에 사용할 수 있습니다.

Autopilot은 현재 다음의 문제 유형을 지원합니다.

**참고**  
표 형식 데이터와 관련 있는 회귀 또는 분류 문제의 경우 사용자는 2가지 옵션, 즉 Studio Classic 사용자 인터페이스 또는 [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html) 중 하나를 선택할 수 있습니다.  
텍스트 및 이미지 분류, 시계열 예측, 대형 언어 모델 미세 조정과 같은 작업은 2 버전의 [AutoML REST API](autopilot-reference.md)를 통해서만 사용할 수 있습니다. 선택한 언어가 Python인 경우 Amazon SageMaker Python SDK의 [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) 또는 [AutoMLV2 객체](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)를 직접 참조할 수 있습니다.  
편리한 사용자 인터페이스를 선호하는 사용자는 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)를 사용하여 사전 훈련된 모델, 생성형 AI 기반 모델에 액세스하거나 특정 텍스트, 이미지 분류 또는 예측 요구 또는 생성형 AI에 맞춘 사용자 지정 모델을 생성할 수 있습니다.
+ **회귀, 바이너리 및 멀티클래스 분류** CSV 파일 또는 Parquet 파일 형식의 표 형식 데이터를 사용합니다. 여기서 각 열에는 특정 데이터 유형을 갖춘 특성이 포함되고, 각 행에는 관측치가 포함됩니다. 허용되는 열 데이터 유형에는 쉼표로 구분된 숫자의 문자열로 구성된 숫자열, 범주열, 텍스트열 및 시계열이 포함됩니다.
  + SageMaker API 참조를 사용하여 Autopilot 작업을 파일럿 실험으로 만들려면 [AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성](autopilot-automate-model-development-create-experiment.md) 섹션을 참조하세요.
  + Studio UI를 사용하여 Autopilot 작업을 파일럿 실험으로 만들려면 [Studio Classic UI를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 Autopilot 실험 생성](autopilot-automate-model-development-create-experiment-ui.md) 섹션을 참조하세요.
  + Studio Classic UI에서 Autopilot 실험의 기본 인프라, 네트워킹 또는 보안 파라미터를 사전 구성하려는 관리자는 [Autopilot 실험의 기본 파라미터 구성하기(관리자용)](autopilot-set-default-parameters-create-experiment.md) 섹션을 참조하세요.
+ **텍스트 분류** CSV 파일 또는 Parquet 파일 형식의 데이터를 사용합니다. 한 열에서는 분류해야 할 문장을 제공하고, 다른 열에서는 해당 클래스 레이블을 제공합니다. [API를 사용하여 텍스트 분류를 위한 AutoML 작업 생성](autopilot-create-experiment-text-classification.md)을(를) 참조하세요.
+ PNG, JPEG 같은 이미지 형식 또는 이 둘을 합친 형식을 이용한 **이미지 분류**. [AutoML API를 사용하여 이미지 분류 작업 생성](autopilot-create-experiment-image-classification.md) 섹션을 참조하세요.
+ CSV 파일 또는 Parquet 파일 형식의 **시계열 예측**. [API를 사용하여 시계열 예측을 위한 AutoML 작업 생성](autopilot-create-experiment-timeseries-forecasting.md) 섹션을 참조하세요.
+ CSV 파일 또는 Parquet 파일 형식의 데이터를 이용한 **텍스트 생성** 대규모 언어 모델(LLM) 미세 조정. [API를 사용하여 텍스트 생성 모델을 미세 조정하는 AutoML 작업 생성](autopilot-create-experiment-finetune-llms.md) 섹션을 참조하세요.

또한 Autopilot은 각 개별 기능의 중요성을 보여주는 보고서를 자동 생성하여, 사용자가 모델의 예측 수행 방식을 이해할 수 있도록 도와 줍니다. 이로써 예측에 영향을 미치는 요인에 대한 명료성과 통찰력을 얻을 수 있습니다. 이러한 명료성과 통찰력은 위험 팀 및 규정 준수 팀과 외부 규제 기관에서 사용할 수 있습니다. 뿐만 아니라 Autopilot은 평가 지표 요약, 혼동 행렬, 다양한 시각화(예: 수신기 작동 특성 곡선, 정밀 재현률 곡선 등)를 포함하는 모델 성능 보고서도 제공합니다. 각 보고서의 구체적인 내용은 Autopilot 실험의 문제 유형에 따라 달라집니다.

Autopilot 환경에서 가장 적합한 모델 후보에 대한 설명 가능성 및 성능 보고서는 텍스트, 이미지 및 테이블 형식 데이터 분류 문제 유형에 대해 사용할 수 있습니다.

Autopilot은 회귀 또는 분류 등 표 형식 데이터 사용 사례에 대해 데이터를 탐색하고 성능이 가장 좋은 모델을 찾는 데 사용할 코드가 포함된 노트북을 생성하여, 데이터 정렬 방식 및 모델 후보를 선택, 훈련 및 튜닝한 방법을 추가적으로 시각화합니다. 이 노트북들은 다양한 입력의 영향이나 여러 실험에서 이루어진 균형을 파악하는 데 도움이 될 대화형 탐색 환경을 제공합니다. Autopilot에서 제공하는 데이터 탐색 노트북 및 후보 정의 노트북을 직접 수정하여 더 우수한 성능의 모델 후보를 계속 실험해 볼 수 있습니다.

Amazon SageMaker AI에서는 사용한 만큼만 비용을 지불하면 됩니다. 사용량에 따라 SageMaker AI 또는 기타 AWS 서비스 내의 기본 컴퓨팅 및 스토리지 리소스에 대한 비용을 지불합니다. SageMaker AI 사용 비용에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing)을 참조하세요.

**Topics**
+ [AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성](autopilot-automate-model-development-create-experiment.md)
+ [AutoML API를 사용하여 이미지 분류 작업 생성](autopilot-create-experiment-image-classification.md)
+ [API를 사용하여 텍스트 분류를 위한 AutoML 작업 생성](autopilot-create-experiment-text-classification.md)
+ [API를 사용하여 시계열 예측을 위한 AutoML 작업 생성](autopilot-create-experiment-timeseries-forecasting.md)
+ [API를 사용하여 텍스트 생성 모델을 미세 조정하는 AutoML 작업 생성](autopilot-create-experiment-finetune-llms.md)
+ [Studio Classic UI를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 Autopilot 실험 생성](autopilot-automate-model-development-create-experiment-ui.md)
+ [Amazon SageMaker Autopilot 예제 노트북](autopilot-example-notebooks.md)
+ [비디오: Autopilot을 사용한 기계 학습 프로세스 자동화 및 탐색](autopilot-videos.md)
+ [Autopilot 할당량](autopilot-quotas.md)
+ [Autopilot을 위한 API 참조 가이드](autopilot-reference.md)

# AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성
<a name="autopilot-automate-model-development-create-experiment"></a>

Autopilot 또는 AWS CLI에서 지원하는 모든 언어로 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API를 호출하여 프로그래밍 방식으로 테이블 형식 데이터용 Autopilot 회귀 또는 분류 작업을 생성할 수 있습니다. 다음은 `CreateAutoMLJobV2` API 작업에 대한 필수 및 선택적 입력 요청 파라미터 모음입니다. 이 작업 `CreateAutoMLJob`의 이전 버전에 대한 대체 정보를 확인할 수 있습니다. 그러나 `CreateAutoMLJobV2` 사용을 권장합니다.

이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 `CreateAutoMLJobV2`의 [추가 참고 사항](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) 섹션 및 SDK 선택을 참조하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)`의 전체 요청 구문을 참조하세요.

**참고**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)와 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)는 이전 버전과의 호환성을 제공하는 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) 및 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)의 새 버전입니다.  
`CreateAutoMLJobV2`를 사용하는 것이 좋습니다. `CreateAutoMLJobV2`는 바이너리 버전인 `CreateAutoMLJob`과 동일한 표 형식 문제 유형은 물론 이미지 또는 텍스트 분류, 시계열 예측과 같은 표 형식이 아닌 문제 유형도 관리할 수 있습니다.

최소한 테이블 형식의 데이터에 대한 모든 실험에는 실험 이름의 사양, 입력 및 출력 데이터의 위치 제공, 예측할 대상 데이터 지정이 필요합니다. 선택 사항으로, 해결하려는 문제의 유형을 지정하고(회귀, 분류, 멀티클래스 분류) 모델링 전략(*누적 앙상블* 또는 *하이퍼파라미터 최적화*)을 선택하고 Autopilot 작업에서 데이터를 훈련하는 데 사용하는 알고리즘 목록을 선택하는 등의 작업을 수행할 수 있습니다.

 실험 실행 후에는 여러 시험을 비교하고 각 모델의 사전 처리 단계, 알고리즘 및 하이퍼파라미터 범위에 대한 세부 정보를 자세히 살펴볼 수 있습니다. [설명가능성](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html) 및 [성능](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html) 보고서를 다운로드할 수 있는 옵션도 있습니다. 제공된 [노트북](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )을 사용하여 자동화된 데이터 탐색 결과 또는 후보 모델 정의를 확인합니다.

[CreateAutomlJob을 CreateAutoMLJobV2로 마이그레이션하기](#autopilot-create-experiment-api-migrate-v1-v2)에서 `CreateAutoMLJob`을 `CreateAutoMLJobV2`로 마이그레이션하는 방법에 대한 지침을 확인하세요.

## 필수 파라미터
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

테이블 형식 데이터용 Autopilot 실험을 생성하기 위해 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)`을 호출할 때는 다음 값을 제공해야 합니다.
+ 작업 이름을 지정하기 위한 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`.
+ 데이터 소스를 지정하려면 `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`에서 하나 이상의 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`.
+ `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` 지표 및 `AutoMLProblemTypeConfig`으로 선택한 지도 학습 문제 유형(바이너리 분류, 멀티클래스 분류, 회귀)을 모두 포함하거나 아예 포함하지 않을 수도 있습니다. 테이블 형식 데이터의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 유형으로 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`을 선택해야 합니다. `TabularJobConfig`의 `ProblemType` 속성에 지도 학습 문제를 설정합니다.
+ AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`.
+ 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`.

------
#### [ CreateAutoMLJob ]

AutoML 실험을 생성하기 위한 `[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)`을 호출할 때는 다음과 같은 네 가지 값을 제공해야 합니다.
+ 작업 이름을 지정하기 위한 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)`.
+ 데이터 소스를 지정하려면 `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)`에서 하나 이상의 `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)`.
+ AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`.
+ 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`.

------

다른 모든 파라미터는 선택 사항입니다.

## 선택적 파라미터
<a name="autopilot-create-experiment-api-optional-params"></a>

다음 섹션에서는 테이블 형식 데이터를 사용할 때 `CreateAutoMLJobV2` API 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대한 세부 정보를 제공합니다. 이 작업 `CreateAutoMLJob`의 이전 버전에 대한 대체 정보를 확인할 수 있습니다. 그러나 `CreateAutoMLJobV2` 사용을 권장합니다.

### AutoML 작업의 훈련 모드를 설정하는 방법
<a name="autopilot-set-training-mode"></a>

테이블 형식 데이터의 경우 모델 후보를 훈련시키기 위해 데이터에서 실행되는 알고리즘 세트는 모델링 전략(`ENSEMBLING` 또는 `HYPERPARAMETER_TUNING`)에 따라 달라집니다. 다음에서는 이 훈련 모드를 설정하는 방법을 자세히 설명합니다.

공백(또는`null`)으로 유지하면 데이터세트의 크기를 기반으로 `Mode`를 추론합니다.

Autopilot의 누적 앙상블 및 하이퍼파라미터 최적화 훈련 방법에 대한 자세한 내용은 [훈련 모드 및 알고리즘 지원](autopilot-model-support-validation.md)을 참조하세요.****

------
#### [ CreateAutoMLJobV2 ]

테이블 형식 데이터의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 유형으로 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`을 선택해야 합니다.

`[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 파라미터를 사용하여 AutoML 작업 V2의 [훈련 방법](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)을 설정할 수 있습니다.

------
#### [ CreateAutoMLJob ]

`[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)` 파라미터를 사용하여 AutoML 작업의 [훈련 방법](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)을 설정할 수 있습니다.

------

### AutoML 작업 훈련을 위한 기능 및 알고리즘 선택 방법
<a name="autopilot-feature-selection"></a>

#### 기능 선택
<a name="autopilot-automl-job-feature-selection-api"></a>

Autopilot은 기능 선택 및 기능 추출을 포함한 자동 데이터 사전 처리 단계를 제공합니다. 하지만 `FeatureSpecificatioS3Uri` 속성과 함께 훈련에 사용할 기능을 수동으로 제공할 수도 있습니다.

선택한 기능은 JSON 파일에 다음 형식으로 포함되어야 합니다.

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

`["col1", "col2", ...]`에 나열된 값은 대소문자를 구분합니다. 입력 데이터에 있는 열 이름의 서브셋인 고유한 값을 포함하는 문자열 목록이어야 합니다.

**참고**  
기능으로 제공된 열 목록에는 대상 열을 포함할 수 없습니다.

------
#### [ CreateAutoMLJobV2 ]

테이블 형식 데이터의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 유형으로 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`을 선택해야 합니다.

`[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 파라미터를 사용하여 선택한 기능의 URL을 설정할 수 있습니다.

------
#### [ CreateAutoMLJob ]

[CreateAutomlJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) API 내에서 다음과 같은 형식으로 [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)의 `FeatureSpecificatioS3Uri` 속성을 설정할 수 있습니다.

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### 알고리즘 선택
<a name="autopilot-automl-job-algorithms-selection-api"></a>

기본적으로 Autopilot 작업은 데이터세트에서 사전 정의된 알고리즘 목록을 실행하여 모델 후보를 학습시킵니다. 알고리즘 목록은 작업에 사용되는 훈련 모드(`ENSEMBLING`또는`HYPERPARAMETER_TUNING`)에 따라 달라집니다.

알고리즘 기본 선택 사항의 서브셋을 제공할 수 있습니다.

------
#### [ CreateAutoMLJobV2 ]

테이블 형식 데이터의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 유형으로 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`을 선택해야 합니다.

[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)의 `AlgorithmsConfig` 속성에서 선택한 `AutoMLAlgorithms`의 배열을 지정할 수 있습니다.

다음은 앙상블 훈련 모드에서 `AutoMLAlgorithms` 필드의 세 가지 알고리즘(“xgboost”, “fastai”, “catboost”)을 정확히 나열하는 `AlgorithmsConfig` 속성의 예입니다.

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

[AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)의 `AlgorithmsConfig` 속성에서 선택한 `AutoMLAlgorithms`의 배열을 지정할 수 있습니다.

다음은 앙상블 훈련 모드에서 `AutoMLAlgorithms` 필드의 세 가지 알고리즘(“xgboost”, “fastai”, “catboost”)을 정확히 나열하는 `AlgorithmsConfig` 속성의 예입니다.

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

훈련 `Mode`에 따라 사용 가능한 알고리즘 목록은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)을 참조하세요. 각 알고리즘에 대한 자세한 내용은 [훈련 모드 및 알고리즘 지원](autopilot-model-support-validation.md)을 참조하세요.

### AutoML 작업의 훈련 및 검증 데이터세트를 지정하는 방법
<a name="autopilot-data-sources-training-or-validation"></a>

자체 검증 데이터세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot이 데이터세트를 자동으로 분할하도록 할 수 있습니다.

------
#### [ CreateAutoMLJobV2 ]

각 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 개체(필수 파라미터 [AutoMLJobinputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) 참조)에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 값 중 `training` 또는 `validation`으로 설정할 수 있는 `ChannelType`이 있습니다. 데이터 소스를 하나 이상 제공해야 하며 훈련 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다.

데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.
+ **데이터 소스가 하나**뿐인 경우 `ChannelType`은 기본적으로 `training`으로 설정되며 이 값을 가져야 합니다.
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)의 `ValidationFraction` 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.
  + `ValidationFraction`을 0과 1 사이의 값으로 설정하면 데이터세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터세트의 비율을 지정합니다.
+ **데이터 소스가 두 개** 있는 경우, `AutoMLJobChannel` 개체 중 하나의 `ChannelType`을 기본값인 `training`으로 설정해야 합니다. 다른 데이터 소스의 `ChannelType`은 `validation`으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 소스의 모든 데이터가 훈련 또는 검증에 사용되므로 이 경우에 `ValidationFraction`에 대한 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

------
#### [ CreateAutoMLJob ]

각 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 개체(필수 파라미터 [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig) 참조)에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 값 중 `training` 또는 `validation`으로 설정할 수 있는 `ChannelType`이 있습니다. 데이터 소스를 하나 이상 제공해야 하며 훈련 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다.

데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.
+ **데이터 소스가 하나**뿐인 경우 `ChannelType`은 기본적으로 `training`으로 설정되며 이 값을 가져야 합니다.
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)의 `ValidationFraction` 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.
  + `ValidationFraction`을 0과 1 사이의 값으로 설정하면 데이터세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터세트의 비율을 지정합니다.
+ **데이터 소스가 두 개** 있는 경우, `AutoMLChannel` 개체 중 하나의 `ChannelType`을 기본값인 `training`으로 설정해야 합니다. 다른 데이터 소스의 `ChannelType`은 `validation`으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 소스의 모든 데이터가 훈련 또는 검증에 사용되므로 이 경우에 `ValidationFraction`에 대한 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

------

Autopilot의 분할 및 교차 검증에 대한 자세한 내용은 [Autopilot에서의 교차 검증](autopilot-metrics-validation.md#autopilot-cross-validation)을 참조하세요.

### AutoML 작업의 문제 유형을 설정하는 방법
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

테이블 형식 데이터의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 유형으로 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`을 선택해야 합니다.

`[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 파라미터를 사용하여 AutoML 작업 V2의 모델 후보에 사용할 수 있는 지도 학습 문제의 유형(바이너리 분류, 멀티클래스 분류, 회귀)을 추가로 지정할 수 있습니다.

------
#### [ CreateAutoMLJob ]

`[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)` 파라미터를 사용하여 AutoML 작업에서 [문제 유형](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types)을 설정할 수 있습니다. 이것은 Autopilot에서 시도하는 사전 처리 및 알고리즘의 종류를 제한합니다. 작업이 완료되고 `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`을 설정하면 `[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)`은 사용자가 설정한 `ProblemType`과 일치하게 됩니다. 이를 공백(또는`null`)으로 유지하면 사용자를 대신하여 `ProblemType`를 추론합니다.

------

**참고**  
경우에 따라 Autopilot이 `ProblemType`을 충분한 신뢰도로 추론할 수 없으며, 이 경우에는 사용자가 값을 제공해야 작업을 성공적으로 수행할 수 있습니다.

### AutoML 작업에 샘플 가중치를 추가하는 방법
<a name="autopilot-add-sample-weights-api"></a>

테이블 형식 데이터세트에 샘플 가중치 열을 추가한 다음 이를 AutoML 작업에 전달하여 훈련 및 평가 중에 데이터세트 행에 가중치를 적용하도록 요청할 수 있습니다.

샘플 가중치에 대한 지원은 [앙상블 모드](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)에서만 사용할 수 있습니다. 가중치는 음수가 아닌 숫자여야 합니다. 가중치 값이 유효하지 않거나 없는 데이터 포인트는 제외됩니다. 사용 가능한 객체 지표에 대한 자세한 내용은 [Autopilot 가중치 지표](autopilot-metrics-validation.md#autopilot-weighted-metrics)을 참조하세요.

------
#### [ CreateAutoMLJobV2 ]

테이블 형식 데이터의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 유형으로 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)`을 선택해야 합니다.

실험을 생성할 때 샘플 가중치를 설정하려면([CreateAutoMLJobv2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) 참조) `TabularJobConfig` 개체의 `SampleWeightAttributeName` 속성에 샘플 가중치 열의 이름을 전달할 수 있습니다. 이렇게 하면 목표 지표에서 모델 후보 훈련, 평가 및 선택의 가중치를 사용할 수 있습니다.

------
#### [ CreateAutoMLJob ]

실험을 생성할 때 샘플 가중치를 설정하려면([CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) 참조) [AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 개체의 `SampleWeightAttributeName` 속성에 샘플 가중치 열의 이름을 전달할 수 있습니다. 이렇게 하면 목표 지표에서 모델 후보 훈련, 평가 및 선택의 가중치를 사용할 수 있습니다.

------

### 대규모 데이터세트에 대해 EMR Serverless에서 원격 작업을 시작하도록 AutoML을 구성하는 방법
<a name="autopilot-set-emr-serverless-api-tabular"></a>

대용량 데이터세트를 처리하는 데 추가 컴퓨팅 리소스가 필요할 때 Amazon EMR Serverless에서 원격 작업을 자동으로 시작하도록 AutoML 작업 V2를 구성할 수 있습니다. 필요한 경우 EMR Serverless로 원활하게 전환하면 AutoML 작업은 사용자의 수동 개입 없이 처음에 프로비저닝된 리소스를 초과하는 데이터세트를 처리할 수 있습니다. EMR Serverless는 테이블 형식 및 시계열 문제 유형에 사용할 수 있습니다. 5GB보다 큰 테이블 형식 데이터세트의 경우 이 옵션을 설정하는 것이 좋습니다.

AutoML 작업 V2가 대규모 데이터세트의 경우 EMR Serverless로 자동으로 전환되도록 하려면 AutoML 작업 V2 입력 요청의 `AutoMLComputeConfig`에 `ExecutionRoleARN` 필드가 포함된 `EmrServerlessComputeConfig` 객체를 제공해야 합니다.

`ExecutionRoleARN` 는 EMR Serverless 작업을 실행하는 데 필요한 권한을 AutoML 작업 V2에 부여하는 IAM 역할의 ARN입니다.

이 역할은 다음과 같은 신뢰 관계를 맺고 있어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

그리고 다음에 대한 권한을 부여합니다.
+ EMR Serverless 애플리케이션을 생성, 나열 및 업데이트합니다.
+ EMR Serverless 애플리케이션에서 작업 실행을 시작, 나열, 가져오기 또는 취소합니다.
+ EMR Serverless 리소스에 태그를 지정합니다.
+ 실행을 위해 IAM 역할을 EMR Serverless 서비스에 전달합니다.

  `iam:PassRole` 권한을 부여하면 AutoML 작업 V2가 일시적으로 `EMRServerlessRuntimeRole-*` 역할을 수임하여 EMR Serverless 서비스에 전달할 수 있습니다. 이는 EMR Serverless 작업 실행 환경에서 데이터 액세스를 위한 Amazon S3, 로깅을 위한 CloudWatch, AWS Glue 데이터 카탈로그에 대한 액세스 또는 워크로드 요구 사항에 따른 기타 AWS 서비스와 같이 런타임 중에 필요한 다른 서비스 및 리소스에 액세스하는 데 사용하는 IAM 역할입니다.

  이 [역할 권한에 대한 자세한 내용은 Amazon EMR Serverless의 작업 런타임](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) 역할을 참조하세요.

제공된 JSON 문서에 정의된 IAM 정책은 다음과 같은 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## CreateAutomlJob을 CreateAutoMLJobV2로 마이그레이션하기
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

`CreateAutoMLJob` 사용자는 `CreateAutoMLJobV2`로 마이그레이션하는 것이 좋습니다.

이 섹션에서는 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax)과 [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) 간 입력 파라미터 차이점을 설명하며 입력 요청 객체 및 속성의 위치, 이름, 구조의 두 버전 간 변경 사항을 강조합니다.
+ **버전 간 변경 사항이 없는 속성을 요청합니다.**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **버전 간 위치 및 구조를 변경한 속성을 요청합니다.**

  `DataSplitConfig`, `Security Config`, `CompletionCriteria`, `Mode`, `FeatureSpecificationS3Uri`, `SampleWeightAttributeName`, `TargetAttributeName` 속성은 위치를 변경했습니다.

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **다음 속성은 버전 간 위치 및 구조를 변경했습니다.**

  다음 JSON은 어떻게 유형 [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)의 [AutoMLJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)가 V2에서 유형 [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)의 [AutoMLProblemTypeConfig.TabularJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)로 이동했는지 보여줍니다.

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **이름 및 구조를 변경한 속성을 요청합니다.**

  다음 JSON은 어떻게 [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 배열)가 V2에서 [AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)([AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 배열)로 변경되었는지 보여줍니다. 속성 `SampleWeightAttributeName` 및 `TargetAttributeName`은 `InputDataConfig`에서 나와 `AutoMLProblemTypeConfig`로 이동합니다.

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------

# Autopilot 데이터세트 및 문제 유형
<a name="autopilot-datasets-problem-types"></a>

테이블 형식 데이터 (즉, 각 열에 특정 데이터 유형의 특징이 포함되고 각 행에는 관측치가 포함된 데이터) 의 경우, Autopilot은 AutoML 작업의 모델 후보에 사용할 수 있는 지도 학습 문제 유형 (예: 바이너리 분류 또는 회귀) 을 지정하거나 사용자가 제공한 데이터를 기반으로 사용자를 대신하여 탐지할 수 있는 옵션을 제공합니다. Autopilot은 여러 데이터 형식과 데이터 유형도 지원합니다.

**Topics**
+ [Autopilot 데이터세트, 데이터 유형 및 형식](#autopilot-datasets)
+ [Autopilot 문제 유형](#autopilot-problem-types)

## Autopilot 데이터세트, 데이터 유형 및 형식
<a name="autopilot-datasets"></a>

Autopilot은 CSV 파일 또는 Parquet 파일 형식의 테이블 형식 데이터를 지원합니다. 각 열에는 특정 데이터 유형의 기능이 포함되고 각 행에는 관측값이 포함됩니다. 이 두 파일 형식의 속성은 상당히 다릅니다.
+ **CSV**(쉼표로 구분된 값)는 사람이 읽을 수 있는 일반 텍스트로 데이터를 저장하는 행 기반 파일 형식으로, 다양한 범위의 애플리케이션에서 지원되므로 데이터 교환에 널리 사용됩니다.
+ **Parquet**는 행 기반 파일 형식보다 데이터를 더 효율적으로 저장하고 처리하는 열 기반 파일 형식입니다. 따라서 빅 데이터 문제에 더 나은 옵션입니다.

열에 허용되는 **데이터 유형**에는 쉼표로 구분된 숫자 문자열로 구성된 숫자, 범주, 텍스트 및 시계열이 포함됩니다. [Autopilot이 **시계열** 시퀀스를 처리하는 것을 감지하면 tsfresh 라이브러리에서 제공하는 특수 기능 변환기를 통해 데이터를 처리합니다.](https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html) 이 라이브러리는 시계열을 입력으로 받아 시계열의 최대 절대값 또는 자기상관에 대한 설명 통계와 같은 특징을 출력합니다. 이렇게 출력된 기능은 세 가지 문제 유형 중 하나에 대한 입력으로 사용됩니다.

Autopilot은 최대 수백 GB의 대규모 데이터세트를 기반으로 기계 학습 모델을 구축할 수 있도록 지원합니다. 입력 데이터세트의 기본 리소스 한도 및 이를 늘리는 방법에 대한 자세한 내용은 [Autopilot 할당량](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html)을 참조하세요.

## Autopilot 문제 유형
<a name="autopilot-problem-types"></a>

테이블 형식 데이터의 경우 다음과 같이 모델 후보에 사용할 수 있는 지도 학습 문제의 유형을 추가로 지정합니다.

### 회귀
<a name="autopilot-automate-model-development-problem-types-regression"></a>

회귀는 상관 관계가 있는 하나 이상의 다른 변수 또는 속성을 기반으로 종속 대상 변수의 값을 추정합니다. 예를 들어 욕실 및 침실 수, 주택 및 정원의 평방 피트와 같은 특징을 사용하여 주택 가격을 예측합니다. 회귀 분석을 통해 이들 특징 중 하나 이상을 입력으로 사용하는 모델을 만들고 주택 가격을 예측할 수 있습니다.

### 바이너리 분류
<a name="autopilot-automate-model-development-problem-types-binary-classification"></a>

바이너리 분류는 속성에 따라 미리 정의되고 상호 배타적인 두 클래스 중 하나에 개인을 할당하는 감독 학습의 한 유형입니다. 올바르게 레이블이 지정된 객체가 있는 속성을 제공하는 예제를 사용하여 모델이 훈련되므로 지도가 가능합니다. 진단 테스트의 결과에 기반하여 개인이 질병을 갖고 있는지 여부에 대한 의학적 진단은 바이너리 분류의 예입니다.

### 멀티클래스 분류
<a name="autopilot-automate-model-development-problem-types-multiclass-classification"></a>

멀티클래스 분류는 속성에 따라 여러 클래스 중 하나에 개인을 할당하는 감독 학습의 한 유형입니다. 올바르게 레이블이 지정된 객체가 있는 속성을 제공하는 예제를 사용하여 모델이 훈련되므로 지도가 가능합니다. 예를 들어 텍스트 문서와 가장 관련성이 높은 주제를 예측합니다. 문서는 종교, 정치, 금융 또는 다양한 사전 정의된 주제 클래스 중 하나에 대한 것으로 분류될 수 있습니다.

# 훈련 모드 및 알고리즘 지원
<a name="autopilot-model-support-validation"></a>

Autopilot은 머신 러닝 문제를 해결하고, 품질 및 객관적 지표에 대해 보고하고, 필요할 때 교차 검증을 자동으로 사용할 수 있도록 다양한 훈련 모드와 알고리즘을 지원합니다.

## 훈련 모드
<a name="autopilot-training-mode"></a>

SageMaker Autopilot은 데이터세트 크기를 기반으로 훈련 방법을 자동으로 선택하거나 수동으로 선택할 수 있습니다. 다음과 같은 옵션이 있습니다.
+ **앙상블** - Autopilot은 [AutoGluon](https://auto.gluon.ai/scoredebugweight/tutorials/tabular_prediction/index.html) 라이브러리를 사용하여 여러 기본 모델을 훈련합니다. 데이터세트에 가장 적합한 조합을 찾기 위해 앙상블 모드에서는 다양한 모델 및 메타 파라미터 설정을 사용하여 10회의 시험을 실행합니다. 그런 다음 Autopilot은 적층 앙상블 방법을 사용하여 이러한 모델을 결합하여 최적의 예측 모델을 생성합니다. 테이블 형식 데이터에 대한 앙상블 모드에서 Autopilot이 지원하는 알고리즘 목록은 다음 **알고리즘 지원** 섹션을 참조하세요.
+ **하이퍼파라미터 최적화 (HPO)** - Autopilot은 데이터세트에서 훈련 작업을 실행하는 동안 베이지안 최적화 또는 다중 충실도 최적화를 사용하여 하이퍼파라미터를 조정하여 모델의 최적 버전을 찾습니다. HPO 모드는 데이터세트와 가장 관련이 있는 알고리즘을 선택하고 모델을 조정하는 데 가장 적합한 하이퍼파라미터 범위를 선택합니다. 모델을 조정하기 위해 HPO 모드에서는 최대 100회의 시도(기본값)를 실행하여 선택한 범위 내에서 최적의 하이퍼파라미터 설정을 찾습니다. 데이터세트 크기가 100MB 미만인 경우 Autopilot은 베이지안 최적화를 사용합니다. Autopilot은 데이터세트가 100MB를 초과하는 경우 다중 충실도 최적화를 선택합니다.

  다중 충실도 최적화에서는 훈련 컨테이너에서 지표를 지속적으로 내보냅니다. 선택한 목표 지표에 대해 성능이 좋지 않은 시험은 조기에 중단됩니다. 성과가 좋은 시험에는 더 많은 리소스가 할당됩니다.

  HPO 모드에서 Autopilot이 지원하는 알고리즘 목록은 다음 **알고리즘 지원** 섹션을 참조하세요.
+ **자동** - Autopilot은 데이터세트 크기에 따라 앙상블링 모드 또는 HPO 모드를 자동으로 선택합니다. 데이터세트가 100MB를 초과하는 경우 Autopilot은 HPO를 선택합니다. 그렇지 않으면 앙상블 모드를 선택합니다. 다음과 같은 경우 Autopilot이 데이터세트 크기를 읽지 못할 수 있습니다.
  + AutoML 작업에 대해 VPC(Virtual Private Cloud) 모드를 활성화한 경우 데이터세트를 포함하는 S3 버킷은 VPC에서의 액세스만 허용합니다.
  + 데이터세트의 입력 [S3DataType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3DataType)은 `ManifestFile`입니다.
  + 입력 [S3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html#sagemaker-Type-AutoMLS3DataSource-S3Uri)에는 1000개 이상의 항목이 포함되어 있습니다.

  Autopilot이 데이터세트 크기를 읽을 수 없는 경우 기본적으로 HPO 모드를 선택합니다.

**참고**  
최적의 런타임과 성능을 위해 100MB 미만의 데이터세트에는 앙상블 훈련 모드를 사용합니다.

## 알고리즘 지원
<a name="autopilot-algorithm-support"></a>

**HPO 모드**에서 Autopilot은 다음과 같은 유형의 기계 학습 알고리즘을 지원합니다.
+  [선형 학습기](https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html) - 분류 또는 회귀 문제를 해결할 수 있는 지도 학습 알고리즘입니다.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) – 그라디언트 부스팅은 더욱 단순하고 약한 모델 세트의 추정치의 앙상블을 결합하여 대상 변수를 정확하게 예측하려 시도하는 지도 학습 알고리즘입니다.
+ 딥 러닝 알고리즘 - 다중 계층 퍼셉트론(MLP) 및 피드포워드 인공 신경망입니다. 이 알고리즘은 선형적으로 분리할 수 없는 데이터를 처리할 수 있습니다.

**참고**  
기계 학습 문제에 사용할 알고리즘을 지정할 필요가 없습니다. Autopilot은 학습에 적합한 알고리즘을 자동으로 선택합니다.

**앙상블링 모드**에서 Autopilot은 다음과 같은 유형의 기계 학습 알고리즘을 지원합니다.
+ [LightGBM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html) - 그라디언트 부스팅과 함께 트리 기반 알고리즘을 사용하는 최적의 프레임워크입니다. 이 알고리즘은 깊이가 아닌 폭이 커지고 속도에 고도로 최적화된 트리를 사용합니다.
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html) - 그라디언트 부스팅과 함께 트리 기반 알고리즘을 사용하는 프레임워크입니다. 범주형 변수를 처리하도록 최적화되었습니다.
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) - 폭이 아닌 깊이가 증가하는 그라디언트 부스팅과 함께 트리 기반 알고리즘을 사용하는 프레임워크입니다.
+ [랜덤 포레스트](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html) - 대체물이 있는 데이터의 무작위 하위 샘플에 여러 가지 결정 트리를 사용하는 트리 기반 알고리즘입니다. 트리는 각 수준에서 최적의 노드로 분할됩니다. 각 트리의 결정을 함께 평균화하여 과적합을 방지하고 예측을 개선합니다.
+ [추가 트리](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier) - 전체 데이터세트에서 여러 가지 결정 트리를 사용하는 트리 기반 알고리즘입니다. 트리는 각 수준에서 무작위로 분할됩니다. 각 트리의 결정을 평균화하여 과적합을 방지하고 예측을 개선합니다. 랜덤 포레스트 알고리즘에 비해 추가 트리는 어느 정도의 무작위성을 높입니다.
+ [선형 모델](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model) - 선형 방정식을 사용하여 관측 데이터의 두 변수 간 관계를 모델링하는 프레임워크입니다.
+ 신경망 torch - [Pytorch](https://pytorch.org/)를 사용하여 구현된 신경망 모델입니다.
+ 신경망 fast.ai - [fast.ai](https://www.fast.ai/)를 사용하여 구현된 신경망 모델입니다.

# 지표 및 검증
<a name="autopilot-metrics-validation"></a>

이 가이드에서는 기계 학습 모델 성능을 측정하는 데 사용할 수 있는 지표와 검증 기법을 보여줍니다. Amazon SageMaker Autopilot은 기계 학습 모델 후보의 예측 품질을 측정하는 지표를 생성합니다. 후보에 대해 계산된 지표는 [MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) 유형의 배열을 사용하여 지정됩니다.

## Autopilot 지표
<a name="autopilot-metrics"></a>

다음 목록에는 Autopilot 내에서 현재 모델 성능을 측정하는 데 사용할 수 있는 지표 이름이 포함되어 있습니다.

**참고**  
Autopilot은 샘플 가중치를 지원합니다. 샘플 가중치 및 사용 가능한 객관적 지표에 대한 자세한 내용은 [Autopilot 가중치 지표](#autopilot-weighted-metrics)를 참조하세요.

사용할 수 있는 지표는 아래와 같습니다.

**`Accuracy`**  
 전체 (올바르게 및 잘못) 분류된 항목 수 대비 올바르게 분류된 항목 수의 비율입니다. 바이너리 분류와 멀티클래스 분류 모두에 사용됩니다. 정확도는 예측된 클래스 값이 실제 값에 얼마나 가까운지를 측정합니다. 정확도 지표의 값은 0에서 1 사이입니다. 값 1은 완벽한 정확도를 나타내고, 0은 완벽한 부정확도를 나타냅니다.

**`AUC`**  
 곡선 아래 면적(AUC) 지표는 로지스틱 회귀와 같이 확률을 반환하는 알고리즘에 따른 바이너리 분류를 비교하고 평가하는 데 사용됩니다. 확률을 분류에 매핑하기 위해 이들을 임계값과 비교합니다.  
관련 곡선은 수신기 작동 특성 곡선입니다. 이 곡선은 예측(또는 재현율)의 진양성 비율(TPR)과 위양성 비율(FPR)을 임계값의 함수로 나타내며, 임계값을 초과하면 양성 예측으로 간주됩니다. 임계값을 높이면 위양성은 줄어들지만 위음성은 더 많아집니다.  
AUC는 이 수신기 작동 특성 곡선 아래의 면적입니다. 따라서 AUC는 가능한 모든 분류 임계값에 걸쳐 모델 성능을 집계하여 측정합니다. AUC 점수는 0과 1 사이입니다. 1점은 완벽한 정확도를 나타내고, 0.5점은 예측이 무작위 분류기보다 우수하지 않음을 나타냅니다.

**`BalancedAccuracy`**  
`BalancedAccuracy`는 모든 예측에 대비한 정확한 예측의 비율을 측정하는 지표입니다. 이 비율은 양성(P) 값와 음성(N) 값의 갯수의 합계로 진양성(TP) 및 진음성(TN)을 정규화한 후 계산됩니다. 이 값은 바이너리 및 멀티클래스 분류에 모두 사용되며 0.5\$1 ((TP/P) \$1 (TN/N))로 정의되며 값은 0에서 1까지의 범위를 갖습니다. 예를 들어 이메일의 1% 만이 스팸인 경우처럼 `BalancedAccuracy`는 불균형한 데이터세트에서 양성 또는 음성의 갯수가 서로 크게 다를 때 정확도를 더 잘 측정할 수 있습니다.

**`F1`**  
`F1` 점수는 정밀도와 재현율의 조화 평균으로, F1 = 2 \$1 (정밀도 \$1 재현율)/(정밀도\$1재현율)로 정의됩니다. 이는 전통적으로 양성과 음성이라고 하는 클래스로 바이너리 분류를 하는 데 사용됩니다. 예측은 실제 (올바른) 클래스와 일치하면 참이고 그렇지 않으면 거짓이라고 합니다.  
정밀도는 모든 긍정적 예측에 대한 진양성 예측의 비율이며, 여기에는 데이터세트의 위양성도 포함됩니다. 정밀도는 양성 클래스를 예측할 때 예측의 품질을 측정합니다.  
재현율(또는 민감도)은 모든 실제 양성 인스턴스에 대한 진양성 예측의 비율입니다. 재현율은 모델이 데이터세트의 실제 클래스 구성원을 얼마나 완벽하게 예측하는지 측정합니다.  
F1 점수는 0과 1 사이입니다. 1점은 가능한 최고의 성과를 나타내고, 0점은 최악을 나타냅니다.

**`F1macro`**  
이 `F1macro` 점수는 F1 점수를 멀티클래스 분류 문제에 적용합니다. 정밀도와 재현율을 계산한 다음 조화 평균을 취해 각 클래스의 F1 점수를 계산합니다. 마지막으로 `F1macro` 점수를 구하기 위해 개별 점수의 `F1macro` 평균을 구합니다. `F1macro` 점수는 0과 1 사이입니다. 1점은 가능한 최고의 성과를 나타내고, 0점은 최악을 나타냅니다.

**`InferenceLatency`**  
추론 지연 시간은 모델 예측을 요청한 후 모델이 배포되는 실시간 엔드포인트에서 수신하기까지 걸리는 대략적인 시간입니다. 이 지표는 초 단위로 측정되며 앙상블 모드에서만 사용할 수 있습니다.

**`LogLoss`**  
교차 엔트로피 손실이라고도 하는 로그 손실은 출력 자체가 아닌 확률 출력의 품질을 평가하는 데 사용되는 지표입니다. 바이너리 분류와 멀티클래스 분류 그리고 신경망 네트 모두에서 사용됩니다. 로지스틱 회귀에 대한 비용 함수이기도 합니다. 로그 손실은 모델이 높은 확률로 잘못된 예측을 하는 경우를 나타내는 중요한 지표입니다. 일반적 값은 0\$1무한대입니다. 값이 0이면 데이터를 완벽하게 예측하는 모델을 나타냅니다.

**`MAE`**  
평균 절대 오차(MAE)는 모든 값에 대해 평균을 구했을 때 예측값과 실제 값의 차이를 측정한 것입니다. MAE는 일반적으로 회귀 분석에서 모델 예측 오류를 이해하는 데 사용됩니다. 선형 회귀의 경우 MAE는 예측선에서 실제 값까지의 평균 거리를 나타냅니다. MAE는 절대 오차의 합계를 관측 숫자로 나눈 값으로 정의됩니다. 값 범위는 0에서 무한대까지이며, 숫자가 작을수록 모델이 데이터에 피팅이 더 좋다는 것을 나타냅니다.

**`MSE`**  
평균 제곱 오차(MSE)는 예측값과 실제 값 간의 차이 제곱의 평균입니다. 이는 회귀 분석에 사용됩니다. MSE 값은 항상 양수입니다. 모델이 실제 값을 더 잘 예측할수록 MSE 값은 작아집니다.

**`Precision`**  
정밀도는 알고리즘이 식별한 모든 양성 중에서 진양성(TP)을 얼마나 잘 예측하는지를 측정합니다. 정밀도는 다음과 같이 정의됩니다. 정밀도 = TP/ (TP\$1FP), 이 값의 범위는 0에서 1 사이이며 바이너리 분류에 사용됩니다. 정확도는 위양성의 비용이 높을 때 중요한 지표입니다. 예를 들어, 비행기 안전 시스템이 비행하기에 안전하다고 잘못 간주되는 경우 위음성으로 인한 비용은 매우 높습니다. 위양성(FP)은 데이터에서 실제로는 음성인데 양성으로 예측하는 것을 반영합니다.

**`PrecisionMacro`**  
정밀도 매크로는 멀티클래스 분류 문제의 정밀도를 계산합니다. 이를 위해 각 클래스의 정밀도를 계산하고 점수를 평균하여 여러 클래스의 정밀도를 구합니다. `PrecisionMacro` 점수의 범위는 0에서 1까지입니다. 점수가 높을수록 모델이 식별한 모든 양성 중에서 True positive(TP)를 예측하는 능력을 나타내며, 여러 클래스에 걸쳐 평균을 냅니다.

**`R2`**  
결정 계수라고도 하는 R2는 회귀 분석에서 모델이 종속 변수의 분산을 얼마나 설명할 수 있는지를 정량화하는 데 사용됩니다. 값의 범위는 1에서 -1까지입니다. 숫자가 높을수록 설명되는 변동성의 비율이 높습니다. `R2` 값이 0에 가까우면 모형으로 설명할 수 있는 종속 변수가 거의 없음을 나타냅니다. 음수 값은 피팅이 안 좋으며 상수 함수가 모델 성능을 능가한다는 것을 나타냅니다. 선형 회귀의 경우 이는 수평선입니다.

**`Recall`**  
재현율은 알고리즘이 데이터세트의 모든 진양성(TP)을 얼마나 정확하게 예측하는지 측정합니다. 진양성은 양성 예측이며 데이터에서 실제 양수이기도 합니다. 재현율은 다음과 같이 정의됩니다. 재현율 = TP/ (TP\$1FN)이고 그 값의 범위는 0에서 1까지입니다. 점수가 높을수록 모델이 데이터의 진양성(TP)을 더 잘 예측할 수 있음을 나타냅니다. 이는 바이너리 분류에 사용됩니다.  
암 검사를 할 때는 재현율이 중요합니다. 이는 진양성을 모두 찾아내는 데 사용되기 때문입니다. 거짓 음성(FP)은 데이터에서 실제로는 참인데 거짓으로 예측하는 것을 반영합니다. 모든 출력값을 진양성으로 예측하면 완벽한 재현율 점수를 얻을 수 있기 때문에 재현율만 측정하는 것으로는 충분하지 않습니다.

**`RecallMacro`**  
`RecallMacro`은 각 클래스의 재현율을 계산하고 점수를 평균하여 여러 클래스에 대한 재현율을 구함으로써 멀티클래스 분류 문제에 대한 재현율을 계산합니다. `RecallMacro` 점수의 범위는 0에서 1까지입니다. 점수가 높을수록 데이터세트의 진양성(TP)을 예측하는 모델의 능력을 나타내며, 진양성은 데이터가 실제 양성이기도 한 양성 예측을 반영합니다. 모든 출력값을 진양성으로 예측하면 완벽한 재현율 점수를 얻을 수 있기 때문에 재현율만 측정하는 것으로는 충분하지 않습니다.

**`RMSE`**  
평균 제곱근 오차(RMSE)는 예측값과 실제 값 간의 차이의 제곱의 제곱근을 측정하며 모든 값에 대해 평균을 구합니다. 이는 회귀 분석에서 모델 예측 오류를 이해하는 데 사용됩니다. 이는 큰 모델 오차와 이상치가 있음을 나타내는 중요한 지표입니다. 값 범위는 0에서 무한대까지이며 숫자가 작을수록 모델이 데이터에 더 적합함을 나타냅니다. RMSE는 규모에 따라 달라지므로 크기가 다른 데이터세트를 비교하는 데 사용해서는 안 됩니다.

모델 후보에 대해 자동으로 계산되는 지표는 해결되는 문제 유형에 따라 결정됩니다.

Autopilot에서 지원하는 사용 가능한 지표 목록은 [ Amazon SageMaker API 참조 설명서](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)를 참조하세요.

## Autopilot 가중치 지표
<a name="autopilot-weighted-metrics"></a>

**참고**  
Autopilot은 `Balanced Accuracy` 및 `InferenceLatency`를 제외하고 [사용 가능한 모든 지표](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics)에 대해서만 앙상블 모드에서 샘플 가중치를 지원합니다. `BalanceAccuracy`는 샘플 가중치가 필요하지 않은 불균형 데이터세트에 대한 자체 가중치 체계를 지원합니다. `InferenceLatency`는 샘플 가중치를 지원하지 않습니다. 모델을 훈련시키고 평가할 때는 목표 `Balanced Accuracy` 및 `InferenceLatency` 지표 모두 기존 샘플 가중치를 무시합니다.

사용자는 데이터에 샘플 가중치 열을 추가하여 기계 학습 모델을 학습시키는 데 사용되는 각 관측치에 모델에서 인지된 중요도에 해당하는 가중치를 부여할 수 있습니다. 이는 데이터세트 내 관측치의 중요도가 다양하거나 데이터세트에서 한 클래스의 샘플 수가 다른 클래스에 비해 불균형하게 많은 경우에 특히 유용합니다. 각 관측치의 중요도에 따라 또는 소수 클래스에 더 큰 중요도를 줌으로써 각 관측치에 가중치를 할당하면 모델의 전반적인 성능을 향상시키거나 모델이 다수 클래스에 치우치지 않도록 할 수 있습니다.

Studio Classic UI에서 실험을 생성할 때 샘플 가중치를 전달하는 방법에 대한 자세한 내용은 [Studio Classic을 사용하여 Autopilot 실험 생성](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)의 *7단계*를 참조하세요.

API를 사용하여 Autopilot 실험을 생성할 때 샘플 가중치를 프로그래밍 방식으로 전달하는 방법에 대한 자세한 내용은 [프로그래밍 방식으로 Autopilot 실험 생성하기](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html)에서 *AutoML 작업에 샘플 가중치를 추가하는 방법*을 참조하세요.

## Autopilot에서의 교차 검증
<a name="autopilot-cross-validation"></a>

교차 검증은 모델 선택 시 오버피팅(overfitting)과 편향을 줄이는 데 사용됩니다. 또한 검증 데이터세트를 동일한 모집단에서 추출한 경우 보이지 않는 검증 데이터세트의 값을 모델이 얼마나 잘 예측할 수 있는지 평가하는 데에도 사용됩니다. 이 방법은 훈련 인스턴스 수가 제한된 데이터세트를 대상으로 훈련시킬 때 특히 중요합니다.

Autopilot은 교차 검증을 사용하여 하이퍼파라미터 최적화(HPO) 및 앙상블 훈련 모드에서 모델을 구축합니다. Autopilot 교차 검증 프로세스의 첫 번째 단계는 데이터를 k- 폴드로 분할하는 것입니다.

### K-폴드 분할
<a name="autopilot-cross-validation-kfold"></a>

K-폴드(K-fold) 분할은 입력 훈련 데이터세트를 여러 훈련 및 검증 데이터세트로 분할하는 방법입니다. 데이터세트는 폴드라고 하는 `k`개의 동일한 크기의 하위 샘플로 분할됩니다. 그런 다음 `k-1` 폴드에 대해 모델을 훈련시키고 검증 데이터세트인 나머지 k번째 폴드에 대해 테스트합니다. 검증을 위해 다른 데이터세트를 사용하여 프로세스를 `k`번 반복합니다.

다음 이미지는 k = 4 폴드를 이용한 k-폴드 분할을 보여줍니다. 각 폴드는 행으로 표시됩니다. 어두운 톤의 상자는 훈련에 사용된 데이터 부분을 나타냅니다. 나머지 밝은 색조 상자는 검증 데이터세트를 나타냅니다.

![\[상자로 표시된 4-폴드를 이용한 K-폴드 분할: 사용된 데이터는 어둡게, 검증 데이터세트는 밝게 표시됨.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold-splits.png)


Autopilot은 하이퍼파라미터 최적화(HPO) 모드와 앙상블 모드 모두에 k-폴드 교차 검증을 사용합니다.

다른 Autopilot 또는 SageMaker AI 모델과 마찬가지로 교차 검증을 사용하여 구축된 Autopilot 모델을 배포할 수 있습니다.

### HPO 모드
<a name="autopilot-cross-validation-hpo"></a>

K-폴드 교차 검증은 교차 검증에 k-폴드 분할 방법을 사용합니다. HPO 모드에서 Autopilot은 훈련 인스턴스가 50,000개 이하인 작은 데이터세트에 대해 k-폴드 교차 검증을 자동으로 구현합니다. 교차 검증은 오버피팅과 선택 편향을 방지하기 때문에 작은 데이터세트로 훈련시킬 때는 특히 중요합니다.

HPO 모드에서는 데이터세트를 모델링하는 데 사용되는 각 후보 알고리즘에서 *k*=5 값을 사용합니다. 여러 모델을 서로 다른 분할을 이용해 훈련시키고 모델을 별도로 저장합니다. 훈련이 완료되면 각 모델의 검증 지표를 평균하여 단일 예측 지표를 생성합니다. 마지막으로 Autopilot은 시험에서 얻은 모델을 최상의 검증 지표와 결합하여 앙상블 모델로 만듭니다. Autopilot은 이 앙상블 모델을 사용하여 예측합니다.

Autopilot으로 훈련한 모델의 검증 지표는 모델 순위표에 목표 지표로 표시됩니다. 별도로 지정하지 않는 한 Autopilot은 처리하는 각 문제 유형에 대해 기본 검증 지표를 사용합니다. Autopilot가 사용하는 모든 지표 목록은 [Autopilot 지표](#autopilot-metrics) 섹션을 참조하세요.

예를 들어 [보스턴 하우징 데이터세트](http://lib.stat.cmu.edu/datasets/boston)에는 861개의 샘플만 포함되어 있습니다. 교차 검증 없이 이 데이터세트를 사용하여 주택 판매 가격을 예측하는 모델을 구축하면 보스턴 주택 재고를 대표하지 않는 데이터세트로 훈련시킬 위험이 있습니다. 데이터를 훈련 하위 집합과 검증 하위 집합으로 한 번만 분할하면 훈련 폴드에는 주로 교외 지역의 데이터만 포함될 수 있습니다. 따라서 도시의 다른 지역을 대표하지 않는 데이터로 훈련하게 됩니다. 이 예시에서는 이렇게 편향된 선택에 모델이 오버피팅할 가능성이 높습니다. K-폴드 교차 검증은 사용 가능한 데이터를 훈련과 검증에 모두 무작위로 사용하여 이러한 종류의 오류가 발생할 위험을 줄일 수 있습니다.

교차 검증은 훈련 시간을 평균 20% 늘릴 수 있습니다. 복잡한 데이터세트의 경우 훈련 시간은 크게 늘어날 수 있습니다.

**참고**  
HPO 모드에서는 `/aws/sagemaker/TrainingJobs` CloudWatch Logs에서 각 폴드의 훈련 및 검증 지표를 볼 수 있습니다. CloudWatch Logs에 대한 자세한 내용은 [Amazon SageMaker AI용 CloudWatch Logs](logging-cloudwatch.md) 섹션을 참조하세요.

### 앙상블 모드
<a name="autopilot-cross-validation-ensemble"></a>

**참고**  
Autopilot은 앙상블 모드에서 샘플 가중치를 지원합니다. 샘플 가중치를 지원하는 이용 가능한 지표 목록을 알아보려면 [Autopilot 지표](#autopilot-metrics)를 참조하세요.

앙상블 모드에서는 데이터세트 크기에 관계없이 교차 검증이 수행됩니다. 고객은 자체 검증 데이터세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot에서 자동으로 데이터세트를 80-20% 분할 비율로 분할하도록 할 수 있습니다. 그런 다음 훈련 데이터는 교차 검증을 위해 `k`-폴드로 분할됩니다. 여기서 `k` 값은 AutoGluon 엔진에 의해 결정됩니다. 앙상블은 여러 기계 학습 모델로 구성되며, 각 모델을 기본 모델이라고 합니다. 단일 기본 모델은 (`k`-1) 폴드에 대해 훈련되고 나머지 폴드에 대해서는 OOF(out-of-fold) 예측을 수행합니다. 이 과정은 모든 `k` 폴드에 대해 반복되며, OOF 예측들을 결합하여 단일 예측 세트를 형성합니다. 앙상블의 모든 기본 모델은 이와 동일한 OOF 예측 생성 프로세스를 따릅니다.

다음 이미지는 `k` = 4 폴드를 이용한 k-폴드 검증을 보여줍니다. 각 폴드는 행으로 표시됩니다. 어두운 톤의 상자는 훈련에 사용된 데이터 부분을 나타냅니다. 나머지 밝은 색조 상자는 검증 데이터세트를 나타냅니다.

이미지의 상단의 각 폴드에 대해 첫 번째 기본 모델은 훈련 데이터세트에 대해 훈련시킨 후 검증 데이터세트를 예측합니다. 각 후속 폴드에 대해 데이터세트의 역할이 바뀝니다. 이전에 훈련에 사용되었던 데이터세트를 이제는 검증에 사용하며, 이는 역으로도 적용됩니다. `k` 폴드가 끝나면 모든 예측이 결합되어 OOF 예측이라고 하는 단일 예측 세트를 형성합니다. 이 프로세스는 `n`개의 각 기본 모델에 대해 반복됩니다.

![\[k-폴드 검증: 상자에 있는 4행은 4폴드를 나타냅니다. 각 폴드는 OOF 예측 행을 생성합니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-metrics-kfold.PNG)


그런 다음 각 기본 모델에 대한 OOF 예측을 특징으로 사용하여 적층 모델(stacking model)을 훈련시킵니다. 적층 모델은 각 기본 모델의 중요도 가중치를 학습합니다. 이러한 가중치는 OOF 예측을 결합하여 최종 예측을 구성하는 데 사용됩니다. 검증 데이터세트의 성능에 따라 가장 적합한 기본 모델 또는 적층 모델이 결정되며 이 모델이 최종 모델로 반환됩니다.

앙상블 모드에서는 자체 검증 데이터세트를 제공하거나 Autopilot이 입력 데이터세트를 자동으로 80% 학습 데이터세트와 20% 검증 데이터세트로 분할하도록 할 수 있습니다. 그런 다음 훈련 데이터를 교차 검증을 위해 `k`-폴드로 분할하고 각 폴드에 대한 OOF 예측과 기본 모델을 생성합니다.

이러한 OOF 예측은 각 기본 모델의 가중치를 동시에 학습하는 적층 모델을 훈련하기 위한 특징으로 사용됩니다. 이러한 가중치는 OOF 예측을 결합하여 최종 예측을 구성하는 데 사용됩니다. 각 폴드의 검증 데이터세트는 모든 기본 모델 및 적층 모델의 하이퍼파라미터 튜닝에 사용됩니다. 검증 데이터세트의 성능에 따라 가장 적합한 기본 모델 또는 적층 모델이 결정되며 이 모델이 최종 모델로 반환됩니다.

# Autopilot 모델 배포 및 예측
<a name="autopilot-deploy-models"></a>

이 Amazon SageMaker Autopilot 안내서는 모델을 배포하고, 실시간 추론을 설정하고, 배치 작업으로 추론을 실행하는 단계를 포함하고 있습니다.

Autopilot 모델을 훈련한 후, 다음 두 가지 방법 중 하나로 모델을 배포하여 예측을 가져올 수 있습니다.

1. [실시간 추론을 위한 모델 배포](autopilot-deploy-models-realtime.md)을 이용해 엔드포인트를 설정하고 대화형 방식으로 예측을 획득합니다. 실시간 추론은 실시간, 대화형, 짧은 지연 시간이 요구되는 추론 워크로드에 적합합니다.

1. [배치 추론 작업 실행](autopilot-deploy-models-batch.md)을 이용해 전체 데이터세트의 배치 관찰에서 병렬로 예측합니다. 대규모 데이터세트나 모델 예측 요청에 대한 즉각적인 응답이 필요하지 않은 경우 배치 추론을 사용하는 것이 좋습니다.

**참고**  
불필요한 비용 발생을 방지하려면: 모델 배포를 통해 생성된 엔드포인트와 리소스가 더 이상 필요하지 않은 후에는 해당 엔드포인트와 리소스를 삭제할 수 있습니다. 리전별 인스턴스 요금에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing/)을 참고하세요.

# 실시간 추론을 위한 모델 배포
<a name="autopilot-deploy-models-realtime"></a>

실시간 추론은 실시간, 대화형, 짧은 지연 시간이 요구되는 추론 워크로드에 적합합니다. 이 섹션에서는 실시간 추론을 사용하여 모델에서 대화형 방식으로 예측을 얻는 방법을 보여줍니다.

Autopilot 실험에서 최상의 검증 지표를 생성한 모델을 배포하기 위한 몇 가지 옵션이 있습니다. 예를 들어 SageMaker Studio Classic에서 Autopilot을 사용하는 경우 모델을 자동 또는 수동으로 배포할 수 있습니다. SageMaker API를 사용하여 Autopilot 모델을 수동으로 배포할 수도 있습니다.

다음 탭은 모델 배포를 위한 세 가지 옵션을 보여줍니다. 이 지침에서는 Autopilot으로 모델을 이미 생성했다고 가정합니다. 모델이 없는 경우 [AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성](autopilot-automate-model-development-create-experiment.md) 섹션을 참조하세요. 각 옵션의 예를 보려면 각 탭을 여세요.

## Autopilot 사용자 인터페이스 (UI)를 사용하여 배포
<a name="autopilot-deploy-models-realtime-ui"></a>

Autopilot UI에는 모델 배포를 탐색하는 데 도움이 되는 유용한 드롭다운 메뉴, 토글, 툴팁 등이 포함되어 있습니다. 자동 또는 수동 절차 중 하나를 이용하여 배포할 수 있습니다.
+ **자동 배포**: Autopilot 실험에서 나온 최적의 모델을 엔드포인트에 자동으로 배포

  1. SageMaker Studio Classic에서 [실험을 생성합니다](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html).

  1. **자동 배포** 값을 **예**로 전환합니다.
**참고**  
**리전 내 엔드포인트 인스턴스에 대한 기본 리소스 할당량이나 고객 할당량이 너무 제한적일 경우 자동 배포가 실패합니다.** 하이퍼파라미터 최적화(HPO) 모드에서는 ml.m5.2xlarge 인스턴스가 2개 이상 있어야 합니다. 앙상블링 모드에서는 ml.m5.12xlarge 인스턴스가 하나 이상 있어야 합니다. 할당량과 관련된 오류가 발생하는 경우 SageMaker AI 엔드포인트 인스턴스에 대한 [서비스 한도 증가를 요청](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)할 수 있습니다.
+ **자동 배포**: Autopilot 실험에서 나온 최적의 모델을 엔드포인트에 수동으로 배포

  1. SageMaker Studio Classic에서 [실험을 생성합니다](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html).

  1. **자동 배포** 값을 **아니요**로 전환합니다.

  1. **모델** 이름에서 배포하려는 모델을 선택합니다.

  1. 리더보드 오른쪽에 있는 주황색 **배포 및 고급 설정** 버튼을 선택합니다. 그러면 새 탭이 열립니다.

  1. 엔드포인트 이름, 인스턴스 유형 및 기타 선택적 정보를 구성합니다.

  1.  엔드포인트에 배포할 주황색 **배포 모델**을 선택합니다.

  1. 엔드포인트 섹션으로 이동하여 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 엔드포인트 생성 프로세스의 진행 상황을 확인하세요. 해당 섹션은 탐색 패널의 **추론** 드롭다운 메뉴에 있습니다.

  1. 아래와 같이 엔드포인트 상태가 **생성 중**에서 **서비스 중**으로 변경되면 Studio Classic으로 돌아가 엔드포인트를 간접적으로 호출합니다.  
![\[SageMaker AI 콘솔: 엔드포인트를 만들거나 엔드포인트 상태를 확인할 수 있는 엔드포인트 페이지.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-check-progress.PNG)

## SageMaker API를 사용하여 배포하기
<a name="autopilot-deploy-models-api"></a>

**API 직접 호출**을 사용하여 모델을 배포하여 실시간 추론을 얻을 수도 있습니다. 이 섹션에서는 AWS Command Line Interface (AWS CLI) 코드 조각을 사용하는이 프로세스의 5단계를 보여줍니다.

 AWS CLI 명령과 AWS SDK for Python(boto3) 모두에 대한 전체 코드 예제를 보려면 다음 단계에 따라 탭을 직접 엽니다.

1. **후보 정의 가져오기**

   [추론 컨테이너](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)에서 후보 컨테이너 정의를 가져옵니다. 이러한 후보 정의는 SageMaker AI 모델을 만드는 데 사용됩니다.

   다음 예제에서는 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) API를 사용하여 최적의 모델 후보에 대한 후보 정의를 얻습니다. 다음 AWS CLI 명령을 예제로 참조하세요.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **후보 나열**

   다음 예제에서는 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API를 사용하여 모든 후보를 나열합니다. 예제로서 다음 AWS CLI 명령을 참조하세요.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI 모델 만들기**

   이전 단계의 컨테이너 정의를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API로 SageMaker AI 모델을 만듭니다. 다음 AWS CLI 명령을 예제로 참조하세요.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **엔드포인트 구성 생성** 

   다음 예제에서는 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API를 사용하여 엔드포인트 구성을 생성합니다. 다음 AWS CLI 명령을 예제로 참조하세요.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-custom-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **엔드포인트 생성** 

   다음 AWS CLI 예제에서는 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API를 사용하여 엔드포인트를 생성합니다.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-custom-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API를 사용하여 엔드포인트 배포 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하세요.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus`가 `InService`로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

1. **API 엔드포인트 호출** 

   다음 명령 구조는 실시간 추론을 위해 엔드포인트를 간접적으로 호출합니다.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

다음 탭에는 Python용 AWS SDK(boto3) 또는 AWS CLI를 사용하여 모델을 배포하기 위한 전체 코드 예제가 포함되어 있습니다.

------
#### [ AWS SDK for Python (boto3) ]

1. 다음 코드 예제를 사용하여 **후보 정의를 확보하세요**.

   ```
   import sagemaker 
   import boto3
   
   session = sagemaker.session.Session()
   
   sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')
   job_name = 'test-auto-ml-job'
   
   describe_response = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   # extract the best candidate definition from DescribeAutoMLJob response
   best_candidate = describe_response['BestCandidate']
   # extract the InferenceContainers definition from the caandidate definition
   inference_containers = best_candidate['InferenceContainers']
   ```

1. 다음 코드 예제를 사용하여 **모델을 생성합니다**.

   ```
   # Create Model
   model_name = 'test-model' 
   sagemaker_role = 'arn:aws:iam:444455556666:role/sagemaker-execution-role'
   create_model_response = sagemaker_client.create_model(
      ModelName = model_name,
      ExecutionRoleArn = sagemaker_role,
      Containers = inference_containers 
   )
   ```

1. 다음 코드 예제를 사용하여 **엔드포인트 구성을 생성합니다**.

   ```
   endpoint_config_name = 'test-endpoint-config'
                                                           
   instance_type = 'ml.m5.2xlarge' 
   # for all supported instance types, see 
   # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html#sagemaker-Type-ProductionVariant-InstanceType    # Create endpoint config
   
   endpoint_config_response = sagemaker_client.create_endpoint_config(
      EndpointConfigName=endpoint_config_name, 
      ProductionVariants=[
          {
              "VariantName": "variant1",
              "ModelName": model_name, 
              "InstanceType": instance_type,
              "InitialInstanceCount": 1
          }
      ]
   )
   
   print(f"Created EndpointConfig: {endpoint_config_response['EndpointConfigArn']}")
   ```

1. **엔드포인트를 생성하고** 다음 코드 예제를 사용하여 모델을 배포합니다.

   ```
   # create endpoint and deploy the model
   endpoint_name = 'test-endpoint'
   create_endpoint_response = sagemaker_client.create_endpoint(
                                               EndpointName=endpoint_name, 
                                               EndpointConfigName=endpoint_config_name)
   print(create_endpoint_response)
   ```

   다음 코드 예제를 사용하여 **엔드포인트 생성 상태를 확인합니다**.

   ```
   # describe endpoint creation status
   status = sagemaker_client.describe_endpoint(EndpointName=endpoint_name)["EndpointStatus"]
   ```

1. 다음 명령 구조를 사용하여 실시간 추론을 위해 **엔드포인트를 호출합니다**.

   ```
   # once endpoint status is InService, you can invoke the endpoint for inferencing
   if status == "InService":
     sm_runtime = boto3.Session().client('sagemaker-runtime')
     inference_result = sm_runtime.invoke_endpoint(EndpointName='test-endpoint', ContentType='text/csv', Body='1,2,3,4,class')
   ```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. 다음 코드 예제를 사용하여 **후보 정의를 확보하세요**.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. 다음 코드 예제를 사용하여 **모델을 생성합니다**.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", amzn-s3-demo-bucket1
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", aws-region
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \ 
   --region 'us-west-2'
   ```

   자세한 내용은 [모델 생성](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-model.html)을 참조하세요.

   `create model` 명령은 다음과 같은 형식의 응답을 반환합니다.

   ```
   {
       "ModelArn": "arn:aws:sagemaker:us-west-2:1234567890:model/test-sagemaker-model"
   }
   ```

1. 다음 코드 예제를 사용하여 **엔드포인트 구성을 생성합니다**.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name 'test-endpoint-config' \
   --production-variants '[{"VariantName": "variant1", 
                           "ModelName": "test-sagemaker-model",
                           "InitialInstanceCount": 1,
                           "InstanceType": "ml.m5.2xlarge"
                          }]' \
   --region us-west-2
   ```

   `create endpoint` 구성 명령은 다음과 같은 형식의 응답을 반환합니다.

   ```
   {
       "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint-config/test-endpoint-config"
   }
   ```

1. 다음 코드 예제를 사용하여 **엔드포인트를 생성합니다**.

   ```
   aws sagemaker create-endpoint --endpoint-name 'test-endpoint' \    
   --endpoint-config-name 'test-endpoint-config' \                 
   --region us-west-2
   ```

   `create endpoint` 명령은 다음과 같은 형식의 응답을 반환합니다.

   ```
   {
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint"
   }
   ```

   다음 [describe-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-endpoint.html) CLI 코드 예제를 사용하여 엔드포인트 배포의 진행 상황을 확인합니다.

   ```
   aws sagemaker describe-endpoint --endpoint-name 'test-endpoint' --region us-west-2
   ```

   이전 진행 상황 확인에서는 다음 형식으로 응답을 반환합니다.

   ```
   {
       "EndpointName": "test-endpoint",
       "EndpointArn": "arn:aws:sagemaker:us-west-2:1234567890:endpoint/test-endpoint",
       "EndpointConfigName": "test-endpoint-config",
       "EndpointStatus": "Creating",
       "CreationTime": 1660251167.595,
       "LastModifiedTime": 1660251167.595
   }
   ```

   `EndpointStatus`가 `InService`로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

1. 다음 명령 구조를 사용하여 실시간 추론을 위해 **엔드포인트를 호출합니다**.

   ```
   aws sagemaker-runtime invoke-endpoint --endpoint-name 'test-endpoint' \
   --region 'us-west-2' \
   --body '1,51,3.5,1.4,0.2' \
   --content-type 'text/csv' \
   '/tmp/inference_output'
   ```

   자세한 옵션은 [엔드포인트 호출](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker-runtime/invoke-endpoint.html)을 참조하세요.

------

## 다양한 계정의 모델 배포
<a name="autopilot-deploy-models-realtime-across-accounts"></a>

모델을 생성한 원래 계정이 아닌 다른 계정에서 Autopilot 모델을 배포할 수 있습니다. 교차 계정 모델 배포를 구현하기 위해 이 섹션에서는 다음을 수행하는 방법을 보여줍니다.   (생성 계정)에서 배포하려는 계정에 역할을 맡을 권한을 부여하세요.   배포 계정에서 `DescribeAutoMLJob`을 호출하여 모델 정보를 얻으세요.   생성 계정의 모델 아티팩트에 대한 액세스 권한을 부여합니다.   

1. **배포 계정에 권한 부여** 

   생성 계정에서 역할을 맡으려면 배포 계정에 권한을 부여해야 합니다. 이렇게 하면 배포 계정이 생성 계정의 Autopilot 작업을 설명할 수 있습니다.

   다음 예시에서는 신뢰할 수 있는 `sagemaker-role` 엔터티를 가진 생성 계정을 사용합니다. 이 예제는 ID가 111122223333인 배포 계정에 생성 계정 역할을 맡을 수 있는 권한을 부여하는 방법을 보여줍니다.

   ```
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ],
                   "AWS": [ "111122223333"]
               },
               "Action": "sts:AssumeRole"
           }
   ```

   ID가 111122223333인 새 계정이 이제 생성 계정 역할을 맡을 수 있습니다.

   그런 다음, 배포 계정에서 `DescribeAutoMLJob` API를 호출하여 생성 계정으로 생성된 작업에 대한 설명을 가져옵니다.

   다음 코드 예제는 배포 계정의 모델을 설명합니다.

   ```
   import sagemaker 
   import boto3
   session = sagemaker.session.Session()
   
   sts_client = boto3.client('sts')
   sts_client.assume_role
   
   role = 'arn:aws:iam::111122223333:role/sagemaker-role'
   role_session_name = "role-session-name"
   _assumed_role = sts_client.assume_role(RoleArn=role, RoleSessionName=role_session_name)
   
   credentials = _assumed_role["Credentials"]
   access_key = credentials["AccessKeyId"]
   secret_key = credentials["SecretAccessKey"]
   session_token = credentials["SessionToken"]
   
   session = boto3.session.Session()
           
   sm_client = session.client('sagemaker', region_name='us-west-2', 
                              aws_access_key_id=access_key,
                               aws_secret_access_key=secret_key,
                               aws_session_token=session_token)
   
   # now you can call describe automl job created in account A 
   
   job_name = "test-job"
   response= sm_client.describe_auto_ml_job(AutoMLJobName=job_name)
   ```

1. 생성 계정의 모델 아티팩트에 **배포 계정에 대한 액세스 권한을 부여합니다**.

   배포 계정에는 생성 계정의 모델 아티팩트에 대한 액세스 권한만 있으면 배포할 수 있습니다. 이러한 정보는 모델 생성 중에 원래 `CreateAutoMLJob` API 직접 호출에 지정된 [S3OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath)에 있습니다.

   배포 계정에 모델 아티팩트에 대한 액세스 권한을 부여하려면 다음 옵션 중 하나를 선택합니다.

   1. 생성 계정에서 배포 계정에 `ModelDataUrl`에 대한 [액세스 권한을 부여하세요](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/).

      다음으로 배포 계정에 역할을 맡을 권한을 부여해야 합니다. [실시간 추론 단계](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime)에 따라 배포하세요.

   1. 생성 계정의 원래 [S3OutputPath](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html#sagemaker-Type-AutoMLOutputDataConfig-S3OutputPath)에서 생성 계정으로 [모델 아티팩트를 복사합니다](https://aws.amazon.com/premiumsupport/knowledge-center/copy-s3-objects-account/).

      모델 아티팩트에 대한 액세스 권한을 부여하려면 `best_candidate` 모델을 정의하고 모델 컨테이너를 새 계정에 재할당해야 합니다.

      다음 예제에서는 `best_candidate` 모델을 정의하고 `ModelDataUrl`을 재할당하는 방법을 보여줍니다.

      ```
      best_candidate = automl.describe_auto_ml_job()['BestCandidate']
      
      # reassigning ModelDataUrl for best_candidate containers below
      new_model_locations = ['new-container-1-ModelDataUrl', 'new-container-2-ModelDataUrl', 'new-container-3-ModelDataUrl']
      new_model_locations_index = 0
      for container in best_candidate['InferenceContainers']:
          container['ModelDataUrl'] = new_model_locations[new_model_locations_index++]
      ```

      컨테이너를 할당한 후에는 [SageMaker API를 사용하여 배포하기](#autopilot-deploy-models-api)의 단계를 따라 배포합니다.

실시간 추론으로 페이로드를 구축하려면 노트북 예제를 참조하여 [테스트 페이로드를 정의하세요](https://aws.amazon.com/getting-started/hands-on/machine-learning-tutorial-automatically-create-models). CSV 파일에서 페이로드를 생성하고 엔드포인트를 간접적으로 호출하려면 [기계 학습 모델 자동 생성](https://aws.amazon.com/getting-started/hands-on/create-machine-learning-model-automatically-sagemaker-autopilot/#autopilot-cr-room)의 **모델로 예측** 섹션을 참조하세요.

# 배치 추론 작업 실행
<a name="autopilot-deploy-models-batch"></a>

오프라인 추론이라고도 하는 배치 추론은 배치 관찰에서 모델 예측을 생성합니다. 대규모 데이터세트나 모델 예측 요청에 대한 즉각적인 응답이 필요하지 않은 경우 배치 추론을 사용하는 것이 좋습니다. 반면, 온라인 추론([실시간 추론](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models.html#autopilot-deploy-models-realtime))은 실시간으로 예측을 생성합니다. [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/), Autopilot 사용자 인터페이스(UI), [AWS Python용 SDK(boto3)](https://aws.amazon.com/sdk-for-python/) 또는 AWS Command Line Interface ()를 사용하여 Autopilot 모델에서 배치 추론을 수행할 수 있습니다[AWS CLI](https://docs.aws.amazon.com/cli/).

다음 탭에는 모델을 배포하기 위한 세 가지 옵션, 즉 API 사용, Autopilot UI 또는 API를 사용하여 다른 계정에서 배포하는 옵션이 표시됩니다. 이 지침에서는 Autopilot으로 모델을 이미 생성했다고 가정합니다. 모델이 없는 경우 [AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성](autopilot-automate-model-development-create-experiment.md) 섹션을 참조하세요. 각 옵션의 예를 보려면 각 탭을 여세요.

## Autopilot UI를 사용하여 모델 배포하기
<a name="autopilot-deploy-models-batch-ui"></a>

Autopilot UI에는 모델 배포를 탐색하는 데 도움이 되는 유용한 드롭다운 메뉴, 토글, 툴팁 등이 포함되어 있습니다.

다음 단계에서는 배치 예측을 위해 Autopilot 실험에서 모델을 배포하는 방법을 보여줍니다.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 로그인하고 탐색 창에서 **Studio**를 선택합니다.

1. 왼쪽 탐색 창에서 **Studio**를 선택합니다.

1. **시작하기**에서 Studio 애플리케이션을 시작하려는 도메인을 선택합니다. 사용자 프로파일이 한 도메인에만 속하는 경우 도메인 선택 옵션이 표시되지 않습니다.

1. Studio Classic 애플리케이션을 시작하려는 사용자 프로필을 선택합니다. 도메인에 사용자 프로필이 없는 경우 **사용자 프로필 생성**을 선택합니다. 자세한 내용은 [사용자 프로필 추가](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-user-profile-add.html) 섹션을 참조하세요.

1. **Studio 실행**을 선택합니다. 사용자 프로필이 공유 공간에 속하는 경우 **오픈 스페이스**를 선택합니다.

1. SageMaker Studio Classic 콘솔이 열리면 **SageMaker Studio 실행** 버튼을 선택합니다.

1. 왼쪽 탐색 창에서 **AutoML**을 선택합니다.

1. **이름**에서 배포하려는 모델에 해당하는 Autopilot 실험을 선택합니다. 그러면 새 **AUTOPILOT 작업** 탭이 열립니다.

1. **모델 이름**에서 배포하려는 모델을 선택합니다.

1. **Deploy model(모델 배포)**을 선택합니다. 그러면 새 탭이 열립니다.

1. 페이지 상단의 **배치 예측 만들기**를 선택합니다.

1. **배치 변환 작업 구성**의 경우, **인스턴스 유형**, **인스턴스 수** 및 기타 선택적 정보를 입력합니다.

1. **입력 데이터 구성** 섹션에서 드롭다운 메뉴를 엽니다.

   1. **S3 데이터 유형**의 경우 **ManifestFile** 또는 **S3Profix**를 선택합니다.

   1. **분할 유형**의 경우 **라인**, **RecordIO**, **TFRecord** 또는 **없음**을 선택합니다.

   1. **압축**의 경우 **Gzip** 또는 **없음**을 선택합니다.

1. **S3 위치**의 경우 입력 데이터의 Amazon S3 버킷 위치와 기타 선택적 정보를 입력합니다.

1. **출력 데이터 구성**에서 출력 데이터용 S3 버킷을 입력하고 작업의 [출력을 어셈블](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformOutput.html#sagemaker-Type-TransformOutput-AssembleWith)하는 방법을 선택합니다.

   1. **추가 구성(선택 사항)**의 경우 MIME 유형과 **S3 암호화 키**를 입력할 수 있습니다.

1. **입력/출력 필터링 및 데이터 조인(선택 사항)**의 경우 JSONPath 식을 입력하여 입력 데이터를 필터링하고, 입력 소스 데이터를 출력 데이터와 조인하고, JSONPath 식을 입력하여 출력 데이터를 필터링합니다.

   1. 각 필터 유형에 대한 예는 [DataProcessing API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DataProcessing.html#sagemaker-Type-DataProcessing-InputFilter)를 참조하세요.

1. 입력 데이터세트에 대한 배치 예측을 수행하려면 **배치 변환 작업 만들기** 선택합니다. 새 **배치 변환 작업** 탭이 나타납니다.

1. **배치 변환 작업** 탭의 **상태** 섹션에서 작업 이름을 찾습니다. 그런 다음 작업 진행 상황을 확인합니다.

## SageMaker API를 사용하여 배포하기
<a name="autopilot-deploy-models-batch-steps"></a>

SageMaker API를 배치 추론에 사용하려면 다음 세 단계를 거쳐야 합니다.

1. **후보 정의 가져오기** 

   [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)의 후보 정의는 SageMaker AI 모델을 만드는 데 사용됩니다.

   다음 예제는 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) API를 사용하여 최적의 모델 후보에 대한 후보 정의를 얻는 방법을 보여줍니다. 다음 AWS CLI 명령을 예제로 참조하세요.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

   [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API를 사용하여 모든 후보를 나열할 수 있습니다. 예제로서 다음 AWS CLI 명령을 참조하세요.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI 모델 만들기**

   [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API를 사용하여 SageMaker AI 모델을 만들려면 이전 단계의 컨테이너 정의를 사용합니다. 예제로서 다음 AWS CLI 명령을 참조하세요.

   ```
   aws sagemaker create-model --model-name '<your-custom-model-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **SageMaker AI 변환 작업 만들기** 

   다음 예시에서는 [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html) API를 사용하여 SageMaker AI 변환 작업을 만듭니다. 다음 AWS CLI 명령을 예제로 참조하세요.

   ```
   aws sagemaker create-transform-job --transform-job-name '<your-custom-transform-job-name>' --model-name '<your-custom-model-name-from-last-step>'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix", 
                   "S3Uri": "<your-input-data>" 
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "<your-output-path>",
           "AssembleWith": "Line" 
       }'\
   --transform-resources '{
           "InstanceType": "<instance-type>", 
           "InstanceCount": 1
       }' --region '<region>'
   ```

[DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html) API를 사용하여 변환 작업의 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하세요.

```
aws sagemaker describe-transform-job --transform-job-name '<your-custom-transform-job-name>' --region <region>
```

작업이 완료되면 예측된 결과를 `<your-output-path>`에서 확인할 수 있습니다.

출력 파일 이름의 형식: `<input_data_file_name>.out`. 예를 들어, 입력 파일이 `text_x.csv`인 경우 출력 이름은 `text_x.csv.out`입니다.

다음 탭은 SageMaker Python SDK, Python용 AWS SDK(boto3) 및에 대한 코드 예제를 보여줍니다 AWS CLI.

------
#### [ SageMaker Python SDK ]

다음 예제에서는 **[SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html)**를 사용하여 배치 예측을 만듭니다.

```
from sagemaker import AutoML

sagemaker_session= sagemaker.session.Session()

job_name = 'test-auto-ml-job' # your autopilot job name
automl = AutoML.attach(auto_ml_job_name=job_name)
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

# call DescribeAutoMLJob API to get the best candidate definition
best_candidate = automl.describe_auto_ml_job()['BestCandidate']
best_candidate_name = best_candidate['CandidateName']

# create model
model = automl.create_model(name=best_candidate_name, 
               candidate=best_candidate)

# create transformer
transformer = model.transformer(instance_count=1, 
    instance_type='ml.m5.2xlarge',
    assemble_with='Line',
    output_path=output_path)

# do batch transform
transformer.transform(data=input_data,
                      split_type='Line',
                       content_type='text/csv',
                       wait=True)
```

------
#### [ AWS SDK for Python (boto3) ]

 다음 예제에서는 **Python용AWS SDK**를 사용하여 배치 예측을 만듭니다.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

배치 추론 작업에서는 다음 형식으로 응답을 반환합니다.

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. 다음 코드 예제를 사용하여 **후보 정의를 확보하세요**.

   ```
   aws sagemaker describe-auto-ml-job --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. 다음 코드 예제를 사용하여 **모델을 생성합니다**.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. 다음 코드 예제를 사용하여 **변환 작업을 생성합니다**.

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
   --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "Line"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. 다음 코드 예제를 사용하여 **변환 작업의 진행 상황을 확인합니다**.

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   다음은 변환 작업의 응답입니다.

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "Line"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   `TransformJobStatus` 상태를 `Completed`으로 변경한 후에는 `S3OutputPath`에서 추론 결과를 확인할 수 있습니다.

------

## 다양한 계정의 모델 배포
<a name="autopilot-deploy-models-batch-across-accounts"></a>

모델이 생성된 계정과 다른 계정에서 배치 추론 작업을 만들려면 [다양한 계정의 모델 배포](autopilot-deploy-models-realtime.md#autopilot-deploy-models-realtime-across-accounts)의 지침을 따르세요. 그런 다음 [SageMaker API를 사용하여 배포하기](#autopilot-deploy-models-batch-steps)에 따라 모델을 생성하고 작업을 변환할 수 있습니다.

# 모델 세부 정보 보기
<a name="autopilot-models-details"></a>

Autopilot은 확보할 수 있는 후보 모델에 대한 세부 정보를 생성합니다. 이러한 세부 정보에는 다음이 포함되어 있습니다.
+ 각 기능의 중요도를 나타내는 집계된 SHAP 값의 도표. 이는 모델 예측을 설명하는 데 도움이 됩니다.
+ 목표 지표를 포함한 다양한 훈련 및 검증 지표에 대한 요약 통계.
+ 모델을 훈련하고 튜닝하는 데 사용되는 하이퍼파라미터 목록.

Autopilot 작업을 실행한 후 모델 세부 정보를 보려면 다음 단계를 따르세요.

1. 최상위 **Amazon SageMaker Studio Classic** 탐색 메뉴를 보려면 왼쪽 탐색 창에서 **홈** 아이콘 ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/icons/house.png)을 선택합니다.

1. 기본 작업 영역에서 **AutoML** 카드를 선택합니다. 그러면 새 **Autopilot** 탭이 열립니다.

1. **이름** 섹션에서 검사하려는 세부 정보가 있는 Autopilot 작업을 선택합니다. 그러면 새 **Autopilot 작업** 탭이 열립니다.

1. **Autopilot 작업** 패널에는 **모델 이름** 아래에 각 모델의 **목표** 지표를 포함한 지표 값이 나열됩니다. **최적 모델**은 **모델 이름** 아래 목록 상단에 나열되며 **모델** 탭에서도 강조 표시됩니다.

   1. 모델 세부 정보를 검토하려면 관심 있는 모델을 선택하고 **모델 세부 정보 보기**를 선택합니다. 그러면 새 **모델 세부 정보** 탭이 열립니다.

1. **모델 세부 정보** 탭은 네 개의 하위 섹션으로 구분됩니다.

   1. **설명 가능성** 탭의 상단에는 각 기능의 중요성을 나타내는 집계된 SHAP 값의 도표가 있습니다. 다음은 이 모델의 지표와 하이퍼파라미터 값입니다.

   1. **성능** 탭에는 지표 통계, 혼동 행렬이 포함되어 있습니다.

   1. **아티팩트** 탭에는 모델 입력, 출력 및 중간 결과에 대한 정보가 포함되어 있습니다.

   1. **네트워크** 탭에는 네트워크 격리 및 암호화 선택 사항이 요약되어 있습니다.
**참고**  
**성능** 탭의 기능 중요도 및 정보는 **최적 모델**을 위해서만 생성됩니다.

   SHAP 값이 특징 중요도에 따른 예측을 설명하는 데 어떻게 도움이 되는지에 대한 자세한 내용은 백서 [모델 설명 가능성의 이해](https://pages.awscloud.com/rs/112-TZM-766/images/Amazon.AI.Fairness.and.Explainability.Whitepaper.pdf)를 참조하세요. 추가 정보는 SageMaker AI 개발자 안내서의 [모델 설명 가능성](clarify-model-explainability.md) 주제에서도 확인할 수 있습니다.

# Autopilot 모델 성능 보고서 보기
<a name="autopilot-model-insights"></a>

Amazon SageMaker AI 모델 품질 보고서(다른 명칭: 성과 보고서)는 AutoML 작업에서 생성된 최적의 모델 후보에 대한 인사이트와 품질 정보를 제공합니다. 여기에는 작업 세부 정보, 모델 문제 유형, 목표 함수 및 문제 유형과 관련된 정보 및 기타 정보가 포함됩니다. 이 안내서는 Amazon SageMaker Autopilot 성능 지표를 그래픽으로 보는 방법 또는 지표를 JSON 파일의 원시 데이터로 보는 방법을 보여줍니다.

예를 들어, 분류 문제의 모델 품질 보고서에는 다음이 포함됩니다.
+ 혼동 행렬
+ 수신기 작동 특성 곡선(AUC) 아래 영역
+ 위양성과 위음성을 이해하기 위한 정보
+ True Positive와 위양성의 절충
+ 정밀도와 재현율의 절충

또한 Autopilot은 모든 후보 모델에 대한 성능 지표를 제공합니다. 이러한 지표는 모든 훈련 데이터를 사용하여 계산되며 모델 성능을 추정하는 데 사용됩니다. 주요 작업 영역에는 기본적으로 이러한 지표가 포함됩니다. 지표 유형은 해결해야 하는 문제 유형에 따라 결정됩니다.

Autopilot에서 지원하는 사용 가능한 지표 목록은 [ Amazon SageMaker API 참조 설명서](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)를 참조하세요.

관련 지표를 기준으로 모델 후보를 정렬하면 비즈니스 요구 사항에 맞는 모델을 선택하고 배포하는 데 도움이 됩니다. 이러한 지표에 대한 정의는 [Autopilot 후보 지표](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-metrics-validation.html#autopilot-metrics) 주제를 참조하세요.

Autopilot 작업의 성능 보고서를 보려면 다음 단계를 따르세요.

1. 최상위 **Amazon SageMaker Studio Classic** 탐색 메뉴를 보려면 왼쪽 탐색 창에서 **홈** 아이콘 ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/icons/house.png)을 선택합니다.

1. 기본 작업 영역에서 **AutoML** 카드를 선택합니다. 그러면 새 **Autopilot** 탭이 열립니다.

1. **이름** 섹션에서 검사하려는 세부 정보가 있는 Autopilot 작업을 선택합니다. 그러면 새 **Autopilot 작업** 탭이 열립니다.

1. **Autopilot 작업** 패널에는 **모델 이름** 아래에 각 모델의 **목표** 지표를 포함한 지표 값이 나열됩니다. **최적 모델**은 **모델 이름** 아래 목록 상단에 나열되며 **모델** 탭에 강조 표시됩니다.

   1. 모델 세부 정보를 검토하려면 관심 있는 모델을 선택하고 **모델 세부 정보 보기**를 선택합니다. 그러면 새 **모델 세부 정보** 탭이 열립니다.

1. **설명 가능성**과 **아티팩트** 탭 사이에 있는 **성능** 탭을 선택합니다.

   1. 탭의 상단 오른쪽에 있는 **성능 보고서 다운로드** 버튼의 아래쪽 화살표를 선택합니다.

   1. 아래쪽 화살표는 Autopilot 성능 지표를 볼 수 있는 두 가지 옵션을 제공합니다.

      1. 성능 보고서의 PDF를 다운로드하여 지표를 그래픽으로 볼 수 있습니다.

      1. 지표를 원시 데이터로 보고 JSON 파일로 다운로드할 수 있습니다.

SageMaker Studio Classic에서 AutoML 작업을 생성 및 실행하는 방법에 대한 자세한 내용은 [AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성](autopilot-automate-model-development-create-experiment.md)를 참조하세요.

성능 보고서에는 다음 두 섹션이 있습니다. 첫 번째에는 모델을 생성한 Autopilot 작업에 대한 세부 정보가 포함되어 있습니다. 두 번째 섹션에는 모델 품질 보고서가 포함되어 있습니다.

## Autopilot 작업 세부 정보
<a name="autopilot-model-insights-details-and-metrics-table"></a>

보고서의 첫 번째 섹션에서는 모델을 생성한 Autopilot 작업에 대한 몇 가지 일반적인 정보를 제공합니다. 이러한 작업 세부 정보에는 다음 정보가 포함되어 있습니다.
+ Autopilot 후보 이름
+ Autopilot 작업 이름
+ 문제 유형
+ 목표 지표
+ 최적화 방향

## 모델 품질 보고서
<a name="autopilot-model-quality-report"></a>

모델 품질 정보는 Autopilot 모델 인사이트를 통해 생성됩니다. 생성되는 보고서 내용은 보고서에서 다루는 문제 유형(회귀, 바이너리 분류 또는 멀티클래스 분류)에 따라 달라집니다. 보고서는 평가 데이터세트에 포함된 행 수와 평가가 발생한 시간을 지정합니다.

### 지표 테이블
<a name="autopilot-model-quality-report-metrics"></a>

모델 품질 보고서의 첫 번째 부분에는 지표 테이블이 포함되어 있습니다. 이는 모델이 해결한 문제 유형에 적합합니다.

다음 이미지는 회귀 문제에 대해 Autopilot으로 생성한 지표 테이블의 예제입니다. 지표 이름, 값 및 표준 편차를 보여줍니다.

![\[Amazon SageMaker Autopilot 모델 인사이트 회귀 지표 보고서 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-regression-metrics.png)


다음 이미지는 멀티클래스 분류 문제에 대해 Autopilot으로 생성한 지표 테이블의 예제입니다. 지표 이름, 값 및 표준 편차를 보여줍니다.

![\[Amazon SageMaker Autopilot 모델 인사이트 멀티클래스 분류 지표 보고서 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### 그래픽 모델 성능 정보
<a name="autopilot-model-quality-report-graphs"></a>

 모델 품질 보고서의 두 번째 부분에는 모델 성능을 평가하는 데 도움이 되는 그래픽 정보가 포함되어 있습니다. 이 섹션의 내용은 모델링에 사용된 문제 유형에 따라 달라집니다.

#### 수신기 작동 특성 곡선 아래 영역
<a name="autopilot-model-insights-auc-roc"></a>

수신기 작동 특성 곡선 아래 영역은 True Positive와 위양성 비율 간의 균형을 나타냅니다. 이는 바이너리 분류 모델에 사용되는 업계 표준 정확도 지표입니다. AUC(곡선 아래 영역)에서는 부정적인 예보다 긍정적인 예에 대해 더 높은 점수를 예측하는 모델의 기능을 측정합니다. 따라서 AUC 지표는 가능한 모든 분류 임곗값에서 모델 성능을 집계하여 측정 값을 제공합니다.

AUC 지표에서는 0 \$1 1의 십진수 값을 반환합니다. 1에 가까운 AUC 값은 정확성이 높은 기계 학습 모델을 가리킵니다. 값이 0.5에 가까우면 모델 성능이 무작위로 추측하는 것보다 낫지 않다는 것을 나타냅니다. AUC 값이 0에 가까우면 모델이 올바른 패턴을 학습했지만 예측이 최대한 부정확하다는 것을 나타냅니다. 값이 0에 가까우면 데이터에 문제가 있음을 알 수 있습니다. AUC 지표에 대한 자세한 내용은 Wikipedia의 [수신기 작동 특성](https://en.wikipedia.org/wiki/Receiver_operating_characteristic) 문서를 참조하세요.

다음은 바이너리 분류 모델로 예측한 결과를 평가하기 위한 수신기 작동 특성 곡선 그래프 아래 영역의 예제입니다. 가는 점선은 무작위 수준의 추측을 분류하는 모델이 점수를 매기는 수신기 작동 특성 곡선 아래 영역을 나타내며 AUC 점수는 0.5입니다. 더 정확한 분류 모델의 곡선은 True Positive 비율이 위양성 비율을 초과하는 이 무작위 기준 위에 위치합니다. 바이너리 분류 모델의 성능을 나타내는 수신기 작동 특성 곡선 아래 영역은 두꺼운 실선으로 표시됩니다.

![\[Amazon SageMaker Autopilot 수신기 작동 특성 곡선 아래 영역 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-receiver-operating-characteristic-curve.png)


그래프의 구성 요소 중 **위양성 비율**(FPR)과 **진양성 비율**(TPR)의 요약은 다음과 같이 정의됩니다.
+ 올바른 예측
  + **진양성**(TP): 예측값이 1이고 실제 값도 1입니다.
  + **진음성**(TN): 예측 값이 0이고 실제 값도 0입니다.
+ 잘못된 예측
  + **위양성**(FP): 예측 값은 1이지만 실제 값은 0입니다.
  + **위음성**(FN): 예측값은 0이고, 실제값은 1입니다.

**위양성 비율**(FPR)은 FP와 TN의 합에 대해 양성으로 잘못 예측된(FP) 진음성(TN)의 비율을 측정합니다. 범위는 0\$11입니다. 값이 작을수록 예측 정확도가 더 높습니다.
+ FPR = FP/(FP\$1TN)

**진양성 비율**(TPR)은 진양성과 위음성(FN)의 합에 대해 양성으로 정확하게 예측된(TP) 진양성의 비율(TP)을 측정합니다. 범위는 0\$11입니다. 값이 클수록 예측 정확도가 더 높습니다.
+ TPR = TP/(TP\$1FN)

#### 혼동 행렬
<a name="autopilot-model-insights-confusion-matrix"></a>

혼동 행렬은 다양한 문제에 대한 바이너리 및 멀티클래스 분류에 대한 모델의 예측 정확도를 시각화하는 방법을 제공합니다. 모델 품질 보고서의 혼동 행렬에는 다음이 포함됩니다.
+ 실제 레이블에 대한 정확한 예측과 잘못된 예측의 수와 백분율
+ 왼쪽 상단에서 오른쪽 아래 모서리까지의 대각선 상의 정확한 예측 수 및 백분율
+ 상단 오른쪽에서 왼쪽 아래 모서리까지의 대각선 상의 부정확한 예측의 수와 백분율

혼동 행렬의 부정확한 예측은 혼동 값입니다.

다음 다이어그램은 바이너리 분류 문제에 대한 혼동 행렬의 예를 보여줍니다. 여기에는 다음 정보가 포함됩니다.
+ 세로축은 참 및 거짓 실제 레이블을 포함하는 두 행으로 구분됩니다.
+ 가로 축은 모델에서 예측한 참 및 거짓 레이블을 포함하는 두 개의 열로 나뉩니다.
+ 색상 막대는 많은 수의 샘플에 어두운 색조를 할당하여 각 범주에서 분류된 값의 수를 시각적으로 나타냅니다.

이 예제에서 모델은 실제 2817개의 잘못된 값을 정확하게 예측하고 353개의 실제 참값을 정확하게 예측했습니다. 이 모델은 130개의 실제 참값을 거짓으로, 33개의 실제 거짓값을 참으로 잘못 예측했습니다. 색조 차이는 데이터세트가 균형을 이루지 못했다는 것을 나타냅니다. 불균형은 실제 참 레이블보다 실제 거짓 레이블이 더 많기 때문입니다.

![\[Amazon SageMaker Autopilot 바이너리 혼동 행렬 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-binary.png)


다음 다이어그램은 멀티클래스 분류 문제에 대한 혼동 행렬의 예를 보여줍니다. 모델 품질 보고서의 혼동 행렬에는 다음이 포함됩니다.
+ 세로축은 서로 다른 세 개의 실제 레이블을 포함하는 세 개의 행으로 나뉩니다.
+ 가로 축은 모델에서 예측한 레이블을 포함하는 세 개의 열로 나뉩니다.
+ 색상 막대는 많은 수의 샘플에 어두운 색조를 할당하여 각 범주에서 분류된 값의 수를 시각적으로 나타냅니다.

아래 예제에서 모델은 레이블 **f**의 실제값 354, 레이블 **i**의 실제값 1094, 레이블 **m**의 실제값 852를 정확하게 예측했습니다. 색조의 차이는 **f** 또는 **m** 값에 대한 것보다 **i** 값에 대한 레이블이 많기 때문에 데이터세트의 균형이 맞지 않는다는 것을 나타냅니다.

![\[Amazon SageMaker Autopilot 멀티클래스 혼동 행렬 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


제공된 모델 품질 보고서의 혼동 행렬은 멀티클래스 분류 문제 유형에 대해 최대 15개의 레이블을 수용할 수 있습니다. 레이블에 해당하는 행에 `Nan` 값이 표시되면, 모델 예측을 확인하는 데 사용되는 검증 데이터세트에 해당 레이블의 데이터가 포함되어 있지 않다는 의미입니다.

#### 이득 곡선
<a name="autopilot-model-insights-precision-gain-curve"></a>

바이너리 분류에서 이득 곡선은 데이터세트의 백분율을 사용하여 양수 레이블을 찾을 때의 누적 이익을 예측합니다. 이 이득 값은 훈련 중에 각 십분위수에서 양수 관측치의 누적 수를 데이터에 있는 양수 관측치의 총 수로 나누어 계산합니다. 훈련 중에 만든 분류 모델이 보이지 않는 데이터를 대표하는 경우 이득 곡선을 사용하여 양수 레이블의 백분율을 얻기 위해 목표로 삼아야 하는 데이터의 백분율을 예측할 수 있습니다. 사용된 데이터세트의 비율이 높을수록 양수 레이블이 발견된 비율도 높아집니다.

다음 예제 그래프에서 이득 곡선은 기울기가 변하는 선입니다. 직선은 데이터세트에서 무작위로 일정 비율의 데이터를 선택하여 찾은 양수 레이블의 백분율입니다. 데이터세트의 20%를 대상으로 지정하면 40% 이상의 양수 레이블이 발견될 것으로 예상됩니다. 예를 들어, 이득 곡선을 사용하여 마케팅 캠페인 성과를 결정하는 것을 고려해 볼 수 있습니다. 이득 곡선 예제를 사용하면 동네 주민 중 83%가 쿠키를 구매한다고 가정했을 때 해당 지역의 약 60%에게 광고를 보내는 셈이 됩니다.

![\[Amazon SageMaker Autopilot 이득 곡선 예제(백분율 및 이득 값 포함)\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-gain-curve.png)


#### 리프트 곡선
<a name="autopilot-model-insights-lift-curve"></a>

바이너리 분류에서 리프트 곡선은 훈련된 모델을 사용하여 양수 레이블을 찾을 확률을 무작위 추측과 비교해서 예측하는 향상을 보여줍니다. 리프트 값은 훈련 중에 각 십분위수의 양수 레이블 비율에 대한 백분율 이득 비율을 사용하여 계산됩니다. 훈련 중에 만든 모델이 보이지 않는 데이터를 나타내는 경우 리프트 곡선을 사용하여 무작위 추측보다 모델 사용에 이점이 있다는 것을 예측하세요.

다음 예제 그래프에서 리프트 곡선은 기울기가 변하는 선입니다. 직선은 데이터세트에서 해당 백분율을 임의로 선택하는 것과 관련된 리프트 곡선입니다. 모델의 분류 레이블로 데이터세트의 40%를 대상으로 지정하면 보이지 않는 데이터의 40%를 랜덤하게 선택하여 찾은 양수 레이블 수보다 약 1.7배를 찾을 수 있을 것으로 예상됩니다.

![\[Amazon SageMaker Autopilot 리프트 곡선 예제(백분율 및 리프트 값 포함)\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-lift-curve.png)


#### 정밀도-재현율 곡선
<a name="autopilot-model-insights-precision-recall-curve"></a>

정밀도-재현율 곡선은 바이너리 분류 문제에 대한 정밀도와 재현율 간의 절충을 나타냅니다.

**정밀도**는 모든 긍정적 예측(TP 및 위양성) 중에서 양수로 예측되는 실제 양수(TP)의 비율을 측정합니다. 범위는 0\$11입니다. 값이 클수록 예측된 값의 정확도가 더 높습니다.
+ 정밀도 = TP/(TP\$1FP)

**재현율**은 모든 실제 긍정적 예측(TP 및 위양성) 중에서 양수로 예측되는 실제 양수(TP)의 비율을 측정합니다. 이것을 민감도 또는 진양성 비율로도 알려져 있습니다. 범위는 0\$11입니다. 값이 클수록 표본에서 양수 값을 더 잘 감지할 수 있습니다.
+ 재현율 = TP/(TP\$1FN)

분류 문제의 목적은 가능한 한 많은 요소에 올바르게 레이블을 지정하는 것입니다. 재현율은 높지만 정밀도가 낮은 시스템은 높은 비율의 위양성을 반환합니다.

다음 그림은 모든 이메일을 스팸으로 표시하는 스팸 필터를 보여줍니다. 재현율은 위음성을 측정하지 않기 때문에 이 경우 재현율이 높지만 정밀도는 낮습니다.

문제의 위양성 값에 대한 페널티는 낮지만, 진양성 결과를 놓쳤을 때 페널티가 높은 경우 정밀도보다 재현율에 더 많은 가중치를 부여하세요. 자율 주행 차량에서 임박한 충돌을 감지하는 경우를 예로 들 수 있습니다.

![\[모든 샘플을 양성으로 모델링하는 고재현율 저정밀도 시스템의 Autopilot 예시\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-recall-low-precision.PNG)


고정밀도 저재현율 시스템은 높은 비율의 위음성 결과를 반환합니다. 모든 이메일을 권장(스팸 아님)으로 표시하는 스팸 필터는 정밀도가 높지만 재현율은 낮습니다. 정확도가 위음성을 측정하지 않기 때문입니다.

위음성 값에 대한 페널티는 낮지만, 진음성 결과를 놓쳤을 때 페널티가 높은 문제의 경우 재현율보다 정밀도에 더 많은 비중을 두세요. 세무 감사를 위해 의심스러운 필터에 플래그를 지정하는 경우를 예로 들 수 있습니다.

다음 그림은 정밀도가 위음성을 측정하지 않기 때문에 정밀도가 높지만 재현율은 낮은 스팸 필터를 보여줍니다.

![\[모든 샘플을 음성으로 모델링하는 고정밀도 및 저재현율 시스템의 Autopilot 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-high-precision-low-recall.PNG)


높은 정밀도와 높은 재현율을 모두 갖춘 예측을 수행하는 모델은 올바르게 레이블이 지정된 결과를 많이 생성합니다. 자세한 내용은 Wikipedia의 [정밀도 및 재현율](https://en.wikipedia.org/wiki/Precision_and_recall) 문서를 참조하세요.

#### 정밀도-재현율 곡선 아래 영역(AUPRC)
<a name="autopilot-model-insights-area-under-precision-recall-curve"></a>

바이너리 분류 문제의 경우 Amazon SageMaker Autopilot에 정밀도-재현율 곡선 아래 영역(AUPRC)의 그래프가 포함되어 있습니다. AUPRC 지표는 가능한 모든 분류 임곗값에서 모델 성능을 집계하여 측정하며 정밀도와 재현율을 모두 사용합니다. AUPRC는 진음성의 수를 고려하지 않습니다. 따라서 데이터에 진음성 수가 많은 경우 모델 성능을 평가할 때 유용할 수 있습니다. 희귀 돌연변이를 포함하는 유전자를 모델링하는 경우를 예로 들 수 있습니다.

다음 그림은 AUPRC 그래프의 예제입니다. 최고값에서의 정밀도는 1이고 재현율은 0입니다. 그래프의 오른쪽 하단에서 재현율은 가장 높은 값 1이고 정밀도는 0입니다. 이 두 점 사이의 AUPRC 곡선은 서로 다른 임곗값에서 정밀도와 재현율 간의 절충을 보여줍니다.

![\[정밀도-재현율 곡선은 서로 다른 임곗값에서의 정밀도와 재현율 간의 절충을 나타냅니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-binary-precision-recall.png)


#### 실제 도표와 예측 도표 비교
<a name="autopilot-model-insights-actual-vs-predicted-plot"></a>

실제 대 예측 도표는 실제 모델 값과 예측 모델 값 간의 차이를 보여줍니다. 다음 예제 그래프에서 실선은 선형 최적 적합선입니다. 모델의 정확도가 100%인 경우 각 예측점은 해당하는 실제 지점과 같고 이 최적 적합선 위에 놓이게 됩니다. 최적 적합선으로부터의 거리는 모델 오류를 시각적으로 나타냅니다. 최적 적합선에서 멀어질수록 모델 오차가 커집니다.

![\[선형 최적 적합선, 실제 도표와 예측 도표의 차이, 모델 오차의 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-actual-vs-predicted-plot.png)


#### 표준화 잔차 도표
<a name="autopilot-model-insights-standardized-residual"></a>

표준화 잔차 도표에는 다음과 같은 통계 용어가 포함됩니다.

**`residual`**  
(원시) 잔차는 모델에서 예측한 실제값과 예측값 간의 차이를 보여줍니다. 차이가 클수록 잔차 값도 커집니다.

**`standard deviation`**  
표준 편차는 값이 평균 값과 어떻게 다른지를 측정한 것입니다. 표준 편차가 높으면 많은 값이 평균 값과 크게 다르다는 것을 나타냅니다. 표준 편차가 낮으면 많은 값이 평균 값에 가깝다는 것을 나타냅니다.

**`standardized residual`**  
표준화 잔차는 원시 잔차를 표준 편차로 나눕니다. 표준화 잔차는 표준 편차 단위를 가지며 원시 잔차의 규모 차이에 관계없이 데이터의 이상치를 식별하는 데 유용합니다. 표준화 잔차가 다른 표준화 잔차보다 훨씬 작거나 크면 모델이 이러한 관측치에 잘 맞지 않는다는 뜻입니다.

표준화 잔차 도표는 관측값과 예상 값 간의 차이 강도를 측정합니다. 실제 예측값은 x축에 표시됩니다. 일반적으로 값이 절대값 3보다 큰 점을 이상치로 간주합니다.

다음 예제 그래프는 수평 축에서 0을 중심으로 많은 수의 표준화 잔차가 모여 있음을 보여줍니다. 값이 0에 가까울수록 모델이 이러한 점에 잘 맞음을 나타냅니다. 도표의 위쪽과 아래쪽으로 향하는 점은 모델이 잘 예측하지 못합니다.

![\[Amazon SageMaker Autopilot 표준화 잔차 도표 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-standardized-residual.png)


#### 잔차 히스토그램
<a name="autopilot-model-insights-residual-histogram"></a>

잔차 히스토그램에는 다음과 같은 통계 용어가 포함됩니다.

**`residual`**  
(원시) 잔차는 모델에서 예측한 실제값과 예측값 간의 차이를 보여줍니다. 차이가 클수록 잔차 값도 커집니다.

**`standard deviation`**  
표준 편차는 값이 평균 값과 얼마나 다른지를 측정한 것입니다. 표준 편차가 높으면 많은 값이 평균 값과 크게 다르다는 것을 나타냅니다. 표준 편차가 낮으면 많은 값이 평균 값에 가깝다는 것을 나타냅니다.

**`standardized residual`**  
표준화 잔차는 원시 잔차를 표준 편차로 나눕니다. 표준화 잔차의 단위는 표준 편차 단위입니다. 원시 잔차의 규모 차이에 관계없이 데이터의 이상치를 식별하는 데 유용합니다. 표준화 잔차가 다른 표준화 잔차보다 훨씬 작거나 크면 모델이 이러한 관측치에 잘 맞지 않는다는 뜻일 수 있습니다.

**`histogram`**  
히스토그램은 값이 얼마나 자주 발생했는지를 보여주는 그래프입니다.

잔차 히스토그램은 표준화 잔차 값의 분포를 보여줍니다. 종 모양으로 분포되고 0에 중심을 둔 히스토그램은 모델이 대상 값의 특정 범위를 체계적으로 과대 예측하거나 과소 예측하지 않음을 나타냅니다.

다음 그림에서 표준화 잔차 값은 모델이 데이터를 잘 적합시키고 있음을 나타냅니다. 그래프에 중심값에서 멀리 떨어진 값이 표시되면 해당 값이 모델에 잘 맞지 않는다는 의미입니다.

![\[표준화 잔차 값이 0에 가까우면 이는 모델이 데이터를 잘 적합시킨다는 것을 나타냅니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-residual-histogram.png)


# AutoML 작업을 관리하기 위해 생성된 Autopilot 노트북
<a name="autopilot-automate-model-development-notebook-output"></a>

Amazon SageMaker Autopilot은 AutoML 작업을 사용하여 자동 기계 학습(AutoML) 프로세스의 주요 작업을 관리합니다. AutoML 작업은 후보 모델을 생성하기 위해 Autopilot이 따르는 계획을 설명하는 세 개의 노트북 기반 보고서를 생성합니다.

후보 모델은 쌍(파이프라인, 알고리즘)으로 구성됩니다. 먼저, 사용자가 제공한 데이터에 대해 Autopilot이 배운 내용을 설명하는 **데이터 탐색** 노트북이 있습니다. 둘째, 후보를 생성하기 위해 데이터에 대한 정보를 사용하는 **후보 정의** 노트북이 있습니다. 셋째, Autopilot 실험의 순위표에서 최적의 모델의 성능 특성을 자세히 설명하는 데 도움이 되는 **모델 인사이트** 보고서입니다.

**Topics**
+ [Autopilot 데이터 탐색 보고서](autopilot-data-exploration-report.md)
+ [후보 정의 노트북 찾기 및 실행](autopilot-candidate-generation-notebook.md)

이러한 노트북은 Amazon SageMaker AI나 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)를 설치한 경우 로컬에서 실행할 수 있습니다. 다른 SageMaker Studio Classic 노트북과 마찬가지로 이 노트북을 공유할 수 있습니다. 노트북은 실험을 수행할 수 있도록 만들어졌습니다. 예를 들어 노트북에서 다음 항목을 편집할 수 있습니다.
+ 데이터에 사용된 프리프로세서 
+ HPO(하이퍼파라미터 최적화) 실행 및 병렬화 횟수
+ 시도할 알고리즘
+ HPO 작업에 사용되는 인스턴스 유형
+ 하이퍼파라미터 범위

후보 정의 노트북을 수정하여 학습 도구로 사용할 것을 권장합니다. 이 기능을 사용하면 기계 학습 프로세스 중에 내린 결정이 결과에 어떤 영향을 미치는지 알 수 있습니다.

**참고**  
기본 인스턴스에서 노트북을 실행하면 기준 비용이 발생합니다. 하지만 후보 노트북에서 HPO 작업을 실행하는 경우 이러한 작업에는 추가 컴퓨팅 리소스가 사용되므로 추가 비용이 발생합니다.

# Autopilot 데이터 탐색 보고서
<a name="autopilot-data-exploration-report"></a>

Amazon SageMaker Autopilot은 데이터세트를 자동으로 정리하고 사전 처리합니다. 고품질 데이터는 기계 학습 효율성을 개선하고 더 정확한 예측을 가능하게 하는 모델을 생성합니다.

고객이 제공한 데이터세트에는 일부 도메인 지식이 없으면 자동으로 수정할 수 없는 문제가 있습니다. 예를 들어, 회귀 문제의 대상 열에 특이치 값이 크면 특이치가 아닌 값에 대한 예측이 최적이 아닐 수 있습니다. 모델링 목표에 따라 특이치를 제거해야 할 수도 있습니다. 실수로 대상 열이 입력 특징 중 하나로 포함된 경우 최종 모델은 잘 검증되지만 향후 예측에는 거의 가치가 없습니다.

Autopilot은 고객이 이러한 종류의 문제를 발견할 수 있도록 데이터의 잠재적 문제에 대한 인사이트가 포함된 데이터 탐색 보고서를 제공합니다. 보고서는 또한 문제 해결 방법을 제안합니다.

모든 Autopilot 작업에 대해 보고서가 포함된 데이터 탐색 노트북이 생성됩니다. 보고서는 Amazon S3 버킷에 저장되며 출력 경로에서 액세스할 수 있습니다. 데이터 탐색 보고서의 경로는 일반적으로 다음 패턴을 따릅니다.

```
[s3 output path]/[name of the automl job]/sagemaker-automl-candidates/[name of processing job used for data analysis]/notebooks/SageMaker AIAutopilotDataExplorationNotebook.ipynb
```

데이터 탐색 노트북의 위치는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) 작업 응답을 사용하여 Autopilot API에서 가져올 수 있는데 이는 [DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html#sagemaker-Type-AutoMLJobArtifacts-DataExplorationNotebookLocation)에 저장됩니다.

SageMaker Studio Classic에서 Autopilot을 실행할 때 다음 단계를 사용하여 데이터 탐색 보고서를 열 수 있습니다.

1. 최상위 **Amazon SageMak Classicer Studio** 탐색 메뉴를 보려면 *왼쪽 탐색 창*에서**홈** 아이콘 ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/icons/house.png)을 선택합니다.

1. 기본 작업 영역에서 **AutoML** 카드를 선택합니다. 그러면 새 **Autopilot** 탭이 열립니다.

1. **이름** 섹션에서 검사하려는 데이터 탐색 노트북이 있는 Autopilot 작업을 선택합니다. 그러면 새 **Autopilot 작업** 탭이 열립니다.

1. **Autopilot 작업** 탭의 오른쪽 상단에서 **데이터 탐색 노트북 열기**를 선택합니다.

데이터 탐색 보고서는 훈련 프로세스가 시작되기 전에 데이터에서 생성됩니다. 이렇게 하면 의미 없는 결과를 초래할 수 있는 Autopilot 작업을 중지할 수 있습니다. 마찬가지로, Autopilot을 다시 실행하기 전에 데이터세트와 관련된 문제나 개선 사항을 해결할 수 있습니다. 이렇게 하면 더 잘 선별된 데이터세트를 기반으로 모델을 학습시키기 전에 해당 분야의 전문 지식을 활용하여 수동으로 데이터 품질을 개선할 수 있습니다.

데이터 보고서에는 정적 마크다운만 포함되며 모든 Jupyter 환경에서 열 수 있습니다. 보고서가 들어 있는 노트북은 PDF 또는 HTML과 같은 다른 형식으로 변환할 수 있습니다. 변환에 대한 자세한 내용은 [nbconvert 스크립트를 사용하여 Jupyter notebook을 다른 형식으로 변환](https://nbconvert.readthedocs.io/en/latest/usage.html )을 참조하세요.

**Topics**
+ [데이터세트 요약](#autopilot-data-exploration-report-dataset-summary)
+ [대상 분석](#autopilot-data-exploration-report-target-analysis)
+ [데이터 샘플](#autopilot-data-exploration-report-data-sample)
+ [중복된 행](#autopilot-data-exploration-report-duplicate-rows)
+ [열 간 상관 관계](#autopilot-data-exploration-report-cross-column-correlations)
+ [변칙적 행](#autopilot-data-exploration-report-cross-anomolous-rows)
+ [누락된 값, 카디널리티, 설명 통계](#autopilot-data-exploration-report-description-statistics-and-values)

## 데이터세트 요약
<a name="autopilot-data-exploration-report-dataset-summary"></a>

이 **데이터세트 요약**은 행, 열 수, 중복된 행 비율, 누락된 목표 값 등 데이터세트를 특징짓는 주요 통계를 제공합니다. 이는 Amazon SageMaker Autopilot에서 감지하여 사용자 개입이 필요할 수 있는 데이터세트에 문제가 있는 경우 빠른 알림을 제공하기 위한 것입니다. 인사이트는 심각도가 '높음' 또는 '낮음'으로 분류된 경고로 표시됩니다. 분류는 문제가 모델 성능에 부정적인 영향을 미칠 것이라는 신뢰 수준에 따라 달라집니다.

심각도가 높거나 낮은 인사이트는 요약에 팝업으로 표시됩니다. 대부분의 인사이트에는 주의가 필요한 데이터세트에 문제가 있는지 확인하는 방법에 대한 권장 사항이 제공됩니다. 문제 해결 방법에 대한 제안도 있습니다.

Autopilot은 데이터세트에서 누락되거나 유효하지 않은 목표값에 대한 추가 통계를 제공하여 심각도가 높은 인사이트로는 포착할 수 없는 다른 문제를 찾아내는 데 도움이 됩니다. 특정 유형의 열이 예기치 않은 숫자이면 사용하려는 일부 열이 데이터세트에서 누락되었을 수 있습니다. 또한 데이터를 준비하거나 저장하는 방식에 문제가 있었음을 의미할 수도 있습니다. Autopilot이 관심을 불러일으킨 이러한 데이터 문제를 해결하면 데이터를 기반으로 훈련된 기계 학습 모델의 성능을 개선할 수 있습니다.

심각도가 높은 인사이트는 요약 섹션 및 보고서의 기타 관련 섹션에 표시됩니다. 일반적으로 데이터 보고서의 섹션에 따라 심각도가 높은 인사이트와 낮은 심각도 인사이트의 예가 제공됩니다.

## 대상 분석
<a name="autopilot-data-exploration-report-target-analysis"></a>

이 섹션에는 대상 열의 값 분포와 관련하여 심각도가 높거나 낮은 다양한 인사이트를 보여줍니다. 대상 열에 올바른 값이 포함되어 있는지 확인하세요. 대상 열의 값이 올바르지 않으면 기계 학습 모델이 의도한 비즈니스 목적에 부합하지 않을 수 있습니다. 이 섹션에는 심각도가 높고 낮은 여러 데이터 인사이트가 나와 있습니다. 다음은 몇 가지 예제입니다.
+ **특이치 대상 값 **- 편향되거나 비정상적 회귀 대상 분포 (예: 꼬리 부분에 집중된 대상 값).
+ **대상 카디널리티가 높거나 낮음** - 클래스 레이블 수가 드물거나 분류를 위한 고유한 클래스 수가 많습니다.

회귀 및 분류 문제 유형 모두에서 무한대 숫자, `NaN` 또는 빈 대상 열 등 유효하지 않은 값이 표시됩니다. 문제 유형에 따라 다양한 데이터세트 통계가 제공됩니다. 회귀 문제의 대상 열 값 분포를 통해 분포가 예상과 일치하는지 확인할 수 있습니다.

다음 스크린샷은 데이터세트의 평균, 중앙값, 최소값, 최대값, 이상치 백분율 등의 통계가 포함된 Autopilot 데이터 보고서를 보여줍니다. 스크린샷에는 대상 열의 레이블 분포를 보여주는 히스토그램도 포함되어 있습니다. 히스토그램에서는 가로축에 **대상 열 값**을 세로축에 **개수**를 보여줍니다. 상자는 스크린샷의 **이상치 백분율** 섹션을 강조 표시하여 이 통계가 나타나는 위치를 보여줍니다.

![\[대상 열 값 분포에 대한 Autopilot 데이터 보고서.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis.png)


대상 값 및 분포와 관련된 여러 통계가 표시됩니다. 이상치, 유효하지 않은 값 또는 누락된 백분율이 0보다 크면 해당 값이 표시되므로 데이터에 사용할 수 없는 대상 값이 포함된 이유를 조사할 수 있습니다. 사용할 수 없는 일부 대상 값은 심각도가 낮은 인사이트 경고로 강조 표시됩니다.

다음 스크린샷에서는 대상 열에 실수로 ` 기호가 추가되어 대상 숫자 값이 파싱되지 않았습니다. **심각도가 낮은 인사이트: “잘못된 대상 값”** 경고가 나타납니다. 이 예제의 경고 메시지는 “대상 열의 레이블 중 0.14%를 숫자 값으로 변환할 수 없습니다”라고 표시합니다. 숫자가 아닌 가장 일반적인 값은 ["-3.8e-05","-9-05","-4.7e-05","-1.4999999999999999e-05","-4.3e-05"]입니다. 이는 일반적으로 데이터 수집 또는 처리에 문제가 있음을 나타냅니다. Amazon SageMaker Autopilot은 대상 레이블이 잘못된 모든 데이터를 무시합니다.”

![\[Autopilot 데이터는 잘못된 대상 값에 대해 낮은 심각도의 경고를 보고합니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-target-values.png)


또한 Autopilot은 분류를 위한 레이블 분포를 보여주는 히스토그램을 제공합니다.

다음 스크린샷은 클래스 수, 누락된 값 또는 유효하지 않은 값을 포함하는 대상 열에 대해 제공된 통계의 예를 보여줍니다. 가로 축에 **대상 레이블**이 있고 세로 축에 **빈도**가 표시된 히스토그램은 각 레이블 범주의 분포를 보여줍니다.

![\[Autopilot 데이터에 따르면 분류 카디널리티가 높습니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-target-analysis-invalid-classification.png)


**참고**  
이 섹션과 다른 섹션에 제시된 모든 용어의 정의는 보고서 노트 하단의 **정의** 섹션에서 찾을 수 있습니다.

## 데이터 샘플
<a name="autopilot-data-exploration-report-data-sample"></a>

Autopilot은 데이터의 실제 샘플을 제시하여 데이터세트와 관련된 문제를 찾아내는 데 도움을 줍니다. 샘플 테이블은 가로로 스크롤됩니다. 샘플 데이터를 검사하여 데이터세트에 필요한 모든 열이 있는지 확인합니다.

또한 Autopilot은 예측력 측정값을 계산하여 특징과 대상 변수 간의 선형 또는 비선형 관계를 식별하는 데 사용할 수 있습니다. `0`의 값은 대상 변수를 예측할 때 특징에 대한 예측 값이 없음을 나타냅니다. `1`의 값은 대상 변수에 대한 예측력이 가장 높음을 나타냅니다. 예측력에 대한 자세한 내용은 **정의** 섹션을 참조하세요.

**참고**  
특징 중요도 대신 예측력을 사용하는 것은 권장되지 않습니다. 예측력이 사용 사례에 적합한 측정값이라고 확신하는 경우에만 사용하세요.

다음 스크린샷은 데이터 샘플의 예를 보여줍니다. 맨 위 행에는 데이터세트에 있는 각 열의 예측력이 포함됩니다. 두 번째 행에는 열 데이터 유형이 포함됩니다. 다음 행에는 레이블이 포함됩니다. 열에는 대상 열과 각 특징 열이 차례로 포함됩니다. 각 특징 열에는 이 스크린샷에서 강조 표시된 관련 예측력이 상자와 함께 표시됩니다. 이 예제에서는 특징 `x51`을 포함하는 열이 대상 변수 `y`에 대해 `0.68`의 예측력을 가지고 있습니다. 특징 `x55`은 예측력이 `0.59`로서 예측 가능성이 약간 떨어집니다.

![\[Autopilot 데이터 보고서 데이터 샘플 예측력.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-sample-prediction.png)


## 중복된 행
<a name="autopilot-data-exploration-report-duplicate-rows"></a>

데이터세트에 중복된 행이 있는 경우 Amazon SageMaker Autopilot은 해당 행의 샘플을 표시합니다.

**참고**  
Autopilot에 제공하기 전에 업샘플링을 통해 데이터세트를 밸런싱하는 것은 권장되지 않습니다. 이로 인해 Autopilot으로 훈련한 모델의 검증 점수가 부정확해질 수 있으며 생산된 모델을 사용할 수 없게 될 수 있습니다.

## 열 간 상관 관계
<a name="autopilot-data-exploration-report-cross-column-correlations"></a>

Autopilot은 두 특징 간의 선형 상관 관계를 측정한 Pearson 상관 계수를 사용하여 상관 행렬을 채웁니다. 상관 행렬에서는 가로축과 세로축 모두에 숫자형 특징이 그려지고, 교차점에 피어슨 상관 계수가 그려집니다. 두 특징 간의 상관 관계가 높을수록 계수가 높아지며 최대값은 `|1|`입니다.
+ 값이 `-1`이면 특징들이 완전히 음의 상관관계가 있음을 나타냅니다.
+ 특징이 그 자체와 상관관계가 있을 때 나타나는 값인 `1`은 완전한 양의 상관관계를 나타냅니다.

상관 행렬의 정보를 사용하여 상관 관계가 높은 특징을 제거할 수 있습니다. 특징의 수가 적을수록 모델이 과적합될 가능성이 줄어들고 두 가지 측면에서 생산 비용을 줄일 수 있습니다. 필요한 Autopilot 런타임이 줄어들고, 일부 애플리케이션의 경우 데이터 수집 절차가 더 저렴해질 수 있습니다.

다음 스크린샷은 `7` 특징 간 상관 행렬의 예를 보여줍니다. 각 특징은 가로축과 세로축 모두에 매트릭스로 표시됩니다. Pearson의 상관 계수는 두 특징 사이의 교차점에 표시됩니다. 각 특징 교차점에는 관련된 색조가 있습니다. 상관 관계가 높을수록 색조가 어두워집니다. 가장 어두운 색조는 행렬의 대각선을 차지하며, 여기서 각 특징은 그 자체와 상관 관계가 있어 완벽한 상관 관계를 나타냅니다.

![\[Autopilot 데이터는 데이터 상호 상관 행렬을 보고합니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-cross-column-statistics.png)


## 변칙적 행
<a name="autopilot-data-exploration-report-cross-anomolous-rows"></a>

Amazon SageMaker Autopilot은 데이터세트에서 비정상적일 수 있는 행을 감지합니다. 그런 다음 각 행에 예외 항목 점수를 지정합니다. 변칙 점수가 음수인 행은 변칙 행으로 간주됩니다.

다음 스크린샷은 예외가 포함된 행에 대한 Autopilot 분석 결과를 보여줍니다. 각 행의 데이터세트 열 옆에 예외 점수가 포함된 열이 나타납니다.

![\[변칙 점수가 음수임을 보여주는 변칙 행이 있는 Autopilot 데이터세트.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-anomalous-rows.png)


## 누락된 값, 카디널리티, 설명 통계
<a name="autopilot-data-exploration-report-description-statistics-and-values"></a>

Amazon SageMaker Autopilot은 데이터세트에 있는 개별 열의 속성을 검사하고 보고합니다. 이 분석을 제공하는 데이터 보고서의 각 섹션에는 내용이 순서대로 정렬되어 있습니다. 이렇게 하면 가장 “의심스러운” 값을 먼저 확인할 수 있습니다. 이 통계를 사용하면 개별 열의 내용을 개선하고 Autopilot으로 생성된 모델의 품질을 개선할 수 있습니다.

Autopilot은 범주형 값이 포함된 열의 범주형 값에 대한 여러 통계를 계산합니다. 여기에는 고유한 항목 수와 텍스트의 경우 고유한 단어 수가 포함됩니다.

Autopilot은 열에 포함된 수치 값에 대한 몇 가지 표준 통계를 계산합니다. 다음 이미지는 평균, 중앙값, 최소값 및 최대값, 수치 유형 및 이상값의 백분율을 포함한 이러한 통계를 보여줍니다.

![\[Autopilot 데이터는 숫자 값이 있는 열에 대한 통계를 보고합니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-data-report-data-descriptive-statistics.png)


# 후보 정의 노트북 찾기 및 실행
<a name="autopilot-candidate-generation-notebook"></a>

후보 정의 노트북에는 제안된 각각의 사전 처리 단계, 알고리즘 및 하이퍼파라미터 범위가 포함되어 있습니다.

두 가지 방법으로 훈련하고 튜닝할 후보를 선택할 수 있습니다. 첫 번째는 노트북의 여러 섹션을 실행하는 것입니다. 두 번째는 전체 노트북을 실행하여 모든 후보를 최적화하여 최적의 후보를 식별하는 것입니다. 전체 노트북을 실행하는 경우 작업 완료 후 가장 적합한 후보만 표시됩니다.

SageMaker Studio Classic에서 Autopilot을 실행하려면 다음 단계에 따라 후보 정의 노트북을 여세요.

1. 최상위 **Amazon SageMaker Studio** 탐색 메뉴를 보려면 왼쪽 탐색 창에서 **홈** 아이콘 ![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/icons/house.png)을 선택합니다.

1. 기본 작업 영역에서 **AutoML** 카드를 선택합니다. 그러면 새 **Autopilot** 탭이 열립니다.

1. **이름** 섹션에서 검사하려는 후보 정의 노트북이 있는 Autopilot 작업을 선택합니다. 그러면 새 **Autopilot 작업** 탭이 열립니다.

1. **Autopilot 작업** 탭의 오른쪽 상단에서 **후보 생성 노트북 열기**를 선택합니다. 그러면 **Amazon SageMaker Autopilot 후보 정의 노트북**의 새로운 읽기 전용 미리 보기가 열립니다.

후보 정의 노트북을 실행하려면 다음 단계를 따르세요.

1. **Amazon SageMaker Autopilot 후보 정의 노트북** 탭의 오른쪽 상단에서 **노트북 가져오기** 선택합니다. 그러면 노트북을 실행하기 위한 새 노트북 환경을 설정하는 탭이 열립니다.

1. 기존 SageMaker **이미지**를 선택하거나 **사용자 지정 이미지**를 사용합니다.

1. **커널**, **인스턴스 유형** 및 선택적 **시작 스크립트**를 선택합니다.

이제 이 새 환경에서 노트북을 실행할 수 있습니다.

# 생성된 컨테이너에 추론 출력을 구성하기
<a name="autopilot-automate-model-development-container-output"></a>

Autopilot은 순서가 지정된 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) 목록을 생성합니다. 이를 사용하여 기계 학습 파이프라인에 배포할 모델을 구축할 수 있습니다. 이 모델은 온라인 호스팅 및 추론에 사용할 수 있습니다.

고객은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidateForAutoMLJob.html) API를 사용하여 추론 컨테이너 정의를 나열할 수 있습니다. 최적의 후보를 나타내는 추론 컨테이너 정의 목록은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) 응답에서도 확인할 수 있습니다.

## 회귀 및 분류 문제 유형의 추론 컨테이너 정의
<a name="autopilot-problem-type-container-output"></a>

Autopilot은 [훈련 모드](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode) 및 작업의 [문제 유형](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types)에 맞는 추론 컨테이너를 생성합니다.

### 하이퍼파라미터 최적화(HPO) 모드의 컨테이너 정의
<a name="autopilot-problem-type-container-output-hpo"></a>
+ **회귀**: HPO는 다음과 같은 두 개의 컨테이너를 생성합니다.

  1. 원래의 기능을 회귀 알고리즘이 학습할 수 있는 기능으로 변환하는 기능 엔지니어링 컨테이너입니다.

  1. 기능을 변환하고 데이터세트의 회귀 점수를 생성하는 알고리즘 컨테이너입니다.
+ **분류**: HPO는 다음과 같은 세 개의 컨테이너를 생성합니다.

  1. 원래의 기능을 분류 알고리즘이 학습할 수 있는 기능으로 변환하는 기능 엔지니어링 컨테이너입니다.

  1. 가장 높은 확률의 `predicted_label`을 생성하는 알고리즘 컨테이너입니다. 또한 이 컨테이너는 추론 응답의 분류 결과와 관련된 다양한 확률을 산출할 수 있습니다.

  1. 알고리즘 예측의 사후 처리를 수행하는 기능 엔지니어링 컨테이너입니다. 예를 들어 예측된 레이블에 역변환을 수행하여 원래 레이블로 변경할 수 있습니다.

### 앙상블 모드의 컨테이너 정의
<a name="autopilot-problem-type-container-output-ensemble"></a>

앙상블 모드에서는 회귀 및 분류 문제 유형 모두 추론 컨테이너가 단 하나입니다. 이 추론 컨테이너는 기능을 변환하고 문제 유형에 따라 예측을 생성합니다.

## 문제 유형별 추론 응답
<a name="autopilot-problem-type-inference-response"></a>

### 분류 모델의 추론 응답
<a name="autopilot-problem-type-inference-response-classification"></a>

분류 추론 컨테이너의 경우 다음과 같이 사전 정의된 네 개의 키를 사용하여 추론 응답의 내용을 선택할 수 있습니다.
+ `predicted_label`: Autopilot에 의해 결정된, 정확한 라벨을 예측할 확률이 가장 높은 라벨.
+ `probability`: 
  + **HPO 모델:** 바이너리 분류의 `True` 확률. 멀티클래스 분류의 `predicted_label` 확률.
  + **앙상블 모델:** 바이너리 및 멀티클래스 분류의 `predicted_label` 확률.
+ `probabilities`: 해당하는 모든 클래스의 확률 목록.
+ `labels`: 모든 레이블 목록.

예를 들어 바이너리 분류 문제의 경우 추론 응답 키 `['predicted_label', 'probability', 'probabilities', 'labels']`를 전달하고 출력 응답이 `[1, 0.1, "[0.9, 0.1]", "['1', '0']"]`으로 나타나면 다음과 같이 해석해야 합니다.

1. `predicted_label`은 `1`와 같습니다. 레이블 “1"의 확률이 더 높기 때문입니다(이 경우 `0.9`).

1. HPO 모델의 경우 `probability`는 Autopilot이 선택한 `positive_class`(이 `0` 경우)의 확률인 `0.1`과 같습니다.

   앙상블 모델의 경우 `probability`는 `predicted_label`의 확률인 `0.9`와 같습니다.

1. `probabilities`은 `labels`에 있는 각 레이블의 `probability` 목록을 표시합니다.

1. `labels`는 데이터세트의 고유한 레이블로, 두 번째 레이블(이 경우 “0")이 Autopilot이 선택한 `positive_class`입니다.

기본적으로 추론 컨테이너는 `predicted_label`만 생성하도록 구성됩니다. 추가 추론 콘텐츠를 선택하려면 다음 세 가지 환경 변수를 포함하도록 `inference_response_keys` 파라미터를 업데이트하면 됩니다.
+ `SAGEMAKER_INFERENCE_SUPPORTED`: 각 컨테이너가 지원하는 콘텐츠에 대한 힌트를 제공하도록 설정됩니다.
+ `SAGEMAKER_INFERENCE_INPUT`: 컨테이너가 입력 페이로드에서 예상하는 키로 설정해야 합니다.
+ `SAGEMAKER_INFERENCE_OUTPUT`: 컨테이너가 출력하는 키 세트로 채워져야 합니다.

### HPO 모드에서 분류 모델의 추론 응답
<a name="autopilot-problem-type-inference-response-classification-hpo"></a>

이 섹션에서는 하이퍼파라미터 최적화(HPO) 모드를 사용하여 분류 모델의 추론 응답을 구성하는 방법을 보여줍니다.

HPO 모드에서 추론 응답 콘텐츠를 선택하려면: 분류 문제를 위해 HPO 모드에서 생성되는 두 번째 및 세 번째 컨테이너에 `SAGEMAKER_INFERENCE_INPUT` 및 `SAGEMAKER_INFERENCE_OUTPUT` 변수를 추가합니다.

두 번째 컨테이너(알고리즘)에서 지원하는 키는 predicted\$1label, probability 및 probabilities입니다. `labels`은 의도적으로 `SAGEMAKER_INFERENCE_SUPPORTED`에 추가하지 않았습니다.

세 번째 분류 모델 컨테이너에서 지원하는 키는`predicted_label`, `labels`, `probability` 및 `probabilities`입니다. 따라서 `SAGEMAKER_INFERENCE_SUPPORTED` 환경에는 이러한 키의 이름이 포함됩니다.

`predicted_label` 및 `probability`을 받을 추론 컨테이너 정의를 업데이트하려면 다음 코드 예제를 사용합니다.

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

다음 코드 예제는 `predicted_label`, `probabilities` 및 `labels`을 받을 추론 컨테이너 정의를 업데이트합니다. 두 번째 컨테이너(알고리즘 컨테이너)에 `labels`을 전달하지 마세요. 이는 세 번째 컨테이너에서 독립적으로 생성됩니다.

```
containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label,probabilities'})
containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probabilities,labels'})
```

다음 축소 가능한 섹션에서는 및 SageMaker SDK for Python AWS SDK for Python (Boto3) 에 대한 코드 예제를 제공합니다. 각 섹션에서는 각 코드 예제에 대해 HPO 모드에서 추론 응답의 콘텐츠를 선택하는 방법을 보여줍니다.

#### AWS SDK for Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-hpo-boto3"></a>

```
import boto3

sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>'

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

best_candidate_containers[1]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_INPUT': 'predicted_label, probability'})
best_candidate_containers[2]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})

# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

#### Python용 SageMaker SDK
<a name="autopilot-problem-type-inference-response-classification-hpo-sdk"></a>

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  inference_response_keys**=['probabilities', 'labels'])

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

### 앙상블 모드에서 분류 모델의 추론 응답
<a name="autopilot-problem-type-inference-response-classification-ensemble"></a>

이 섹션에서는 앙상블 모드를 사용하여 분류 모델의 추론 응답을 구성하는 방법을 보여줍니다.

**앙상블 모드**에서 추론 응답의 내용을 선택하려면 `SAGEMAKER_INFERENCE_OUTPUT` 환경 변수를 업데이트합니다.

분류 모델 컨테이너에서 지원하는 키는`predicted_label`, `labels`, `probability` 및 `probabilities`입니다. 이러한 키는 `SAGEMAKER_INFERENCE_SUPPORTED` 환경에 포함됩니다.

`predicted_label`및 `probability`를 받을 추론 컨테이너 정의를 업데이트하려면 다음 코드 예제를 참조하세요.

```
containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
```

다음 접이식 섹션에서는 앙상블 모드에서 추론 응답의 내용을 선택하기 위한 코드 예제를 제공합니다. 이 예제에서는를 사용합니다 AWS SDK for Python (Boto3).

#### AWS SDK for Python (Boto3)
<a name="autopilot-problem-type-inference-response-classification-ensembling-boto3"></a>

```
import boto3
sm_client = boto3.client('sagemaker', region_name='<Region>')

role = '<IAM role>'
input_data = '<S3 input uri>'
output_path = '<S3 output uri>' 

best_candidate = sm_client.describe_auto_ml_job(AutoMLJobName='<AutoML Job Name>')['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

*best_candidate_containers[0]['Environment'].update({'SAGEMAKER_INFERENCE_OUTPUT': 'predicted_label, probability'})
*
# create model
reponse = sm_client.create_model(
    ModelName = '<Model Name>',
    ExecutionRoleArn = role,
    Containers = best_candidate_containers
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName='<Transform Job Name>',
    ModelName='<Model Name>',
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/CSV",
        'SplitType': 'Line'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m4.xlarge',
        'InstanceCount': 1,
    },
)
```

다음 접이식 섹션에서는 HPO를 위해 Python용 SageMaker SDK 예제와 동일한 코드 예제를 제공합니다. 편의를 위해 포함되어 있습니다.

#### Python용 SageMaker SDK
<a name="autopilot-problem-type-inference-response-classification-ensembling-sdk"></a>

다음 HPO 코드 예제는 Python용 SageMaker SDK를 사용합니다.

```
from sagemaker import AutoML

aml = AutoML.attach(auto_ml_job_name='<AutoML Job Name>')
aml_best_model = aml.create_model(name='<Model Name>',
                                  candidate=None,
                                  *inference_response_keys**=['probabilities', 'labels'])*

aml_transformer = aml_best_model.transformer(accept='text/csv',
                                            assemble_with='Line',
                                            instance_type='ml.m5.xlarge',
                                            instance_count=1,)

aml_transformer.transform('<S3 input uri>',
                          content_type='text/csv',
                          split_type='Line',
                          job_name='<Transform Job Name>',
                          wait=True)
```

# AutoML API를 사용하여 이미지 분류 작업 생성
<a name="autopilot-create-experiment-image-classification"></a>

다음 지침은 SageMaker [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)를 사용하여 이미지 분류 문제 유형에 대한 파일럿 실험으로 Amazon SageMaker Autopilot 작업을 생성하는 방법을 보여줍니다.

**참고**  
텍스트 및 이미지 분류, 시계열 예측, 대형 언어 모델 미세 조정과 같은 작업은 버전 2의 [AutoML REST API](autopilot-reference.md)를 통해서만 사용할 수 있습니다. 선택한 언어가 Python인 경우 Amazon SageMaker Python SDK의 [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) 또는 [AutoMLV2 객체](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)를 직접 참조할 수 있습니다.  
편리한 사용자 인터페이스를 선호하는 사용자는 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)를 사용하여 사전 훈련된 모델, 생성형 AI 기반 모델에 액세스하거나 특정 텍스트, 이미지 분류 또는 예측 요구 또는 생성형 AI에 맞춘 사용자 지정 모델을 생성할 수 있습니다.

Amazon SageMaker Autopilot 또는 AWS CLI에서 지원하는 모든 언어로 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API 작업을 호출하여 프로그래밍 방식으로 Autopilot 이미지 분류 실험을 생성할 수 있습니다.

이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 `CreateAutoMLJobV2`의 [추가 참고 사항](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) 섹션 및 SDK 선택을 참조하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)`의 전체 요청 구문을 참조하세요.

다음은 이미지 분류에 사용되는 `CreateAutoMLJobV2` API 작업에 대한 필수 및 선택적 입력 요청 파라미터 모음입니다.

## 필수 파라미터
<a name="image-classification-api-required-params"></a>

이미지 분류를 위한 Autopilot 실험을 만들기 위해 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)`을 호출할 때는 다음 값을 제공해야 합니다.
+ 작업 이름을 지정하기 위한 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`.
+ 데이터 소스를 지정하려면 `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`에서 하나 이상의 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`.
+ 유형 `[ImageClassificationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html)`의 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.
+ AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`.
+ 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`.

다른 모든 파라미터는 선택 사항입니다.

## 선택적 파라미터
<a name="image-classification-api-optional-params"></a>

다음 섹션에서는 이미지 분류 AutoML 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대해 자세히 설명합니다.

### AutoML 작업의 훈련 및 검증 데이터세트를 지정하는 방법
<a name="image-classification-data-training-or-validation"></a>

자체 검증 데이터세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot이 데이터세트를 자동으로 분할하도록 할 수 있습니다.

각 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 개체(필수 파라미터 [AutoMLJobinputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) 참조)에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 값 중 `training` 또는 `validation`으로 설정할 수 있는 `ChannelType`이 있습니다.

데이터 소스를 하나 이상 제공해야 하며 훈련 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다. 데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 하나 또는 두 개인지 여부에 따라 달라집니다.

데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.
+ **데이터 소스가 하나**뿐인 경우 `ChannelType`은 기본적으로 `training`으로 설정되며 이 값을 가져야 합니다.
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)의 `ValidationFraction` 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.
  + `ValidationFraction`을 0과 1 사이의 값으로 설정하면 데이터세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터세트의 비율을 지정합니다.
+ **데이터 소스가 두 개** 있는 경우, `AutoMLJobChannel` 개체 중 하나의 `ChannelType`을 기본값인 `training`으로 설정해야 합니다. 다른 데이터 소스의 `ChannelType`은 `validation`으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 소스의 모든 데이터가 훈련 또는 검증에 사용되므로 이 경우에 `ValidationFraction`에 대한 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

### AutoML 작업에 대한 자동 모델 배포 구성을 지정하는 방법
<a name="image-classification-auto-model-deployment"></a>

AutoML 작업에 최적의 모델 후보에 대한 자동 배포를 활성화하려면, AutoML 작업 요청에 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`을 포함하세요. 이렇게 하면 SageMaker AI 엔드포인트에 최적의 모델을 배포할 수 있습니다. 다음은 사용자 지정에 사용할 수 있는 구성입니다.
+ Autopilot이 엔드포인트 이름을 생성하도록 하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 `True`로 설정합니다.
+ 엔드포인트에 고유한 이름을 제공하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 설정하세요.

# 이미지 분류를 위한 데이터세트 형식 및 목표 지표
<a name="image-classification-data-format-and-metric"></a>

이 섹션에서는 이미지 분류에 사용되는 데이터세트의 사용 가능한 형식뿐 아니라 기계 러닝 모델 후보의 예측 품질을 평가하는 데 사용되는 목표 지표에 대해 알아봅니다. 후보에 대해 계산된 지표는 [MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) 유형의 배열을 사용하여 지정됩니다.

## 데이터세트 형식
<a name="image-classification-data-format"></a>

Autopilot은 .png, .jpg 및 .jpeg 이미지 형식을 지원합니다. 데이터세트에 모든 .png 이미지가 포함된 경우, `image/png`를 사용하고, 모든 .jpg 또는 .jpeg 이미지가 포함된 경우 `image/jpeg`를 사용하며, 데이터세트에 다양한 이미지 형식이 포함된 경우에는 `image/*`를 사용하세요.

## 목표 지표
<a name="image-classification-objective-metric"></a>

다음 목록에는 이미지 분류를 위한 모델의 성능을 측정하는 데 현재 사용할 수 있는 지표의 이름이 나와 있습니다.

**`Accuracy`**  
 전체 (올바르게 또는 잘못) 분류된 항목 수 대비 올바르게 분류된 항목 수의 비율입니다. 정확도는 예측된 클래스 값이 실제 값에 얼마나 가까운지를 측정합니다. 정확도 지표의 값은 0에서 1 사이입니다. 값 1은 완벽한 정확도를 나타내고, 0은 완벽한 부정확도를 나타냅니다.

# 실시간 추론을 위한 Autopilot 모델 배포
<a name="image-classification-deploy-models"></a>

Amazon SageMaker Autopilot모델을 훈련시킨 후 엔드포인트를 설정하고 대화형 방식으로 예측을 획득할 수 있습니다. 다음 섹션에서는 모델을 SageMaker AI 실시간 추론 엔드포인트에 배포하여 모델에서 예측을 가져오는 단계를 설명합니다.

## 실시간 추론
<a name="autopilot-deploy-models-text-image-classification-realtime"></a>

실시간 추론은 실시간, 대화형, 짧은 지연 시간이 요구되는 추론 워크로드에 적합합니다. 이 섹션에서는 실시간 추론을 사용하여 모델에서 대화형 방식으로 예측을 얻는 방법을 보여줍니다.

SageMaker API를 사용하여 다음과 같이 Autopilot 실험에서 최상의 검증 지표를 생성한 모델을 수동으로 배포할 수 있습니다.

또는 Autopilot 실험을 생성할 때 자동 배포 옵션을 선택할 수도 있습니다. 모델 자동 배포 설정에 대한 자세한 내용은 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestParameters)`의 요청 파라미터에서 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`를 참조하세요. 그러면 엔드포인트가 자동으로 생성됩니다.

**참고**  
불필요한 요금이 발생하지 않도록 모델 배포에서 생성된 불필요한 엔드포인트와 리소스를 삭제할 수 있습니다. 리전별 인스턴스 요금에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing/)을 참고하세요.

1. **후보 컨테이너 정의 획득**

   [추론 컨테이너](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)에서 후보 컨테이너 정의를 가져옵니다. 추론을 위한 컨테이너 정의는 훈련된 SageMaker AI 모델을 배포하고 실행하여 예측하도록 설계된 컨테이너식 환경을 말합니다.

   다음 AWS CLI 명령 예제에서는 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API를 사용하여 최상의 모델 후보에 대한 후보 정의를 가져옵니다.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **후보 나열**

   다음 AWS CLI 명령 예제에서는 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API를 사용하여 모든 모델 후보를 나열합니다.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI 모델 만들기**

   이전 단계의 컨테이너 정의와 선택한 후보를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API를 이용해 SageMaker AI 모델을 만듭니다. 다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **엔드포인트 구성 생성**

   다음 AWS CLI 명령 예제에서는 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API를 사용하여 엔드포인트 구성을 생성합니다.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **엔드포인트 생성** 

   다음 AWS CLI 예제에서는 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API를 사용하여 엔드포인트를 생성합니다.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API를 사용하여 엔드포인트 배포 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus`가 `InService`로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

1. **API 엔드포인트 호출** 

   다음 명령 구조는 실시간 추론을 위해 엔드포인트를 간접적으로 호출합니다.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

# 설명 가능성 보고서
<a name="image-classification-explainability-report"></a>

Amazon SageMaker Autopilot은 최적의 모델 후보가 이미지 분류 문제를 예측하는 방법을 설명하는 데 도움이 되는 설명 가능성 보고서를 제공합니다. 이 보고서는 ML 엔지니어, 제품 관리자 및 기타 내부 이해 관계자가 모델의 특성을 이해하는 데 도움이 될 수 있습니다. 소비자와 규제 기관 모두 모델 예측에 대한 결정을 신뢰하고 해석하기 위해 기계 학습의 투명성에 의존합니다. 이러한 설명을 감사 및 규제 요구 사항 충족, 모델에 대한 신뢰 구축, 인간의 의사 결정 지원, 모델 성능 디버깅 및 개선 등에 사용할 수 있습니다.

이미지 분류를 위한 Autopilot 설명 기능은 각 색상의 분포와 강도가 특정 예측에 가장 많이 기여하는 이미지 영역을 강조하는 히트맵을 생성하는 비주얼 CAM(Class Activation Map) 접근 방식을 사용합니다. 이 접근 방식은 [EiGEN-CAM](https://arxiv.org/ftp/arxiv/papers/2008/2008.00299.pdf) 구현에서 파생된 주요 구성 요소에 의존합니다.

Autopilot은 설명 가능성 보고서를 JSON 파일로 생성합니다. 보고서에는 검증 데이터세트를 기반으로 하는 분석 세부 정보가 포함됩니다. 보고서를 생성하는 데 사용된 각 이미지에는 다음 정보가 포함됩니다.
+ `input_image_uri`: 히트맵의 입력으로 획득한 입력 이미지에 대한 Amazon S3 URI입니다.
+ `heatmap_image_uri`: Autopilot으로 생성된 히트맵 이미지에 대한 Amazon S3 URI입니다.
+ `predicted_label`: Autopilot으로 훈련된 최적 모델이 예측한 레이블 클래스.
+ `probability`: `predicted_label`이 예측되는 신뢰도.

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 설명 가능성 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

다음 예제는 [Oxford-IIT Pet 데이터세트](https://www.robots.ox.ac.uk/~vgg/data/pets/)의 일부 샘플에서 히트맵이 어떻게 보이는지 보여줍니다. 히트맵 이미지는 이미지 내 여러 특징의 상대적 중요성을 나타내는 색상 그라데이션을 표시합니다. 빨간색은 파란색으로 표시되는 특징에 비해 입력 영상의 “predicted\$1label”을 예측하는 데 더 중요한 영역을 나타냅니다.


****  

| 입력 이미지 | 히트맵 이미지 | 
| --- | --- | 
|  ![\[강아지의 원본 이미지.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img1-input.png)  |  ![\[예측된 라벨에 더 큰 영향을 미치는 리전을 강조 표시하는 히트맵이 포함된 개 이미지.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img1-output.png)  | 
|  ![\[고양이의 원본 이미지.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img2-input.png)  |  ![\[예측된 라벨에 더 큰 영향을 미치는 리전을 강조 표시하는 히트맵이 포함된 고양이 이미지.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-image-classification-explainability-img2-output.png)  | 

# 모델 성능 보고서
<a name="image-classification-model-performance-report"></a>

Amazon SageMaker AI 모델 품질 보고서(다른 명칭: 성과 보고서)는 AutoML 작업에서 생성된 최적의 모델 후보에 대한 인사이트와 품질 정보를 제공합니다. 여기에는 작업 세부 정보, 모델 문제 유형, 목표 함수 및 다양한 지표에 대한 정보가 포함됩니다. 이 섹션에서는 이미지 분류 문제에 대한 성능 보고서의 내용을 자세히 설명하고 지표에 JSON 파일의 원시 데이터로 액세스하는 방법을 설명합니다.

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 모델 품질 보고서 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

성능 보고서에는 다음 두 섹션이 있습니다.
+ 첫 번째 섹션에는 모델을 생성한 Autopilot 작업에 대한 세부 정보가 포함되어 있습니다.
+  두 번째 섹션에는 다양한 성능 지표가 포함된 모델 품질 보고서가 포함되어 있습니다.

## Autopilot 작업 세부 정보
<a name="image-classification-performance-report-jobdetails"></a>

보고서의 첫 번째 섹션에서는 모델을 생성한 Autopilot 작업에 대한 몇 가지 일반적인 정보를 제공합니다. 이러한 세부 정보에는 다음 정보가 포함되어 있습니다.
+ Autopilot 후보 이름: 최적의 모델 후보 이름.
+ Autopilot 작업 이름: 작업의 이름입니다.
+ 문제 유형: 문제 유형입니다. 여기서는 *이미지 분류*입니다.
+ 목표 지표: 모델의 성능을 최적화하는 데 사용되는 목표 지표입니다. 여기서는 *정확도*입니다.
+ 최적화 방향: 목표 지표를 최소화할지 최대화할지를 나타냅니다.

## 모델 품질 보고서
<a name="image-classification-performance-report-modelquality"></a>

모델 품질 정보는 Autopilot 모델 인사이트를 통해 생성됩니다. 생성되는 보고서 내용은 보고서에서 다루는 문제 유형에 따라 달라집니다. 보고서는 평가 데이터세트에 포함된 행 수와 평가가 발생한 시간을 지정합니다.

### 지표 테이블
<a name="image-classification-model-quality-report-metrics"></a>

모델 품질 보고서의 첫 번째 부분에는 지표 테이블이 포함되어 있습니다. 이는 모델이 해결한 문제 유형에 적합합니다.

다음 이미지는 이미지 또는 텍스트 분류 문제에 대해 Autopilot으로 생성한 지표 테이블의 예입니다. 지표 이름, 값 및 표준 편차를 보여줍니다.

![\[Amazon SageMaker Autopilot 모델 인사이트 이미지 또는 텍스트 분류 지표 보고서 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### 그래픽 모델 성능 정보
<a name="image-classification-model-quality-report-graphs"></a>

모델 품질 보고서의 두 번째 부분에는 모델 성능을 평가하는 데 도움이 되는 그래픽 정보가 포함되어 있습니다. 이 섹션의 내용은 선택한 문제 유형에 따라 달라집니다.

#### 혼동 행렬
<a name="image-classification-model-insights-confusion-matrix"></a>

혼동 행렬은 다양한 문제에 대한 바이너리 및 멀티클래스 분류에 대한 모델의 예측 정확도를 시각화하는 방법을 제공합니다.

그래프의 구성 요소 중 **위양성률(FPR)**과 **진양성률(TPR)**의 요약은 다음과 같이 정의됩니다.
+ 올바른 예측
  + **진양성**(TP): 예측값이 1이고 실제 값도 1입니다.
  + **진음성**(TN): 예측 값이 0이고 실제 값도 0입니다.
+ 잘못된 예측
  + **위양성**(FP): 예측 값은 1이지만 실제 값은 0입니다.
  + **위음성**(FN): 예측값은 0이고, 실제값은 1입니다.

모델 품질 보고서의 혼동 행렬에는 다음이 포함됩니다.
+ 실제 레이블에 대한 정확한 예측과 잘못된 예측의 수와 백분율
+ 왼쪽 상단에서 오른쪽 아래 모서리까지의 대각선 상의 정확한 예측 수 및 백분율
+ 상단 오른쪽에서 왼쪽 아래 모서리까지의 대각선 상의 부정확한 예측의 수와 백분율

혼동 행렬의 부정확한 예측은 혼동 값입니다.

다음 다이어그램은 멀티클래스 분류 문제에 대한 혼동 행렬의 예를 보여줍니다. 모델 품질 보고서의 혼동 행렬에는 다음이 포함됩니다.
+ 세로축은 서로 다른 세 개의 실제 레이블을 포함하는 세 개의 행으로 나뉩니다.
+ 가로 축은 모델에서 예측한 레이블을 포함하는 세 개의 열로 나뉩니다.
+ 색상 막대는 많은 수의 샘플에 어두운 색조를 할당하여 각 범주에서 분류된 값의 수를 시각적으로 나타냅니다.

아래 예제에서 모델은 레이블 **f**의 실제값 354, 레이블 **i**의 실제값 1094, 레이블 **m**의 실제값 852를 정확하게 예측했습니다. 색조의 차이는 **f** 또는 **m** 값에 대한 것보다 **i** 값에 대한 레이블이 많기 때문에 데이터세트의 균형이 맞지 않는다는 것을 나타냅니다.

![\[Amazon SageMaker Autopilot 멀티클래스 혼동 행렬 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


제공된 모델 품질 보고서의 혼동 행렬은 멀티클래스 분류 문제 유형에 대해 최대 15개의 레이블을 수용할 수 있습니다. 레이블에 해당하는 행에 `Nan` 값이 표시되면, 모델 예측을 확인하는 데 사용되는 검증 데이터세트에 해당 레이블의 데이터가 포함되어 있지 않다는 의미입니다.

# API를 사용하여 텍스트 분류를 위한 AutoML 작업 생성
<a name="autopilot-create-experiment-text-classification"></a>

다음 지침은 SageMaker [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)를 사용하여 텍스트 분류 문제 유형에 대한 파일럿 실험으로 Amazon SageMaker Autopilot 작업을 생성하는 방법을 보여줍니다.

**참고**  
텍스트 및 이미지 분류, 시계열 예측, 대형 언어 모델 미세 조정과 같은 작업은 버전 2의 [AutoML REST API](autopilot-reference.md)를 통해서만 사용할 수 있습니다. 선택한 언어가 Python인 경우 Amazon SageMaker Python SDK의 [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) 또는 [AutoMLV2 객체](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)를 직접 참조할 수 있습니다.  
편리한 사용자 인터페이스를 선호하는 사용자는 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)를 사용하여 사전 훈련된 모델, 생성형 AI 기반 모델에 액세스하거나 특정 텍스트, 이미지 분류 또는 예측 요구 또는 생성형 AI에 맞춘 사용자 지정 모델을 생성할 수 있습니다.

Amazon SageMaker Autopilot 또는 AWS CLI에서 지원하는 모든 언어로 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API 작업을 호출하여 프로그래밍 방식으로 Autopilot 텍스트 분류 실험을 생성할 수 있습니다.

이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 `CreateAutoMLJobV2`의 [추가 참고 사항](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) 섹션 및 SDK 선택을 참조하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)`의 전체 요청 구문을 참조하세요.

다음은 텍스트 분류에 사용되는 `CreateAutoMLJobV2` API 작업에 대한 필수 및 선택적 입력 요청 파라미터 모음입니다.

## 필수 파라미터
<a name="text-classification-api-required-params"></a>

텍스트 분류를 위한 Autopilot 실험을 만들기 위해 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)`를 호출할 때는 다음 값을 제공해야 합니다.
+ 작업 이름을 지정하기 위한 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`.
+ 데이터 소스를 지정하려면 `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`에서 하나 이상의 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`.
+ 유형 `[TextClassificationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextClassificationJobConfig.html)`의 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.
+ AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`.
+ 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`.

다른 모든 파라미터는 선택 사항입니다.

## 선택적 파라미터
<a name="text-classification-api-optional-params"></a>

다음 섹션에서는 텍스트 분류 AutoML 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대해 자세히 설명합니다.

### AutoML 작업의 훈련 및 검증 데이터세트를 지정하는 방법
<a name="text-classification-data-training-or-validation"></a>

자체 검증 데이터세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot이 데이터세트를 자동으로 분할하도록 할 수 있습니다.

각 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 개체(필수 파라미터 [AutoMLJobinputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) 참조)에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 값 중 `training` 또는 `validation`으로 설정할 수 있는 `ChannelType`이 있습니다.

데이터 소스를 하나 이상 제공해야 하며 훈련 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다. 데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 하나 또는 두 개인지 여부에 따라 달라집니다.

데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.
+ **데이터 소스가 하나**뿐인 경우 `ChannelType`은 기본적으로 `training`으로 설정되며 이 값을 가져야 합니다.
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)의 `ValidationFraction` 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.
  + `ValidationFraction`을 0과 1 사이의 값으로 설정하면 데이터세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터세트의 비율을 지정합니다.
+ **데이터 소스가 두 개** 있는 경우, `AutoMLJobChannel` 개체 중 하나의 `ChannelType`을 기본값인 `training`으로 설정해야 합니다. 다른 데이터 소스의 `ChannelType`은 `validation`으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 소스의 모든 데이터가 훈련 또는 검증에 사용되므로 이 경우에 `ValidationFraction`에 대한 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

### AutoML 작업에 대한 자동 모델 배포 구성을 지정하는 방법
<a name="text-classification-auto-model-deployment"></a>

AutoML 작업에 최적의 모델 후보에 대한 자동 배포를 활성화하려면, AutoML 작업 요청에 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`을 포함하세요. 이렇게 하면 SageMaker AI 엔드포인트에 최적의 모델을 배포할 수 있습니다. 다음은 사용자 지정에 사용할 수 있는 구성입니다.
+ Autopilot이 엔드포인트 이름을 생성하도록 하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 `True`로 설정합니다.
+ 엔드포인트에 고유한 이름을 제공하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 설정하세요.

# 텍스트 분류를 위한 데이터세트 형식 및 목표 지표
<a name="text-classification-data-format-and-metric"></a>

이 섹션에서는 텍스트 분류에 사용되는 데이터세트의 사용 가능한 형식뿐 아니라 기계 러닝 모델 후보의 예측 품질을 평가하는 데 사용되는 지표에 대해 알아봅니다. 후보에 대해 계산된 지표는 [MetricDatum](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) 유형의 배열을 사용하여 지정됩니다.

## 데이터세트 형식
<a name="text-classification-data-format"></a>

Autopilot은 CSV 파일 또는 Parquet 파일 형식의 테이블 형식 데이터를 지원합니다. 테이블 형식 데이터의 경우 각 열에는 특정 데이터 유형의 기능이 포함되고 각 행에는 관측값이 포함됩니다. 이 두 파일 형식의 속성은 상당히 다릅니다.
+ **CSV**(쉼표로 구분된 값)는 사람이 읽을 수 있는 일반 텍스트로 데이터를 저장하는 행 기반 파일 형식으로, 다양한 범위의 애플리케이션에서 지원되므로 데이터 교환에 널리 사용됩니다.
+ **Parquet**는 행 기반 파일 형식보다 데이터를 더 효율적으로 저장하고 처리하는 열 기반 파일 형식입니다. 따라서 빅 데이터 문제에 더 나은 옵션입니다.

열에 허용되는 **데이터 유형**에는 숫자, 카테고리, 텍스트 등이 있습니다.

Autopilot은 최대 수백 GB의 대규모 데이터세트를 기반으로 기계 학습 모델을 구축할 수 있도록 지원합니다. 입력 데이터세트의 기본 리소스 제한 및 이를 늘리는 방법에 대한 자세한 내용은 [Amazon SageMaker Autopilot 할당량](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-quotas.html)을 참조하세요.

## 목표 지표
<a name="text-classification-objective-metric"></a>

다음 목록에는 텍스트 분류를 위한 모델의 성능을 측정하는 데 현재 사용할 수 있는 지표의 이름이 나와 있습니다.

**`Accuracy`**  
 전체 (올바르게 및 잘못) 분류된 항목 수 대비 올바르게 분류된 항목 수의 비율입니다. 정확도는 예측된 클래스 값이 실제 값에 얼마나 가까운지를 측정합니다. 정확도 지표의 값은 0에서 1 사이입니다. 값 1은 완벽한 정확도를 나타내고, 0은 완벽한 부정확도를 나타냅니다.

# 실시간 추론을 위한 Autopilot 모델 배포
<a name="text-classification-deploy-models"></a>

Amazon SageMaker Autopilot모델을 훈련시킨 후 엔드포인트를 설정하고 대화형 방식으로 예측을 획득할 수 있습니다. 다음 섹션에서는 모델을 SageMaker AI 실시간 추론 엔드포인트에 배포하여 모델에서 예측을 가져오는 단계를 설명합니다.

## 실시간 추론
<a name="autopilot-deploy-models-text-image-classification-realtime"></a>

실시간 추론은 실시간, 대화형, 짧은 지연 시간이 요구되는 추론 워크로드에 적합합니다. 이 섹션에서는 실시간 추론을 사용하여 모델에서 대화형 방식으로 예측을 얻는 방법을 보여줍니다.

SageMaker API를 사용하여 다음과 같이 Autopilot 실험에서 최상의 검증 지표를 생성한 모델을 수동으로 배포할 수 있습니다.

또는 Autopilot 실험을 생성할 때 자동 배포 옵션을 선택할 수도 있습니다. 모델 자동 배포 설정에 대한 자세한 내용은 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestParameters)`의 요청 파라미터에서 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`를 참조하세요. 그러면 엔드포인트가 자동으로 생성됩니다.

**참고**  
불필요한 요금이 발생하지 않도록 모델 배포에서 생성된 불필요한 엔드포인트와 리소스를 삭제할 수 있습니다. 리전별 인스턴스 요금에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing/)을 참고하세요.

1. **후보 컨테이너 정의 획득**

   [추론 컨테이너](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)에서 후보 컨테이너 정의를 가져옵니다. 추론을 위한 컨테이너 정의는 훈련된 SageMaker AI 모델을 배포하고 실행하여 예측하도록 설계된 컨테이너식 환경을 말합니다.

   다음 AWS CLI 명령 예제에서는 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API를 사용하여 최상의 모델 후보에 대한 후보 정의를 가져옵니다.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **후보 나열**

   다음 AWS CLI 명령 예제에서는 [ListCandidatesForAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html) API를 사용하여 모든 모델 후보를 나열합니다.

   ```
   aws sagemaker list-candidates-for-auto-ml-job --auto-ml-job-name <job-name> --region <region>
   ```

1. **SageMaker AI 모델 만들기**

   이전 단계의 컨테이너 정의와 선택한 후보를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API를 이용해 SageMaker AI 모델을 만듭니다. 다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --containers ['<container-definition1>, <container-definition2>, <container-definition3>]' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **엔드포인트 구성 생성**

   다음 AWS CLI 명령 예제에서는 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API를 사용하여 엔드포인트 구성을 생성합니다.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' \
                       --region '<region>'
   ```

1. **엔드포인트 생성** 

   다음 AWS CLI 예제에서는 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API를 사용하여 엔드포인트를 생성합니다.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API를 사용하여 엔드포인트 배포 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus`가 `InService`로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

1. **API 엔드포인트 호출** 

   다음 명령 구조는 실시간 추론을 위해 엔드포인트를 간접적으로 호출합니다.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-data>' [--content-type] '<content-type>' <outfile>
   ```

# 설명 가능성 보고서
<a name="text-classification-explainability-report"></a>

Amazon SageMaker Autopilot은 최적의 모델 후보가 텍스트 분류 문제를 예측하는 방법을 설명하는 데 도움이 되는 설명 가능성 보고서를 제공합니다. 이 보고서는 ML 엔지니어, 제품 관리자 및 기타 내부 이해 관계자가 모델의 특성을 이해하는 데 도움이 될 수 있습니다. 소비자와 규제 기관 모두 모델 예측에 대한 결정을 신뢰하고 해석하기 위해 기계 학습의 투명성에 의존합니다. 이러한 설명을 감사 및 규제 요구 사항 충족, 모델에 대한 신뢰 구축, 인간의 의사 결정 지원, 모델 성능 디버깅 및 개선 등에 사용할 수 있습니다.

텍스트 분류를 위한 Autopilot 설명 기능은 공리적 속성 분석 방법인 *통합 그라데이션*을 사용합니다. 이 접근 방식은 [딥 네트워크를 위한 Axiomatic Attribution](https://arxiv.org/pdf/1703.01365.pdf)의 구현을 기반으로 합니다.

Autopilot은 설명 가능성 보고서를 JSON 파일로 생성합니다. 보고서에는 검증 데이터세트를 기반으로 하는 분석 세부 정보가 포함됩니다. 보고서를 생성하는 데 사용된 각 샘플에는 다음 정보가 포함됩니다.
+ `text`: 입력 텍스트 내용에 대한 설명.
+ `token_scores`: 텍스트의 모든 토큰에 대한 점수 목록.
+ 
  + `attribution`: 토큰의 중요도를 나타내는 점수.
  + `description.partial_text`: 토큰을 나타내는 부분 하위 문자열.
+ `predicted_label`: 최적의 모델 후보가 예측한 레이블 클래스.
+ `probability`: `predicted_label`이 예측되는 신뢰도.

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 설명 가능성 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

다음은 설명 가능성 아티팩트에서 찾을 수 있는 분석 콘텐츠의 예제입니다.

```
{
    "text": "It was a fantastic movie!",
    "predicted_label": 2,
    "probability": 0.9984835,
    "token_scores": [
        {
            "attribution": 0,
            "description": {
                "partial_text": "It"
            }
        },
        {
            "attribution": -0.022447118861679088,
            "description": {
                "partial_text": "was"
            }
        },
        {
            "attribution": -0.2164326456817965,
            "description": {
                "partial_text": "a"
            }
        },
        {
            "attribution": 0.675,
            "description": {
                "partial_text": "fantastic"
            }
        },
        {
            "attribution": 0.416,
            "description": {
                "partial_text": "movie!"
            }
        }
    ]
}
```

이 JSON 보고서 샘플에서 설명 기능은 텍스트 `It was a fantastic movie!`를 평가하고 전체 예측된 레이블에 대한 각 토큰의 기여도에 점수를 매깁니다. 예측 레이블은 매우 긍정적인 감정인 `2`이며 확률은 99.85% 입니다. 그런 다음 JSON 샘플은 이 예측에 대한 각 개별 토큰의 기여도를 자세히 설명합니다. 예를 들어 토큰 `fantastic`의 특성은 토큰 `was`보다 더 강력합니다. 최종 예측에 가장 많이 기여한 토큰입니다.

# 모델 성능 보고서
<a name="text-classification-model-performance-report"></a>

Amazon SageMaker AI 모델 품질 보고서(다른 명칭: 성과 보고서)는 AutoML 작업에서 생성된 최적의 모델 후보에 대한 인사이트와 품질 정보를 제공합니다. 여기에는 작업 세부 정보, 모델 문제 유형, 목표 함수 및 다양한 지표에 대한 정보가 포함됩니다. 이 섹션에서는 텍스트 분류 문제에 대한 성능 보고서의 내용을 자세히 설명하고 지표에 JSON 파일의 원시 데이터로 액세스하는 방법을 설명합니다.

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 모델 품질 보고서 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

성능 보고서에는 다음 두 섹션이 있습니다.
+ 첫 번째 섹션에는 모델을 생성한 Autopilot 작업에 대한 세부 정보가 포함되어 있습니다.
+  두 번째 섹션에는 다양한 성능 지표가 포함된 모델 품질 보고서가 포함되어 있습니다.

## Autopilot 작업 세부 정보
<a name="text-classification-performance-report-jobdetails"></a>

보고서의 첫 번째 섹션에서는 모델을 생성한 Autopilot 작업에 대한 몇 가지 일반적인 정보를 제공합니다. 이러한 세부 정보에는 다음 정보가 포함되어 있습니다.
+ Autopilot 후보 이름: 최적의 모델 후보 이름.
+ Autopilot 작업 이름: 작업의 이름입니다.
+ 문제 유형: 문제 유형입니다. 여기서는 *텍스트 분류*입니다.
+ 목표 지표: 모델의 성능을 최적화하는 데 사용되는 목표 지표입니다. 여기서는 *정확도*입니다.
+ 최적화 방향: 목표 지표를 최소화할지 최대화할지를 나타냅니다.

## 모델 품질 보고서
<a name="text-classification-performance-report-modelquality"></a>

모델 품질 정보는 Autopilot 모델 인사이트를 통해 생성됩니다. 생성되는 보고서 내용은 보고서에서 다루는 문제 유형에 따라 달라집니다. 보고서는 평가 데이터세트에 포함된 행 수와 평가가 발생한 시간을 지정합니다.

### 지표 테이블
<a name="text-classification-model-quality-report-metrics"></a>

모델 품질 보고서의 첫 번째 부분에는 지표 테이블이 포함되어 있습니다. 이는 모델이 해결한 문제 유형에 적합합니다.

다음 이미지는 이미지 또는 텍스트 분류 문제에 대해 Autopilot으로 생성된 지표 테이블의 예제입니다. 지표 이름, 값 및 표준 편차를 보여줍니다.

![\[Amazon SageMaker Autopilot 모델 인사이트 이미지 또는 텍스트 분류 지표 보고서 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-multiclass-metrics-report.png)


### 그래픽 모델 성능 정보
<a name="text-classification-model-quality-report-graphs"></a>

모델 품질 보고서의 두 번째 부분에는 모델 성능을 평가하는 데 도움이 되는 그래픽 정보가 포함되어 있습니다. 이 섹션의 내용은 선택한 문제 유형에 따라 달라집니다.

#### 혼동 행렬
<a name="text-classification--model-insights-confusion-matrix"></a>

혼동 행렬은 다양한 문제에 대한 바이너리 및 멀티클래스 분류에 대한 모델의 예측 정확도를 시각화하는 방법을 제공합니다.

그래프의 구성 요소 중 **위양성률(FPR)**과 **진양성률(TPR)**의 요약은 다음과 같이 정의됩니다.
+ 올바른 예측
  + **진양성**(TP): 예측값이 1이고 실제 값도 1입니다.
  + **진음성**(TN): 예측 값이 0이고 실제 값도 0입니다.
+ 잘못된 예측
  + **위양성**(FP): 예측 값은 1이지만 실제 값은 0입니다.
  + **위음성**(FN): 예측값은 0이고, 실제값은 1입니다.

모델 품질 보고서의 혼동 행렬에는 다음이 포함됩니다.
+ 실제 레이블에 대한 정확한 예측과 잘못된 예측의 수와 백분율
+ 왼쪽 상단에서 오른쪽 아래 모서리까지의 대각선 상의 정확한 예측 수 및 백분율
+ 상단 오른쪽에서 왼쪽 아래 모서리까지의 대각선 상의 부정확한 예측의 수와 백분율

혼동 행렬의 부정확한 예측은 혼동 값입니다.

다음 다이어그램은 멀티클래스 분류 문제에 대한 혼동 행렬의 예를 보여줍니다. 모델 품질 보고서의 혼동 행렬에는 다음이 포함됩니다.
+ 세로축은 서로 다른 세 개의 실제 레이블을 포함하는 세 개의 행으로 나뉩니다.
+ 가로 축은 모델에서 예측한 레이블을 포함하는 세 개의 열로 나뉩니다.
+ 색상 막대는 많은 수의 샘플에 어두운 색조를 할당하여 각 범주에서 분류된 값의 수를 시각적으로 나타냅니다.

아래 예제에서 모델은 레이블 **f**의 실제값 354, 레이블 **i**의 실제값 1094, 레이블 **m**의 실제값 852를 정확하게 예측했습니다. 색조의 차이는 **f** 또는 **m** 값에 대한 것보다 **i** 값에 대한 레이블이 많기 때문에 데이터세트의 균형이 맞지 않는다는 것을 나타냅니다.

![\[Amazon SageMaker Autopilot 멀티클래스 혼동 행렬 예제.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-model-insights-confusion-matrix-multiclass.png)


제공된 모델 품질 보고서의 혼동 행렬은 멀티클래스 분류 문제 유형에 대해 최대 15개의 레이블을 수용할 수 있습니다. 레이블에 해당하는 행에 `Nan` 값이 표시되면, 모델 예측을 확인하는 데 사용되는 검증 데이터세트에 해당 레이블의 데이터가 포함되어 있지 않다는 의미입니다.

# API를 사용하여 시계열 예측을 위한 AutoML 작업 생성
<a name="autopilot-create-experiment-timeseries-forecasting"></a>

기계 학습에서의 예측은 과거 데이터와 패턴을 기반으로 미래의 결과 또는 추세를 예측하는 프로세스를 말합니다. 기계 학습 알고리즘은 과거 시계열 데이터를 분석하고 기본 패턴을 식별함으로써 예측을 수행하고 미래 행동에 대한 귀중한 통찰력을 제공할 수 있습니다. 예측의 목표는 시간 경과에 따른 입력 변수와 대상 변수 간의 관계를 정확하게 포착할 수 있는 모델을 개발하는 것입니다. 여기에는 추세, 계절성, 데이터 내 기타 관련 패턴과 같은 다양한 요인을 조사하는 작업이 포함됩니다. 수집된 정보는 기계 학습 모델을 훈련하는 데 사용됩니다. 훈련된 모델은 새 입력 데이터를 가져와 학습된 패턴과 관계를 적용하여 예측을 생성할 수 있습니다. 판매 예측, 주식 시장 동향, 일기 예보, 수요 예측 등과 같은 다양한 사용 사례에 대한 예측을 제공할 수 있습니다.

다음 지침은 SageMaker [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)를 사용하여 시계열 예측 문제 유형에 대한 파일럿 실험으로 Amazon SageMaker Autopilot 작업을 생성하는 방법을 보여줍니다.

**참고**  
텍스트 및 이미지 분류, 시계열 예측, 대형 언어 모델 미세 조정과 같은 작업은 버전 2의 [AutoML REST API](autopilot-reference.md)를 통해서만 사용할 수 있습니다. 선택한 언어가 Python인 경우 Amazon SageMaker Python SDK의 [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) 또는 [AutoMLV2 객체](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)를 직접 참조할 수 있습니다.  
편리한 사용자 인터페이스를 선호하는 사용자는 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)를 사용하여 사전 훈련된 모델, 생성형 AI 기반 모델에 액세스하거나 특정 텍스트, 이미지 분류, 예측 요구 또는 생성형 AI에 맞춘 사용자 지정 모델을 생성할 수 있습니다.

Amazon SageMaker Autopilot 또는 AWS CLI에서 지원하는 모든 언어로 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API를 호출하여 프로그래밍 방식으로 Autopilot 시계열 예측 실험을 생성할 수 있습니다.

이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 `CreateAutoMLJobV2`의 [참고 항목](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) 섹션을 참조하고 SDK를 선택하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)`의 전체 요청 구문을 참조하세요.

Autopilot은 대상 시계열을 사용하여 여러 모델 후보를 훈련시킨 다음 주어진 객관적 지표에 맞는 최적의 예측 모델을 선택합니다. 모델 후보를 훈련하면 `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에서 최적의 후보 지표를 찾을 수 있습니다.

다음 섹션에서는 시계열 예측에 사용되는 `CreateAutoMLJobV2` API의 필수 및 선택적 입력 요청 파라미터를 정의합니다.

**참고**  
실용적인 실습용 시계열 예측 예제는 [Amazon SageMaker Autopilot을 사용한 노트북 시계열 예측](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb)을 참조하세요. 이 노트북에서는 Amazon SageMaker Autopilot을 사용하여 시계열 모델을 훈련하고 훈련된 모델을 사용하여 예측을 생성합니다. 노트북은 Amazon S3에서 표 형식의 과거 데이터로 구성된 미리 만들어진 데이터세트를 검색하는 지침을 제공합니다.

## 사전 조건
<a name="autopilot-timeseries-forecasting-prerequisites"></a>

SageMaker AI에서 Autopilot을 사용하여 시계열 예측 실험을 만들기 전에 다음 내용을 확인합니다.
+ 시계열 데이터세트를 준비하세요. 데이터세트 준비에는 다양한 소스에서 관련 데이터를 수집하고, 데이터를 정리 및 필터링하여 노이즈와 불일치를 제거하고, 구조화된 형식으로 구성하는 작업이 포함됩니다. Autopilot의 시계열 형식 요구 사항에 대해 자세히 알아보려면 [시계열 데이터세트 형식 및 누락된 값 채우기 방법](timeseries-forecasting-data-format.md) 섹션을 참조하세요. 선택 사항으로, 원하는 국가의 공휴일 달력으로 데이터세트를 보완하여 관련 패턴을 캡처할 수도 있습니다. 휴일 달력에 대한 자세한 내용은 [국경일 달력](autopilot-timeseries-forecasting-holiday-calendars.md) 섹션을 참조하세요.
**참고**  
예측하려는 향후 데이터 포인트 1개당 최소 3\$15개의 과거 데이터 포인트를 제공하는 것이 좋습니다. 예를 들어, 일일 데이터를 기반으로 7일 전(1주일)을 예측하려면 최소 21\$135일의 기록 데이터에 대해 모델을 훈련합니다. 계절적 및 반복적 패턴을 캡처할 수 있는 충분한 데이터를 제공해야 합니다.
+ 시계열 데이터를 Amazon S3 버킷에 저장합니다.
+ 실험을 실행하는 데 사용된 SageMaker AI 실행 역할에 대한 입력 데이터가 들어 있는 Amazon S3 버킷에 대해 전체 액세스 권한을 부여합니다. 이 작업이 완료되면 Autopilot API 요청에서 이 실행 역할의 ARN을 사용할 수 있습니다.
  + SageMaker AI 실행 역할 검색에 대한 자세한 내용은 [실행 역할을 가져옵니다.](sagemaker-roles.md#sagemaker-roles-get-execution-role) 섹션을 참조하세요.
  + Amazon S3에 있는 하나 이상의 특정 버킷에 액세스할 수 있는 권한을 SageMaker AI 실행 역할에 부여하는 방법에 대한 자세한 내용은 [실행 역할 생성](sagemaker-roles.md#sagemaker-roles-create-execution-role)에서 *Add Additional Amazon S3 Permissions to a SageMaker AI Execution Role*을 참조하세요.

## 필수 파라미터
<a name="timeseries-forecasting-api-required-params"></a>

시계열 예측을 위한 Autopilot 실험을 만들기 위해 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)`를 호출할 때는 다음 값을 제공해야 합니다.
+ 작업 이름을 지정하기 위한 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`. 이름은 `string` 형식이어야 하며 최소 길이가 1자이고 최대 길이가 32자여야 합니다.
+ 데이터가 포함된 Amazon S3 버킷의 이름을 지정하는 `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`에서 한 개 이상의 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`. 선택적으로, 콘텐츠(CSV 또는 Parquet 파일) 및 압축(GZip) 유형을 지정할 수 있습니다.
+ 시계열 예측 작업의 설정을 구성하기 위한 유형 `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)`의 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`. 특히 다음을 지정해야 합니다.
  + 예측의 원하는 세부 수준(시간별, 일별, 월별 등)을 나타내는 예측 **빈도**.

    유효한 간격은 정수와 그 뒤에 붙은 `Y`(년), `M`(월), `W`(주), `D`(일), `H`(시) 및 `min`(분)입니다. 예를 들어 `1D`는 매일을 나타내고 `15min`은 15분마다를 나타냅니다. 빈도 값이 다음으로 큰 빈도와 겹치지 않아야 합니다. 예를 들어 `60min` 대신 `1H`의 빈도를 사용해야 합니다.

    각 빈도의 유효한 값은 다음과 같습니다.
    + 분 – 1\$159
    + 시 – 1\$123
    + 일 – 1\$16
    + 주 – 1\$14
    + 월 – 1\$111
    + 년 – 1
  + 예측에서 모델이 예측하는 시간 단계의 수를 나타내는 예상 **구간**. 이 예측 구간은 또한 예측 길이라고도 합니다. 최대 예측 구간은 500개의 시간 단계 또는 데이터세트의 시간 단계 중 1/4보다 작은 시간 단계입니다.
  + [TimeSeriesConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html)에서는 다음을 지정하여 열 헤더를 예측에 매핑하도록 데이터세트의 스키마를 정의합니다.
    + `TargetAttributeName`: 예측할 대상 필드의 과거 데이터를 포함하는 열입니다.
    + `TimestampAttributeName`: 특정 항목의 목표값이 기록되는 시점을 포함하는 열입니다.
    + `ItemIdentifierAttributeName`: 목표값을 예측하려는 항목 식별자를 포함하는 열입니다.

  다음은 그와 같은 요청 파라미터의 예입니다. 이 예에서는 20일 동안 특정 품목의 예상 수량 또는 수요 수준에 대한 일일 예측을 설정합니다.

  ```
  "AutoMLProblemTypeConfig": { 
          "ForecastFrequency": "D",
          "ForecastHorizon": 20,
          "TimeSeriesConfig": {
              "TargetAttributeName": "demand",
              "TimestampAttributeName": "timestamp",
              "ItemIdentifierAttributeName": "item_id"
          },
  ```
+ AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`.
+ 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`. 데이터에 대한 액세스 권한을 부여한 실행 역할의 ARN을 사용할 수 있습니다.

다른 모든 파라미터는 선택 사항입니다. 예를 들어 특정 예측 분위수를 설정하거나, 데이터세트에서 누락된 값을 채우는 방법을 선택하거나, 예측 빈도에 맞지 않는 데이터를 집계하는 방법을 정의할 수 있습니다. 추가 파라미터를 설정하는 방법에 대한 자세한 내용은 [선택적 파라미터](#timeseries-forecasting-api-optional-params) 섹션을 참조하세요.

## 선택적 파라미터
<a name="timeseries-forecasting-api-optional-params"></a>

다음 섹션에서는 시계열 예측 AutoML 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대해 자세히 설명합니다.

### 알고리즘을 지정하는 방법
<a name="timeseries-forecasting-algorithms-selection"></a>

기본적으로 Autopilot 작업은 데이터세트에서 사전 정의된 알고리즘 목록을 훈련시킵니다. 그러나 알고리즘 기본 선택 사항의 서브셋을 제공할 수 있습니다.

시계열 예측의 경우 를 유형`[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)`으로 선택해야 합니다`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

그러면 [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)의 `AlgorithmsConfig` 속성에서 선택한 `AutoMLAlgorithms`의 배열을 지정할 수 있습니다.

다음은 `AutoMLAlgorithms` 필드에 정확히 세 개의 알고리즘('cnn-qr', 'prophet', 'arima')을 나열하는 `AlgorithmsConfig` 속성의 예입니다.

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)": {
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["cnn-qr", "prophet", "arima"]}
            ]
         },
       },
     },
  }
```

시계열 예측에 사용할 수 있는 알고리즘 목록은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms) 섹션을 참조하세요. 각 알고리즘에 대한 자세한 내용은 [시계열 예측을 위한 알고리즘 지원](timeseries-forecasting-algorithms.md)을 참조하세요.

### 사용자 지정 분위수를 지정하는 방법
<a name="timeseries-forecasting-custom-quantiles"></a>

Autopilot은 대상 시계열을 사용하여 6개의 모델 후보를 훈련시킨 다음 스태킹 앙상블 방법을 사용하여 이러한 모델을 결합하여 주어진 목표 지표에 대한 최적의 예측 모델을 만듭니다. 각 Autopilot 예측 모델은 P1과 P99 사이의 분위수로 예측치를 생성하여 확률적 예측을 생성합니다. 이러한 분위수는 예측 불확실성을 설명하는 데 사용됩니다. 기본적으로 0.1(`p10`), 0.5(`p50`) 및 0.9(`p90`)에 대한 예측이 생성됩니다. 원하는 분위수를 직접 지정할 수 있습니다.

Autopilot에서는 [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)의 `ForecastQuantiles` 속성에 0.01 이상의 증분으로 0.01(`p1`)부터 0.99(`p99`)까지 최대 5개까지 예측 분위수를 지정할 수 있습니다.

다음 예에서는 20일 동안 특정 품목의 예상 수량 또는 수요 수준에 대한 일일 10분위수, 25분위수, 50분위수, 75분위수 및 90분위수 예측을 설정합니다.

```
"AutoMLProblemTypeConfig": { 
        "ForecastFrequency": "D",
        "ForecastHorizon": 20,
        "ForecastQuantiles": ["p10", "p25", "p50", "p75", "p90"],
        "TimeSeriesConfig": {
            "TargetAttributeName": "demand",
            "TimestampAttributeName": "timestamp",
            "ItemIdentifierAttributeName": "item_id"
        },
```

### 다양한 예측 빈도에 대한 데이터를 집계하는 방법
<a name="timeseries-forecasting-aggregation"></a>

예측 모델(실험에서 최적의 모델 후보라고도 함)을 만들려면 예측 빈도를 지정해야 합니다. 예측 빈도에 따라 예측에서 예상의 빈도가 결정됩니다. 월별 판매 예측을 예로 들 수 있습니다. Autopilot 최적 모델은 데이터가 기록되는 빈도보다 높은 데이터 빈도에 대한 예측을 생성할 수 있습니다.

훈련 중에 Autopilot은 지정한 예측 빈도와 일치하지 않는 모든 데이터를 집계합니다. 예를 들어 일별 데이터가 있지만 주별 예측 빈도를 지정할 수 있습니다. Autopilot은 일별 데이터가 속한 주를 기준으로 일별 데이터를 정렬합니다. 그런 다음 Autopilot은 데이터를 매주 단일 레코드로 결합합니다.

집계 시 기본 변환 방법은 데이터를 합하는 것입니다. [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)의 `Transformations` 속성에서 AutoML 작업을 생성할 때 집계를 구성할 수 있습니다. 지원되는 집계 방법은 `sum`(기본값), `avg`, `first`, `min`, `max`입니다. 집계는 대상 열에 대해서만 지원됩니다.

다음 예제에서는 개별 프로모션 예측의 평균을 계산하여 최종 집계된 예측 값을 제공하도록 집계를 구성합니다.

```
"Transformations": {
            "Aggregation": {
                "promo": "avg"
            }
        }
```

### 입력 데이터세트에서 누락된 값을 처리하는 방법
<a name="timeseries-forecasting-fill-missing-values"></a>

Autopilot은 시계열 데이터세트의 대상 및 기타 숫자 열에서 누락된 값을 처리하는 다양한 채우기 방법을 제공합니다. 지원되는 채우기 방법 목록 및 사용 가능한 채우기 로직에 대한 자세한 내용은 [누락된 값 처리](timeseries-forecasting-data-format.md#timeseries-missing-values) 섹션을 참조하세요.

AutoML 작업을 생성할 때 [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)의 `Transformations` 속성에서 채우기 전략을 구성합니다.

채우기 방법을 설정하려면 키–값 쌍을 제공해야 합니다.
+ 키는 채우기 방법을 지정하려는 열의 이름입니다.
+ 키와 관련된 값은 해당 열의 채우기 전략을 정의하는 객체입니다.

단일 열에 여러 채우기 방법을 지정할 수 있습니다.

채우기 방법에 특정 값을 설정하려면 채우기 파라미터를 원하는 채우기 방법 값(예:`"backfill" : "value"`)으로 설정하고 접미사 “\$1value”가 붙은 추가 파라미터로 실제 채우기 값을 정의해야 합니다. 예를 들어, `backfill`을 `2`의 값으로 설정하려면 두 파라미터 `"backfill": "value"` 및 `"backfill_value":"2"`를 포함해야 합니다.

다음 예제에서는 불완전 데이터 열 “가격”에 대한 채우기 전략을 다음과 같이 지정합니다. 즉, 항목의 첫 번째 데이터 포인트와 마지막 데이터 포인트 사이의 모든 누락된 값이 `0`으로 설정되며, 그 이후에는 데이터세트 종료 날짜까지 누락된 값이 모두 값 `2`로 채워집니다.

```
"Transformations": {
            "Filling": {
                "price": {
                        "middlefill" : "zero",
                        "backfill" : "value",
                        "backfill_value": "2"
                }
            }
        }
```

### 목표 지표를 지정하는 방법
<a name="timeseries-forecasting-set-objective-metric"></a>

Autopilot은 모델 후보를 평가하고 예측 생성에 사용할 모델을 선택하는 데 도움이 되는 정확도 지표를 생성합니다. 시계열 예측 실험을 실행할 때 AutoML을 선택하여 Autopilot이 예측기를 자동으로 최적화하도록 하거나 예측기의 알고리즘을 수동으로 선택할 수 있습니다.

기본적으로 Autopilot은 평균 가중치 기반 분위수 손실을 사용합니다. 하지만 [AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)의 `MetricName` 속성에서 AutoML 작업을 생성할 때 목표 지표를 구성할 수 있습니다.

사용 가능한 알고리즘 목록은 [시계열 예측을 위한 알고리즘 지원](timeseries-forecasting-algorithms.md) 섹션을 참조하세요.

### 국경일 정보를 데이터세트에 통합하는 방법
<a name="timeseries-forecasting-add-holiday-calendar"></a>

Autopilot에서는 국경일 정보로 구성된 특성 추출 데이터세트를 시계열에 통합할 수 있습니다. Autopilot은 250여 개국의 공휴일 달력에 대한 네이티브 지원을 제공합니다. 국가를 선택하면 Autopilot이 훈련 중에 해당 국가의 공휴일 달력을 데이터세트의 모든 항목에 적용합니다. 이를 통해 모델은 특정 공휴일과 관련된 패턴을 식별할 수 있습니다.

AutoML 작업을 생성할 때 [HolidayConfigAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) 객체를 [TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)의 `HolidayConfig` 속성에 전달하여 공휴일 기능화를 활성화할 수 있습니다. `HolidayConfigAttributes` 객체에는 시계열 데이터세트를 보강하는 데 사용되는 공휴일 달력의 국가를 결정하는 두 글자로 된 `CountryCode` 속성이 포함됩니다.

지원되는 캘린더 및 해당 국가 코드 목록은 [국가 코드](autopilot-timeseries-forecasting-holiday-calendars.md#holiday-country-codes) 섹션을 참조하세요.

### 자동 배포를 활성화하는 방법
<a name="timeseries-forecasting-auto-model-deployment"></a>

Autopilot을 사용하면 예측 모델을 엔드포인트에 자동으로 배포할 수 있습니다. AutoML 작업에 최적의 모델 후보에 대한 자동 배포를 활성화하려면, AutoML 작업 요청에 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`를 포함하세요. 이렇게 하면 SageMaker AI 엔드포인트에 최적의 모델을 배포할 수 있습니다. 다음은 사용자 지정에 사용할 수 있는 구성입니다.
+ Autopilot이 엔드포인트 이름을 생성하도록 하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 `True`로 설정합니다.
+ 엔드포인트에 고유한 이름을 제공하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 설정하세요.

### 대규모 데이터세트에 대해 EMR Serverless에서 원격 작업을 시작하도록 AutoML을 구성하는 방법
<a name="autopilot-set-emr-serverless-api-forecasting"></a>

대용량 데이터세트를 처리하는 데 추가 컴퓨팅 리소스가 필요할 때 Amazon EMR Serverless에서 원격 작업을 자동으로 시작하도록 AutoML 작업 V2를 구성할 수 있습니다. 필요한 경우 EMR Serverless로 원활하게 전환하면 AutoML 작업은 사용자의 수동 개입 없이 처음에 프로비저닝된 리소스를 초과하는 데이터세트를 처리할 수 있습니다. EMR Serverless는 테이블 형식 및 시계열 문제 유형에 사용할 수 있습니다. 30GB보다 큰 시계열 데이터세트의 경우 이 옵션을 설정하는 것이 좋습니다.

AutoML 작업 V2가 대규모 데이터세트의 경우 EMR Serverless로 자동으로 전환되도록 하려면 AutoML 작업 V2 입력 요청`AutoMLComputeConfig`의 에 `ExecutionRoleARN` 필드가 포함된 `EmrServerlessComputeConfig` 객체를 제공해야 합니다.

`ExecutionRoleARN` 는 EMR Serverless 작업을 실행하는 데 필요한 권한을 AutoML 작업 V2에 부여하는 IAM 역할의 ARN입니다.

이 역할은 다음과 같은 신뢰 관계를 맺고 있어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

그리고 다음에 대한 권한을 부여합니다.
+ EMR Serverless 애플리케이션을 생성, 나열 및 업데이트합니다.
+ EMR Serverless 애플리케이션에서 작업 실행을 시작, 나열, 가져오기 또는 취소합니다.
+ EMR Serverless 리소스에 태그를 지정합니다.
+ 실행을 위해 IAM 역할을 EMR Serverless 서비스에 전달합니다.

  `iam:PassRole` 권한을 부여하면 AutoML 작업 V2가 일시적으로 `EMRServerlessRuntimeRole-*` 역할을 수임하여 EMR Serverless 서비스에 전달할 수 있습니다. 이는 EMR Serverless 작업 실행 환경에서 데이터 액세스를 위한 Amazon S3, 로깅을 위한 CloudWatch, AWS Glue 데이터 카탈로그에 대한 액세스 또는 워크로드 요구 사항에 따른 기타 AWS 서비스와 같이 런타임 중에 필요한 다른 서비스 및 리소스에 액세스하는 데 사용하는 IAM 역할입니다.

  이 [역할 권한에 대한 자세한 내용은 Amazon EMR Serverless의 작업 런타임](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) 역할을 참조하세요.

제공된 JSON 문서에 정의된 IAM 정책은 다음과 같은 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
           "Sid": "EMRServerlessCreateApplicationOperation",
           "Effect": "Allow",
           "Action": "emr-serverless:CreateApplication",
           "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

# 시계열 데이터세트 형식 및 누락된 값 채우기 방법
<a name="timeseries-forecasting-data-format"></a>

시계열 데이터는 일정한 시간 간격으로 기록된 관측치 또는 측정값의 모음을 말합니다. 이 유형의 데이터에서는 각 관측치가 특정 타임스탬프 또는 시간 기간과 연관되어 연대순으로 정렬된 일련의 데이터 포인트가 생성됩니다.

시계열 데이터세트에 포함하는 특정 열은 분석 목표와 사용 가능한 데이터에 따라 달라집니다. 시계열 데이터는 최소한 다음과 같은 3열 테이블로 구성됩니다.
+ 한 열에는 특정 시점의 값을 참조하기 위해 개별 항목에 할당된 고유 식별자가 포함됩니다.
+ 다른 열은 특정 시점에 주어진 항목 값을 기록하기 위한 시점 값 또는 **대상**을 나타냅니다. 이러한 대상 값을 기준으로 모델을 훈련시킨 후, 이 대상 열에는 모델이 정의된 범위 내에서 지정된 빈도로 예측하는 값이 포함됩니다.
+ 또한 값을 측정한 날짜와 시간을 기록하는 타임스탬프 열도 포함됩니다.
+ 추가 열에는 예측 성과에 영향을 줄 수 있는 다른 요인이 포함될 수 있습니다. 예를 들어 판매 또는 매출을 대상으로 하는 소매용 시계열 데이터세트에는 판매량, 제품 ID, 매장 위치, 고객 수, 재고 수준은 물론이고, 날씨 데이터나 인구 통계 정보와 같은 공분산 지표에 대한 정보를 제공하는 기능이 포함될 수 있습니다.

**참고**  
국가 공휴일 정보의 특성 추출 데이터세트를 시계열에 추가할 수 있습니다. 시계열 모델에 휴일을 포함하면 휴일로 인해 생성되는 주기적 패턴을 캡처할 수 있습니다. 이렇게 하면 데이터의 기본 계절성을 예측에 더 잘 반영할 수 있습니다. 국가별로 사용 가능한 달력에 대한 자세한 내용은 [국경일 달력](autopilot-timeseries-forecasting-holiday-calendars.md) 섹션을 참조하세요.

## 시계열 예측을 위한 데이터세트 형식
<a name="timeseries-format"></a>

Autopilot은 숫자, 카테고리, 텍스트 및 날짜시간 데이터 형식을 지원합니다. 대상 열의 데이터 유형은 숫자여야 합니다.

Autopilot은 CSV(기본값) 파일 또는 Parquet 파일 형식의 시계열 데이터를 지원합니다.
+ **CSV**(쉼표로 구분된 값)는 사람이 읽을 수 있는 일반 텍스트로 데이터를 저장하는 행 기반 파일 형식으로, 다양한 범위의 애플리케이션에서 지원하므로 데이터 교환에 널리 사용됩니다.
+ **Parquet**는 행 기반 파일 형식보다 데이터를 더 효율적으로 저장하고 처리하는 열 기반 파일 형식입니다. 따라서 빅 데이터 문제에 더 나은 옵션입니다.

Autopilot의 예측을 위한 시계열 데이터세트의 리소스 제한에 대한 자세한 내용은 [Autopilot용 시계열 예측 리소스 제한](timeseries-forecasting-limits.md) 섹션을 참조하세요.

## 누락된 값 처리
<a name="timeseries-missing-values"></a>

시계열 예측 데이터의 일반적인 문제는 누락된 값이 있다는 것입니다. 측정 실패, 서식 문제, 인적 오류 또는 기록할 정보 부족 등 여러 가지 이유로 데이터에 누락된 값이 포함될 수 있습니다. 예를 들어 소매점 제품 수요를 예측할 때 품목이 매진되었거나 공급되지 않는 경우 해당 품목이 품절된 동안에는 기록할 판매 데이터가 없습니다. 누락된 값은 충분히 많을 경우 모델의 정확도에 큰 영향을 미칠 수 있습니다.

Autopilot은 대상 열 및 기타 추가 열에 대해 고유한 접근 방식을 사용하여 누락된 값을 처리할 수 있는 다양한 채우기 방법을 제공합니다. 채우기는 데이터세트에서 누락된 항목에 표준화된 값을 추가하는 프로세스입니다.

시계열 데이터세트에서 누락된 값을 채우는 방법을 설정하는 방법을 알아보려면 [입력 데이터세트에서 누락된 값을 처리하는 방법](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-fill-missing-values) 섹션을 참조하세요.

Autopilot은 다음과 같은 채우기 방법을 지원합니다.
+ **전면 채우기:** 모든 항목 중에서 가장 먼저 기록된 데이터 포인트와 각 항목의 시작점 사이에서 누락된 값을 채웁니다(각 항목은 다른 시간에 시작할 수 있음). 이를 통해 각 항목의 데이터가 완전하도록 보장하고 가장 먼저 기록된 데이터 포인트부터 해당 시작 지점까지 확장됩니다.
+ **중간 채우기:** 데이터세트에 있는 항목의 시작 날짜와 종료 날짜 사이에 누락된 값을 채웁니다.
+ **후면 채우기:** 모든 항목 중에서 가장 늦게 기록된 데이터 포인트와 각 항목의 마지막 데이터 포인트 사이에서 누락된 값을 채웁니다(각 항목은 다른 시간에 중지할 수 있음).
+ **앞으로 채우기:** 모든 항목 중에서 마지막으로 기록된 데이터 포인트와 예측 기간 종료 시점 사이의 누락된 값을 모두 채웁니다.

다음 이미지는 다양한 채우기 방법을 시각적으로 나타냅니다.

![\[Amazon SageMaker Autopilot에서 시계열 예측을 위한 다양한 채우기 방법입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/autopilot/autopilot-forecast-filling-methods.png)


### 채우기 로직을 선택하세요
<a name="filling-logic"></a>

채우기 로직을 선택할 때 모델에서 로직을 해석하는 방법을 고려해야 합니다. 예를 들어, 소매 시나리오에서 재고 품목의 판매량이 0을 기록하는 것은 품절 품목의 판매량이 0을 기록하는 것과 다릅니다. 후자가 해당 품목에 대한 고객의 관심 부족을 의미하지는 않습니다. 이 때문에 시계열의 대상 열에서 `0` 채우기는 예측에서 예측기를 과소 편향시킬 수 있는 반면, `NaN` 채우기는 실제 발생한 재고 품목 판매량 0을 무시하고 예측기를 과다 편향시킬 수 있습니다.

### 채우기 로직
<a name="filling-restrictions"></a>

데이터세트의 대상 열과 다른 숫자 열을 채울 수 있습니다. 대상 열의 채우기 지침 및 제한 사항은 나머지 숫자 열과 다릅니다.

채우기 지침


| 열 유형 | 기본적으로 채우기? | 지원되는 채우기 방법 | 기본 채우기 로직 | 허용되는 채우기 로직 | 
| --- | --- | --- | --- | --- | 
| 대상 열 | 예 | 중간 및 뒤로 채우기 | 0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 
| 기타 숫자 열 | 아니요 | 중간, 뒤로 및 앞으로 채우기 | 기본값 없음 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 

**참고**  
대상 및 기타 숫자 열 모두에 대해, 누락된 값 이전의 가장 최근 데이터 항목 64개가 포함된 이동 구간을 기반으로 `mean`, `median`, `min`, `max`가 계산됩니다.

# 국경일 달력
<a name="autopilot-timeseries-forecasting-holiday-calendars"></a>

Autopilot은 250개 이상의 국가의 공휴일 달력에 액세스할 수 있도록 특성 추출된 국경일 정보 데이터세트를 지원합니다. 공휴일 달력 기능은 공휴일이 수요에 큰 영향을 미칠 수 있는 소매 분야에서 특히 유용합니다. 다음 섹션에는 지원되는 각 국가의 휴일 달력에 액세스하는 데 사용할 수 있는 국가 코드가 나열되어 있습니다.

데이터세트에 달력을 추가하는 방법을 알아보려면 [국경일 정보를 데이터세트에 통합하는 방법](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-add-holiday-calendar)를 참조하세요.

## 국가 코드
<a name="holiday-country-codes"></a>

Autopilot은 다음과 같은 국가의 공휴일 달력에 대한 네이티브 지원을 제공합니다. API로 국가를 지정할 때는 **국가 코드**를 사용하세요.


| 국가 | 국가 코드 | 
| --- | --- | 
|   아프가니스탄   |   AF   | 
|   올란드 제도   |   AX   | 
|   알바니아   |   AL   | 
|   알제리   |   DZ   | 
|   미국령 사모아   |   AS   | 
|   안도라   |   AD   | 
|   앙골라   |   AO   | 
|   앙귈라   |   AI   | 
|   남극   |   AQ   | 
|   앤티가 바부다   |   AG   | 
|   아르헨티나   |   AR   | 
|   아르메니아   |   AM   | 
|   아루바   |   AW   | 
|   호주   |   AU   | 
|   오스트리아   |   AT   | 
|   아제르바이잔   |   AZ   | 
|   바하마   |   BS   | 
|   바레인   |   BH   | 
|   방글라데시   |   BD   | 
|   바베이도스   |   BB   | 
|   벨로루시   |   BY   | 
|   벨기에   |   BE   | 
|   벨리즈   |   BZ   | 
|   베냉   |   BJ   | 
|   버뮤다   |   BM   | 
|   부탄   |   BT   | 
|   볼리비아   |   BO   | 
|   보스니아 헤르체고비나   |   BA   | 
|   보츠와나   |   BW   | 
|   부베 섬   |   BV   | 
|   브라질   |   BR   | 
|   영국령 인도양 지역   |   IO   | 
|   영국령 버진 제도   |   VG   | 
|   브루나이 다루살람   |   BN   | 
|   불가리아   |   BG   | 
|   부르키나 파소   |   BF   | 
|   부룬디   |   BI   | 
|   캄보디아   |   KH   | 
|   카메룬   |   CM   | 
|   캐나다   |   CA   | 
|   카보베르데   |   CV   | 
|   네덜란드령 카리브   |   BQ   | 
|   케이맨 제도   |   KY   | 
|   중앙아프리카 공화국   |   CF   | 
|   차드   |   TD   | 
|   칠레   |   CL   | 
|   중국   |   CN   | 
|   크리스마스 섬   |   CX   | 
|   코코스(킬링) 제도   |   CC   | 
|   콜롬비아   |   CO   | 
|   코모로   |   KM   | 
|   쿡 제도   |   CK   | 
|   코스타리카   |   CR   | 
|   크로아티아   |   HR   | 
|   쿠바   |   CU   | 
|   퀴라소   |   CW   | 
|   사이프러스   |   CY   | 
|   체코   |   CZ   | 
|   콩고민주공화국   |   CD   | 
|   덴마크   |   DK   | 
|   지부티   |   DJ   | 
|   도미니카   |   DM   | 
|   도미니카 공화국   |   DO   | 
|   에콰도르   |   EC   | 
|   이집트   |   EG   | 
|   엘살바도르   |   SV   | 
|   적도 기니   |   GQ   | 
|   에리트레아   |   ER   | 
|   에스토니아   |   EE   | 
|   에스와티니   |   SZ   | 
|   에티오피아   |   ET   | 
|   포클랜드 제도   |   FK   | 
|   페로 제도   |   FO   | 
|   피지   |   FJ   | 
|   핀란드   |   FI   | 
|   프랑스   |   FR   | 
|   프랑스령 기아나   |   GF   | 
|   프랑스령 폴리네시아   |   PF   | 
|   프랑스령 남방 지역   |   TF   | 
|   가봉   |   GA   | 
|   감비아   |   GM   | 
|   조지아   |   GE   | 
|   독일   |   DE   | 
|   가나   |   GH   | 
|   지브롤터   |   GI   | 
|   그리스   |   GR   | 
|   그린란드   |   GL   | 
|   그레나다   |   GD   | 
|   과들루프   |   GP   | 
|   괌   |   GU   | 
|   과테말라   |   GT   | 
|   건지   |   GG   | 
|   기니   |   GN   | 
|   기니비사우   |   GW   | 
|   가이아나   |   GY   | 
|   아이티   |   HT   | 
|   허드 맥도널드 제도   |   HM   | 
|   온두라스   |   HN   | 
|   홍콩   |   HK   | 
|   헝가리   |   HU   | 
|   아이슬란드   |   IS   | 
|   인도   |   IN   | 
|   인도네시아   |   ID   | 
|   이란   |   IR   | 
|   이라크   |   IQ   | 
|   아일랜드   |   IE   | 
|   맨 섬   |   IM   | 
|   이스라엘   |   IL   | 
|   이탈리아   |   IT   | 
|   아이버리 코스트   |   CI   | 
|   자메이카   |   JM   | 
|   일본   |   JP   | 
|   저지   |   JE   | 
|   요르단   |   JO   | 
|   카자흐스탄   |   KZ   | 
|   케냐   |   KE   | 
|   키리바시   |   KI   | 
|   코소보   |   XK   | 
|   쿠웨이트   |   KW   | 
|   키르기스스탄   |   KG   | 
|   라오스   |   LA   | 
|   라트비아   |   LV   | 
|   레바논   |   LB   | 
|   레소토   |   LS   | 
|   라이베리아   |   LR   | 
|   리비아   |   LY   | 
|   리히텐슈타인   |   LI   | 
|   리투아니아   |   LT   | 
|   룩셈부르크   |   LU   | 
|   마카오   |   MO   | 
|   마다가스카르   |   MG   | 
|   말라위   |   MW   | 
|   말레이시아   |   MY   | 
|   몰디브   |   MV   | 
|   말리   |   ML   | 
|   몰타   |   MT   | 
|   마셜 제도   |   MH   | 
|   마르티니크   |   MQ   | 
|   모리타니아   |   MR   | 
|   모리셔스   |   MU   | 
|   마요트   |   YT   | 
|   멕시코   |   MX   | 
|   미크로네시아   |   FM   | 
|   몰도바   |   MD   | 
|   모나코   |   MC   | 
|   몽골   |   MN   | 
|   몬테네그로   |   ME   | 
|   몬트세라트 섬   |   MS   | 
|   모로코   |   MA   | 
|   모잠비크   |   MZ   | 
|   미얀마   |   MM   | 
|   나미비아   |   NA   | 
|   나우루   |   NR   | 
|   네팔   |   NP   | 
|   네덜란드   |   NL   | 
|   뉴칼레도니아   |   NC   | 
|   뉴질랜드   |   NZ   | 
|   니카라과   |   NI   | 
|   니제르   |   NE   | 
|   나이지리아   |   NG   | 
|   니우에   |   NU   | 
|   노퍽 섬   |   NF   | 
|   북한   |   KP   | 
|   북 마케도니아   |   MK   | 
|   북마리아나 제도   |   MP   | 
|   노르웨이   |   NO   | 
|   오만   |   OM   | 
|   파키스탄   |   PK   | 
|   팔라우   |   PW   | 
|   팔레스타인   |   PS   | 
|   파나마   |   PA   | 
|   파푸아뉴기니   |   PG   | 
|   파라과이   |   PY   | 
|   페루   |   PE   | 
|   필리핀   |   PH   | 
|   핏케언 제도   |   PN   | 
|   폴란드   |   PL   | 
|   포르투갈   |   PT   | 
|   푸에르토리코   |   PR   | 
|   카타르   |   QA   | 
|   콩고   |   CG   | 
|   레위니옹   |   RE   | 
|   루마니아   |   RO   | 
|   러시아 연방   |   RU   | 
|   르완다   |   RW   | 
|   생 바르텔레미   |   BL   | 
|   “세인트헬레나 어센션 트리스탄다쿠냐”   |   SH   | 
|   세인트 크리스토퍼 네비스   |   KN   | 
|   세인트루시아   |   LC   | 
|   세인트마틴   |   MF   | 
|   세인트 피에르 미켈론   |   PM   | 
|   세인트 빈센트 그레나딘   |   VC   | 
|   사모아   |   WS   | 
|   산마리노   |   SM   | 
|   상투메 프린시페   |   ST   | 
|   사우디아라비아   |   SA   | 
|   세네갈   |   SN   | 
|   세르비아   |   RS   | 
|   세이셸   |   SC   | 
|   시에라리온   |   SL   | 
|   싱가포르   |   SG   | 
|   신트마르턴   |   SX   | 
|   슬로바키아   |   SK   | 
|   슬로베니아   |   SI   | 
|   솔로몬 제도   |   SB   | 
|   소말리아   |   SO   | 
|   남아프리카 공화국   |   ZA   | 
|   사우스조지아 사우스샌드위치 제도   |   GS   | 
|   대한민국   |   KR   | 
|   남수단   |   SS   | 
|   스페인   |   ES   | 
|   스리랑카   |   LK   | 
|   수단   |   SD   | 
|   수리남   |   SR   | 
|   스발바르 얀마웬   |   SJ   | 
|   스웨덴   |   SE   | 
|   스위스   |   CH   | 
|   시리아   |   SY   | 
|   대만   |   TW   | 
|   타지키스탄   |   TJ   | 
|   탄자니아   |   TZ   | 
|   태국   |   TH   | 
|   동티모르   |   TL   | 
|   토고   |   TG   | 
|   토켈라우   |   TK   | 
|   통가   |   TO   | 
|   트리니다드 토바고   |   TT   | 
|   튀니지   |   TN   | 
|   터키   |   TR   | 
|   투르크메니스탄   |   TM   | 
|   터크스 카이코스 군도   |   TC   | 
|   투발루   |   TV   | 
|   우간다   |   UG   | 
|   우크라이나   |   UA   | 
|   아랍 에미리트 연합국   |   AE   | 
|   영국   |   UK   | 
|   유엔   |   UN   | 
|   미국   |   US   | 
|   미국령 군소 제도   |   UM   | 
|   미국령 버진아일랜드   |   VI   | 
|   우루과이   |   UY   | 
|   우즈베키스탄   |   UZ   | 
|   바누아투   |   VU   | 
|   바티칸 시티   |   VA   | 
|   베네수엘라   |   VE   | 
|   베트남   |   VN   | 
|   월리스 푸투나   |   WF   | 
|   서사하라   |   EH   | 
|   예멘   |   YE   | 
|   잠비아   |   ZM   | 
|   짐바브웨   |   ZW   | 

# 목표 지표
<a name="timeseries-objective-metric"></a>

Autopilot은 모델 후보를 평가하고 예측 생성에 사용할 모델을 선택하는 데 도움이 되는 정확도 지표를 생성합니다. Autopilot이 예측기를 자동으로 최적화하도록 하거나 예측기의 알고리즘을 수동으로 선택할 수 있습니다. 기본적으로 Autopilot은 평균 가중치 기반 분위수 손실을 사용합니다.

다음 목록에는 시계열 예측을 위한 모델의 성능을 측정하는 데 현재 사용할 수 있는 지표의 이름이 나와 있습니다.

**`RMSE`**  
평균 제곱근 오차(RMSE) – 예측값과 실제 값 간의 제곱 차이의 제곱근을 측정하며, 모든 값에 대해 평균을 구합니다. 이는 큰 모델 오차와 이상값이 있음을 나타내는 중요한 지표입니다. 값 범위는 0에서 무한대까지이며 숫자가 작을수록 모델이 데이터에 더 적합함을 나타냅니다. RMSE는 규모에 따라 달라지므로 크기가 다른 데이터세트를 비교하는 데 사용해서는 안 됩니다.

**`wQL`**  
가중치 기반 분위수 손실(WQL) – 예측된 P10, P50 및 P90 분위수와 이들의 실제 분위수 간의 가중치 기반 절대 차이를 측정하여 예측의 정확도를 평가하는데, 값이 낮을수록 성능이 더 우수함을 나타냅니다.

**`Average wQL (default)`**  
평균 가중치 기반 분위수 손실(평균 wQL) – P10, P50 및 P90 분위수의 정확도를 평균화하여 예측을 평가합니다. 값이 낮을수록 모델이 더 정확하다는 의미입니다.

**`MASE`**  
평균 절대 조정 오차(MASE) – 단순 기준 예측 방법의 평균 절대 오차로 정규화된 예측의 평균 절대 오차입니다. 값이 낮을수록 모델의 정확도가 더 높으며, MASE < 1이면 기준보다 나은 것으로 추정되고 MASE > 1이면 기준보다 나쁜 것으로 추정됩니다.

**`MAPE`**  
평균 절대 백분율 오차(MAPE) – 모든 시점에 걸쳐 평균화된 백분율 오차(평균 예측값과 실제 값의 백분율 차이)입니다. 값이 낮을수록 모델이 더 정확하다는 의미이며, 여기서 MAPE = 0은 오차가 없는 모델입니다.

**`WAPE`**  
가중 절대 백분율 오차(WAPE) – 절대 목표의 합으로 정규화된 절대 오차의 합계로, 예측값과 관측값의 전체 편차를 나타냅니다. 값이 낮을수록 모델이 더 정확하다는 의미입니다.

# 시계열 예측을 위한 알고리즘 지원
<a name="timeseries-forecasting-algorithms"></a>

Autopilot은 대상 시계열로 다음 6가지 기본 제공 알고리즘을 훈련시킵니다. 그런 다음 스태킹 앙상블 방법을 사용하여 이러한 모델 후보를 결합하여 주어진 목표 지표에 최적의 예측 모델을 생성합니다.
+ **컨벌루션 신경망 – 분위수 회귀(CNN–QR)** – CNN–QR은 인과 컨벌루션 신경망(CNN)을 사용하여 시계열 예측 전용 기계 학습 알고리즘입니다. CNN–QR은 수백 개의 시계열을 포함하는 대규모 데이터세트에서 최상으로 작동합니다.
+ **DeepAR\$1** – DeepAR\$1는 순환 신경망(RNN)을 사용하여 시계열을 예측하는 전용 기계 학습 알고리즘입니다. DeepAR\$1는 수백 개의 기능 시계열을 포함하는 대규모 데이터세트에서 최상으로 작동합니다.
+ **Prophet** – [Prophet](https://facebook.github.io/prophet/)은 비선형 추세가 연간, 주간 및 일별 계절성에 맞는 가법 모델을 기반으로 하는 인기 있는 로컬 베이지안 구조 시계열 모델입니다. Autopilot Prophet 알고리즘은 Prophet의 Python 구현의 [Prophet 클래스](https://facebook.github.io/prophet/docs/quick_start.html#python-ap)를 사용합니다. 계절적 영향이 강하고 여러 시즌의 기록 데이터를 가진 시계열에 가장 적합합니다.
+ **Non–Parametric Time Series(NPTS)** - NPTS 전용 알고리즘은 확장 가능하고 확률론적인 기준 예측자입니다. 과거 관측치로부터 샘플링하여 주어진 시계열의 미래 가치 분포를 예측합니다. NPTS는 희소하거나 간헐적인 시계열을 사용할 때 특히 유용합니다.
+ **Autoregressive Integrated Moving Average(ARIMA)** - ARIMA는 시계열 예측용으로 일반적으로 사용되는 통계 알고리즘입니다. 이 알고리즘은 입력 데이터세트에서 표준 시간 구조(패턴화된 시간 구조)를 캡처합니다. 시계열이 100개 미만인 간단한 데이터세트에 특히 유용합니다.
+ **Exponential Smoothing(ETS)** - ETS는 시계열 예측에 일반적으로 사용되는 통계 알고리즘입니다. 이 알고리즘은 시계열이 100개 미만인 간단한 데이터세트와 계절성 패턴이 있는 데이터세트에 특히 유용합니다. ETS는 시간이 지남에 따라 가중치가 기하급수적으로 감소하면서 시계열 데이터세트의 모든 관측치에 대한 가중 평균을 예측으로 계산합니다.

# 배포된 Autopilot 모델 예측
<a name="timeseries-forecasting-deploy-models"></a>

AutoML API를 사용하여 모델을 학습시킨 후 실시간 또는 배치 기반 예측을 위해 모델을 배포할 수 있습니다.

Autopilot API는 시계열 데이터를 사용하여 여러 모델 후보를 훈련시킨 다음 대상 객관적 지표에 맞는 최적의 예측 모델을 선택합니다. 모델 후보를 훈련하면 [BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-CandidateName)에서 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)에 대한 응답에서 최적의 후보를 찾을 수 있습니다.

이 최고 성능 모델을 사용하여 예측을 가져오려면 엔드포인트를 설정하여 대화형으로 예측을 가져오거나 배치 예측을 사용하여 관찰 배치를 예측할 수 있습니다.

**고려 사항**
+ 예측을 위한 입력 데이터를 제공할 때는 열 수, 열 헤더, 데이터 형식 등 데이터 스키마가 모델 훈련에 사용된 스키마와 동일하게 유지되어야 합니다. 동일하거나 다른 타임스탬프 범위 내의 기존 또는 새 항목 ID를 예측하여 다른 기간에 대해 예측할 수 있습니다.
+ 예측 모델은 훈련 시 입력 요청에 지정된 미래, 즉 *대상 종료일*부터 *대상 종료일 \$1 예측 기간*까지의 예측 기간에 대해 예측합니다. 모델을 사용하여 특정 날짜를 예측하려면 원래 입력 데이터와 동일한 형식으로 지정된 *대상 종료일*까지 확장된 데이터를 제공해야 합니다. 이 시나리오에서 모델은 새 대상 종료일부터 예측을 시작합니다.

  예를 들어 데이터세트에 예측 기간이 2인 1월부터 6월까지의 월간 데이터가 있는 경우 모델은 다음 2개월(7월과 8월) 동안의 대상 값을 예측합니다. 8월에 다음 2개월에 대해 예측하려는 경우 이번에는 입력 데이터가 1월부터 8월까지의 데이터여야 하며 그러면 이 모델이 다음 2개월(9월, 10월)에 대한 예측을 수행합니다.
+ 향후 데이터 포인트를 예측할 때 제공할 기록 데이터의 양에 대해 설정된 최소값은 없습니다. 시계열에서 계절적 및 반복적 패턴을 캡처할 수 있는 충분한 데이터를 포함합니다.

**Topics**
+ [실시간 예측](timeseries-forecasting-realtime.md)
+ [배치 예측](timeseries-forecasting-batch.md)

# 실시간 예측
<a name="timeseries-forecasting-realtime"></a>

실시간 예측은 즉각적인 응답이 필요한 애플리케이션이나 개별 데이터 포인트에 대한 예측과 같이 즉시 예측을 생성해야 할 때 유용합니다.

AutoML 모델을 실시간 엔드포인트로 배포하면 온디맨드로 예측을 생성하고 새 데이터를 수신하고 예측을 얻는 사이의 지연 시간을 최소화할 수 있습니다. 따라서 실시간 예측은 즉각적, 개인화 또는 이벤트 기반 예측 기능이 필요한 애플리케이션에 적합합니다.

실시간 예측의 경우 데이터세트는 입력 데이터세트의 서브셋이어야 합니다. 실시간 엔드포인트의 입력 데이터 크기는 약 6MB이고 응답 제한 시간은 60초입니다. 한 번에 하나 또는 몇 개의 항목을 가져오는 것이 좋습니다.

SageMaker API를 사용하여 AutoML 작업의 최적 후보를 검색한 다음 해당 후보를 사용하여 SageMaker AI 엔드포인트를 만들 수 있습니다.

또는 Autopilot 실험을 생성할 때 자동 배포 옵션을 선택할 수도 있습니다. 모델 자동 배포 설정에 대한 자세한 내용은 [자동 배포를 활성화하는 방법](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-auto-model-deployment) 섹션을 참조하세요.

**최적의 모델 후보를 사용하여 SageMaker AI 엔드포인트를 만들려면 다음과 같이 합니다.**

1. 

**AutoML 작업의 세부 정보를 검색합니다.**

   다음 AWS CLI 명령 예제에서는 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API를 사용하여 최적의 모델 후보에 대한 정보를 포함하여 AutoML 작업에 대한 세부 정보를 가져옵니다.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**최적의 모델 후보를 위해 [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)에서 컨테이너 정의를 추출합니다.**

   컨테이너 정의는 예측을 위해 훈련된 SageMaker AI 모델을 호스팅하는 데 사용되는 컨테이너화된 환경입니다.

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
     --auto-ml-job-name job-name 
     --region region \
     --query 'BestCandidate.InferenceContainers[0]' \
     --output json
   ```

   이 명령은 최상의 모델 후보에 대한 컨테이너 정의를 추출하여 `BEST_CANDIDATE` 변수에 저장합니다.

1. 

**최적의 후보 컨테이너 정의를 사용하여 SageMaker AI 모델을 만듭니다.**

   이전 단계의 컨테이너 정의를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API로 SageMaker AI 모델을 만듭니다.

   ```
   aws sagemaker create-model \
               --model-name 'your-candidate-name>' \
               --primary-container "$BEST_CANDIDATE"
               --execution-role-arn 'execution-role-arn>' \
               --region 'region>
   ```

   `--execution-role-arn` 파라미터는 추론에 모델을 사용할 때 SageMaker AI가 수임하는 IAM 역할을 지정합니다. 이 역할에 필요한 권한에 대한 자세한 내용은 [CreateModel API: 실행 역할 권한](https://docs.aws.amazon.com/) 섹션을 참조하세요.

1. 

**모델을 사용하여 SageMaker AI 엔드포인트 구성 만들기**

   다음 AWS CLI 명령은 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API를 사용하여 엔드포인트 구성을 생성합니다.

   ```
   aws sagemaker create-endpoint-config \
     --production-variants file://production-variants.json \
     --region 'region'
   ```

   `production-variants.json` 파일에 모델 이름 및 인스턴스 유형을 포함한 모델 구성이 포함된 경우.
**참고**  
실시간 예측에는 [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) 인스턴스를 사용하는 것이 좋습니다.

   ```
   [
       {
         "VariantName": "variant-name",
         "ModelName": "model-name",
         "InitialInstanceCount": 1,
         "InstanceType": "m5.12xlarge"
       }
     ]
   }
   ```

1. 

**엔드포인트 구성을 사용하여 SageMaker AI 엔드포인트를 만듭니다.**

   다음 AWS CLI 예제에서는 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API를 사용하여 엔드포인트를 생성합니다.

   ```
   aws sagemaker create-endpoint \
               --endpoint-name 'endpoint-name>' \
               --endpoint-config-name 'endpoint-config-name' \
               --region 'region'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API를 사용하여 실시간 추론 엔드포인트 배포 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker describe-endpoint \
               --endpoint-name 'endpoint-name' \
               --region 'region'
   ```

   `EndpointStatus`가 `InService`로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

1. 

**SageMaker AI 엔드포인트를 간접적으로 호출하여 예측합니다.**

   ```
   aws sagemaker invoke-endpoint \
               --endpoint-name 'endpoint-name' \ 
               --region 'region' \
               --body file://input-data-in-bytes.json \
               --content-type 'application/json' outfile
   ```

   `input-data-in-bytes.json` 파일에 예측에 대한 입력 데이터가 포함된 경우.

# 배치 예측
<a name="timeseries-forecasting-batch"></a>

오프라인 추론이라고도 하는 배치 예측은 배치 관찰에서 모델 예측을 생성합니다. 대규모 데이터세트나 모델 예측 요청에 대한 즉각적인 응답이 필요하지 않은 경우 배치 추론을 사용하는 것이 좋습니다.

반면, 온라인 추론(실시간 추론)은 실시간으로 예측을 생성합니다.

SageMaker API를 사용하여 AutoML 작업의 최적 후보를 검색한 다음 해당 후보를 사용하여 추론할 입력 데이터 배치를 제출할 수 있습니다.

1. 

**AutoML 작업의 세부 정보를 검색합니다.**

   다음 AWS CLI 명령 예제에서는 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API를 사용하여 최적의 모델 후보에 대한 정보를 포함하여 AutoML 작업에 대한 세부 정보를 가져옵니다.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**최적의 모델 후보를 위해 [InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers)에서 컨테이너 정의를 추출합니다.**

   컨테이너 정의는 예측을 위해 훈련된 SageMaker AI 모델을 호스팅하는 데 사용되는 컨테이너화된 환경입니다.

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
         --auto-ml-job-name job-name 
         --region region \
         --query 'BestCandidate.InferenceContainers[0]' \
         --output json
   ```

   이 명령은 최상의 모델 후보에 대한 컨테이너 정의를 추출하여 `BEST_CANDIDATE` 변수에 저장합니다.

1. 

**최적의 후보 컨테이너 정의를 사용하여 SageMaker AI 모델을 만듭니다.**

   이전 단계의 컨테이너 정의를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API로 SageMaker AI 모델을 만듭니다.

   ```
   aws sagemaker create-model \
         --model-name 'model-name' \
         --primary-container "$BEST_CANDIDATE"
         --execution-role-arn 'execution-role-arn>' \
         --region 'region>
   ```

   `--execution-role-arn` 파라미터는 추론에 모델을 사용할 때 SageMaker AI가 수임하는 IAM 역할을 지정합니다. 이 역할에 필요한 권한에 대한 자세한 내용은 [CreateModel API: 실행 역할 권한](https://docs.aws.amazon.com/) 섹션을 참조하세요.

1. 

**배치 변환 작업을 생성합니다.**

   다음 예제에서는 [CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html) API를 사용하여 변환 작업을 생성합니다.

   ```
   aws sagemaker create-transform-job \ 
          --transform-job-name 'transform-job-name' \
          --model-name 'model-name'\
          --transform-input file://transform-input.json \
          --transform-output file://transform-output.json \
          --transform-resources file://transform-resources.json \
          --region 'region'
   ```

   입력, 출력 및 리소스 세부 정보는 별도의 JSON 파일에 정의됩니다.
   + `transform-input.json`:

     ```
     {
       "DataSource": {
         "S3DataSource": {
           "S3DataType": "S3Prefix",
           "S3Uri": "s3://my-input-data-bucket/path/to/input/data"
         }
       },
       "ContentType": "text/csv",
       "SplitType": "None"
     }
     ```
   + `transform-output.json`:

     ```
     {
       "S3OutputPath": "s3://my-output-bucket/path/to/output",
       "AssembleWith": "Line"
     }
     ```
   + `transform-resources.json`:
**참고**  
배치 예측의 경우 범용 워크로드에는 [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) 인스턴스를 사용하고 빅 데이터 예측 작업에는 `m5.24xlarge` 인스턴스를 사용합니다.

     ```
     {
       "InstanceType": "instance-type",
       "InstanceCount": 1
     }
     ```

1. 

**[DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html) API를 사용하여 변환 작업의 진행 상황을 모니터링합니다.**

   다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker describe-transform-job \
         --transform-job-name 'transform-job-name' \
         --region region
   ```

1. 

**배치 변환 출력을 검색합니다.**

   작업이 완료되면 예측된 결과를 `S3OutputPath`에서 확인할 수 있습니다.

   출력 파일 이름의 형식: `input_data_file_name.out`. 예를 들어, 입력 파일이 `text_x.csv`인 경우 출력 이름은 `text_x.csv.out`입니다.

   ```
   aws s3 ls s3://my-output-bucket/path/to/output/
   ```

다음 코드 예제에서는 배치 예측을 AWS CLI 위한 Python용 AWS SDK(boto3) 및의 사용을 보여줍니다.

------
#### [ AWS SDK for Python (boto3) ]

 다음 예제에서는 **Python용AWS SDK(boto3)**를 사용하여 배치 예측을 만듭니다.

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job_v2(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'None'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

배치 추론 작업에서는 다음 형식으로 응답을 반환합니다.

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **최상의 후보 컨테이너 정의를 획득합니다.**

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **모델을 생성합니다**.

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **모델 변환 작업을 생성합니다.**.

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
    --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "None"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **변환 작업의 진행 상황을 확인합니다**.

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   다음은 변환 작업의 응답입니다.

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "None"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   `TransformJobStatus` 상태를 `Completed`로 변경한 후에는 `S3OutputPath`에서 추론 결과를 확인할 수 있습니다.

------

# Amazon SageMaker Autopilot 데이터 탐색 노트북
<a name="timeseries-forecasting-data-exploration-notebook"></a>

Amazon SageMaker Autopilot은 데이터세트를 자동으로 정리하고 사전 처리합니다. Amazon SageMaker Autopilot은 사용자가 데이터를 이해하고 시계열에 대한 패턴, 관계 및 이상을 발견하도록 지원하기 위해, Amazon SageMaker Autopilot은 사용자가 참조할 수 있도록 노트북 형태의 **데이터 탐색** 정적 보고서를 생성합니다.

데이터 탐색 노트북은 모든 Autopilot 작업에 대해 생성됩니다. 보고서는 Amazon S3 버킷에 저장되며 작업 출력 경로에서 액세스할 수 있습니다.

`[AutoMLJobArtifacts.DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#sagemaker-DescribeAutoMLJobV2-response-AutoMLJobArtifacts)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에서 데이터 탐색 노트북의 Amazon S3 접두사를 찾을 수 있습니다.

# Amazon SageMaker Autopilot으로 생성된 보고서
<a name="timeseries-forecasting-reports"></a>

Autopilot은 데이터 탐색 노트북 외에도 각 실험에 가장 적합한 모델 후보에 대한 다양한 보고서를 생성합니다.
+ 설명 가능성 보고서는 모델의 예측 수행 방식에 대한 통찰력을 제공합니다.
+ 성과 보고서는 모델의 예측 기능에 대한 정량적 평가를 제공합니다.
+ 백테스트 결과 보고서는 기록 데이터에 대한 모델 성능을 테스트한 후에 생성됩니다.

## 설명 가능성 보고서
<a name="timeseries-forecasting-explainability-report"></a>

Autopilot 설명 가능성 보고서를 통해 데이터세트의 속성이 특정 시계열(항목 및 차원 조합) 및 시점에 대한 예측에 미치는 영향을 더 잘 이해할 수 있습니다. Autopilot은 *영향 점수*라는 지표를 사용하여 각 속성의 상대적 영향을 정량화하고 예측값의 증가 또는 감소 여부를 결정합니다.

예를 들어 대상이 `sales`이고 `price` 및 `color`의 두 관련 속성이 있는 예측 시나리오를 생각해 보세요. Autopilot은 품목의 색상이 특정 품목의 판매에 큰 영향을 미치지만 다른 품목에 미치는 영향은 미미할 수 있습니다. 여름철 프로모션은 판매에 큰 영향을 주지만 겨울철 프로모션은 효과가 거의 없을 수도 있습니다.

설명 가능성 보고서는 다음과 같은 경우에만 생성됩니다.
+ 시계열 데이터세트가 추가 기능 열을 포함하거나 공휴일 캘린더와 연결된 경우.
+ 기본 모델 CNN–QR 및 DeepAR\$1가 최종 앙상블에 포함된 경우.

### 영향 점수 해석
<a name="timeseries-forecasting-explainability-impact-scores"></a>

영향 점수는 속성이 예측값에 미치는 상대적 영향을 측정합니다. 예를 들어 `price` 속성의 영향 점수가 `store location` 속성보다 두 배 높으면 품목 가격이 매장 위치보다 예측값에 미치는 영향이 두 배라는 결론을 내릴 수 있습니다.

영향 점수는 속성의 예측치 증가 또는 감소 여부에 대한 정보도 제공합니다.

영향 점수의 범위는 –1에서 1까지이며, 여기서 부호는 영향의 방향을 나타냅니다. 점수가 0이면 영향이 없음을 나타내고, 점수가 1 또는 –1에 가까우면 중대한 영향을 나타냅니다.

중요한 점은 영향 점수는 속성의 절대적 영향이 아니라 상대적 영향을 측정한다는 점입니다. 따라서 영향 점수를 사용하여 특정 속성이 모델 정확도를 향상시키는지 여부를 판단할 수는 없습니다. 속성의 영향 점수가 낮다고 해서 반드시 예측값에 미치는 영향이 적은 것은 아니며, 예측기가 사용하는 다른 속성보다 예측값에 미치는 영향이 적다는 뜻입니다.

### 설명 가능성 보고서 찾기
<a name="timeseries-forecasting-explainability-report-location"></a>

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 설명 가능성 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

## 모델 성능 보고서
<a name="timeseries-forecasting-model-performance-report"></a>

Autopilot 모델 품질 보고서(성과 보고서라고도 함)는 AutoML 작업에서 생성된 최적의 모델 후보(최상의 예측기)에 대한 통찰력과 품질 정보를 제공합니다. 여기에는 작업 세부 정보, 목표 함수, 정확도 지표(`wQL`, `MAPE`, `WAPE`, `RMSE`, `MASE`)에 대한 정보가 포함됩니다.

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 모델 품질 보고서 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

## 백테스트 결과 보고서
<a name="timeseries-forecasting-model-backtest-report"></a>

백테스트 결과는 예측 정확도와 안정성을 평가하여 시계열 예측 모델의 성능에 대한 통찰력을 제공합니다. 분석가와 데이터 사이언티스트가 기록 데이터에 대한 성능을 평가하고 보이지 않는 미래의 데이터에 대한 잠재적 성능을 이해하는 데 도움이 됩니다.

Autopilot은 백테스팅을 사용하여 파라미터를 조정하고 정확도 지표을 생성합니다. 백테스팅 중에 Autopilot은 시계열 데이터를 훈련 세트와 테스팅 세트의 두 세트로 자동으로 분할합니다. 훈련 세트는 모델을 훈련시킨 다음 테스팅 세트의 데이터 포인트에 대한 예측을 생성하는 데 사용됩니다. Autopilot은 이 테스팅 데이터세트를 사용하여 예측된 값을 테스팅 세트의 관찰된 값과 비교하여 모델의 정확도를 평가합니다.

`[BestCandidate.CandidateProperties.CandidateArtifactLocations.BacktestResults](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-BacktestResults)`에서 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`에 대한 응답에 최적의 후보에 대해 생성된 모델 품질 보고서 아티팩트의 Amazon S3 접두사를 찾을 수 있습니다.

# Autopilot용 시계열 예측 리소스 제한
<a name="timeseries-forecasting-limits"></a>

다음 표에는 Amazon SageMaker Autopilot의 시계열 예측 작업에 대한 리소스 제한과 각 제한을 조정할 수 있는지 여부가 나와 있습니다.


| **리소스 제한** | **기본 제한** | **조정 가능** | 
| --- | --- | --- | 
|  입력 데이터세트의 크기  |  30GB  |  예  | 
|  단일 Parquet 파일의 크기  |  2GB  |  아니요  | 
|  데이터세트 내 최대 행 수  |  30억  |  예  | 
|  최대 그룹화 열 수  |  5  |  아니요  | 
|  최대 수치적 특징 수  |  13  |  아니요  | 
|  최대 범주형 기능 수  |  10  |  아니요  | 
|  데이터세트당 최대 시계열 수(항목과 그룹화 열의 고유한 조합)  |  5,000,000  |  예  | 
|  최대 예측 기간  |  500  |  예  | 

# API를 사용하여 텍스트 생성 모델을 미세 조정하는 AutoML 작업 생성
<a name="autopilot-create-experiment-finetune-llms"></a>

대규모 언어 모델(LLM)은 텍스트 생성, 요약, 완료, 질문 답변 등을 비롯한 여러 생성 작업에 탁월합니다. 이들의 성과는 규모가 크고 다양한 데이터세트와 다양한 작업에 대한 광범위한 훈련 덕분일 수 있습니다. 그러나 의료 및 금융 서비스와 같은 특정 영역에서는 고유한 데이터 및 사용 사례에 맞게 적용하기 위해 맞춤형 미세 조정이 필요할 수 있습니다. LLM은 특정 영역에 맞게 훈련을 조정함으로써 성과를 개선하고 대상 애플리케이션에 더 정확한 결과를 제공할 수 있습니다.

Autopilot은 몇몇 사전 훈련된 생성 텍스트 모델을 미세 조정할 수 있는 기능을 제공합니다. 특히 Autopilot은 JumpStart에서 제공하는 다양한 범용 대규모 언어 모델(LLM)의 **지침 기반 미세 조정**을 지원합니다.

**참고**  
Autopilot의 미세 조정을 지원하는 텍스트 생성 모델은 현재 SageMaker Canvas에서 지원하는 리전에서만 이용할 수 있습니다. [지원되는 리전의 전체 목록](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)은 SageMaker Canvas 설명서에서 확인하세요.

사전 훈련된 모델을 미세 조정하려면 출력을 생성하거나 해당 작업에 맞게 동작하는 방법에 대한 모델을 안내하는 명확한 지침을 가진 특정 데이터세트가 필요합니다. 모델은 데이터세트에서 학습하고 제공된 지침에 맞게 파라미터를 조정합니다. 지침 기반 미세 조정에는 프롬프트 응답 쌍 및 지침으로 표현(phrased as instructions)과 같은 형식의 레이블이 지정된 예제를 사용하는 것이 포함됩니다. 미세 조정에 대한 자세한 내용은 [기초 모델 미세 조정](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html)을 참조하세요.

다음 지침은 SageMaker [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)를 사용하여 텍스트 생성 LLM을 미세 조정하기 위한 파일럿 실험으로 Amazon SageMaker Autopilot 작업을 생성하는 프로세스를 간략하게 설명합니다.

**참고**  
텍스트 및 이미지 분류, 시계열 예측, 대규모 언어 모델 미세 조정과 같은 작업은 버전 2의 [AutoML REST API](autopilot-reference.md)를 통해서만 사용할 수 있습니다. 선택한 언어가 Python인 경우 Amazon SageMaker Python SDK의 [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) 또는 [AutoMLV2 객체](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)를 직접 참조할 수 있습니다.  
편리한 사용자 인터페이스를 선호하는 사용자는 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)를 사용하여 사전 훈련된 모델 및 생성형 AI 기반 모델에 액세스하거나 특정 텍스트, 이미지 분류 또는 예측 요구 또는 생성형 AI에 맞춘 사용자 지정 모델을 생성할 수 있습니다.

LLM을 미세 조정하기 위해 프로그래밍 방식으로 Autopilot 실험을 생성하려면 Amazon SageMaker Autopilot나 AWS CLI에서 지원하는 모든 언어로 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API를 호출할 수 있습니다.

이 API 작업이 선택한 언어의 함수로 변환되는 방식에 대한 자세한 내용은 `CreateAutoMLJobV2`의 [추가 참고 사항](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) 섹션 및 SDK 선택을 참조하세요. 예를 들어, Python 사용자의 경우 AWS SDK for Python (Boto3)에서 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)`의 전체 요청 구문을 참조하세요.

**참고**  
Autopilot은 여러 후보를 훈련 및 평가할 필요 없이 대규모 언어 모델을 미세 조정합니다. 대신 Autopilot은 데이터세트를 사용하여 대상 모델을 직접 미세 조정하여 기본 목표 지표인 교차 엔트로피 손실을 개선합니다. Autopilot에서 언어 모델을 미세 조정할 때는 `AutoMLJobObjective` 필드 설정이 필요하지 않습니다.

LLM을 미세 조정한 후에는 `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` API 직접 호출 시 `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)`를 통해 다양한 ROUGE 점수에 액세스하여 성능을 평가할 수 있습니다. 또한 이 모델은 훈련 및 검증 손실과 Perplexity에 대한 정보도 제공합니다. 미세 조정된 모델에서 생성된 텍스트의 품질을 평가하기 위한 포괄적인 지표 목록은 [Autopilot에서 대규모 언어 모델을 미세 조정하기 위한 지표](autopilot-llms-finetuning-metrics.md)를 참조하세요.

## 사전 조건
<a name="autopilot-llms-finetuning-api-prerequisites"></a>

SageMaker AI에서 Autopilot을 사용하여 미세 조정 실험을 만들기 전에 다음 단계를 따릅니다.
+ (선택 사항) 미세 조정하려는 사전 훈련된 모델을 선택합니다.

  Amazon SageMaker Autopilot에서 미세 조정이 가능한 사전 훈련된 모델 목록은 [미세 조정을 위한 대규모 언어 모델 지원](autopilot-llms-finetuning-models.md)를 참조하세요. 모델 선택은 필수가 아닙니다. 모델이 지정되지 않은 경우 Autopilot은 자동으로 *Falcon7BInstruct* 모델을 기본값으로 사용합니다.
+ 지침 데이터세트 생성. 지침 기반 데이터세트에 대한 형식 요구 사항에 대해 알아보려면 [데이터세트 파일 유형 및 입력 데이터 형식](autopilot-llms-finetuning-data-format.md)을 참조하세요.
+ Amazon S3 버킷에 데이터세트를 저장합니다.
+ 실험을 실행하는 데 사용된 SageMaker AI 실행 역할에 대한 입력 데이터가 들어 있는 Amazon S3 버킷에 대해 전체 액세스 권한을 부여합니다.
  + SageMaker AI 실행 역할 검색에 대한 자세한 내용은 [실행 역할을 가져옵니다.](sagemaker-roles.md#sagemaker-roles-get-execution-role) 섹션을 참조하세요.
  + Amazon S3에 있는 하나 이상의 특정 버킷에 액세스할 수 있는 권한을 SageMaker AI 실행 역할에 부여하는 방법에 대한 자세한 내용은 [실행 역할 생성](sagemaker-roles.md#sagemaker-roles-create-execution-role)에서 *Add Additional Amazon S3 Permissions to a SageMaker AI Execution Role*을 참조하세요.
+ 또한 JumpStart에서 사용하는 기본 스토리지 Amazon S3 버킷에 액세스하는 데 필요한 권한을 실행 역할에 제공해야 합니다. 이 액세스 권한은 JumpStart에서 사전 훈련된 언어 모델 아티팩트를 저장하고 검색하는 데 필요합니다. 이 Amazon S3 버킷에 대한 액세스 권한을 부여하려면 실행 역할에 새로운 인라인 사용자 지정 정책을 생성해야 합니다.

  다음은 `us-west-2`에서 AutoML 미세 조정 작업을 구성할 때 JSON 편집기에서 사용할 수 있는 예제 정책입니다.

  *JumpStart의 버킷 이름은에 의존하는 미리 결정된 패턴을 따릅니다 AWS 리전. 그에 따라 버킷 이름을 조정해야 합니다.*

  ```
  {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
          "s3:GetObject",
          "s3:PutObject",
          "s3:ListBucket"
      ],
      "Resource": [
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2",
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*"
      ]
  }
  ```

이 작업이 완료되면 Autopilot API 요청에서 이 실행 역할의 ARN을 사용할 수 있습니다.

## 필수 파라미터
<a name="autopilot-llms-finetuning-api-required-params"></a>

LLM 미세 조정을 위한 Autopilot 실험을 생성하기 위해 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)`를 호출할 때는 다음 값을 제공해야 합니다.
+ 작업 이름을 지정하기 위한 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`. 이름은 `string` 형식이어야 하며 최소 길이가 1자이고 최대 길이가 32자여야 합니다.
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`에 포함된 `training` 유형의 하나 이상의 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)`. 이 채널은 미세 튜닝 데이터세트가 위치한 Amazon S3 버킷의 이름을 지정합니다. `validation` 채널을 정의할 때 옵션이 있습니다. 검증 채널이 제공되지 않고 `ValidationFraction`이 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)에 구성되어 있는 경우, 이 비율을 사용하여 훈련 데이터세트를 훈련 세트와 검증 세트로 무작위로 나눕니다. 또한 데이터세트의 콘텐츠 유형(CSV 또는 Parquet 파일)을 지정할 수 있습니다.
+ 훈련 작업의 설정을 구성하기 위한 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` 유형의 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`.

  특히 기본 모델의 이름을 지정하여 `BaseModelName` 필드에서 미세 조정할 수 있습니다. Amazon SageMaker Autopilot에서 미세 조정이 가능한 사전 훈련된 모델 목록은 [미세 조정을 위한 대규모 언어 모델 지원](autopilot-llms-finetuning-models.md)를 참조하세요.
+ AutoML 작업의 아티팩트를 저장할 Amazon S3 출력 경로를 지정하기 위한 `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`.
+ 데이터 액세스에 사용되는 역할의 ARN을 지정하기 위한 `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`.

다음은 (`Falcon7BInstruct`) 모델 미세 조정을 위해 `CreateAutoMLJobV2`에 API를 호출할 때 사용되는 전체 요청 형식의 예입니다.

```
{
   "AutoMLJobName": "<job_name>",
   "AutoMLJobInputDataConfig": [ 
      { 
         "ChannelType": "training",
         "CompressionType": "None",
         "ContentType": "text/csv", 
         "DataSource": { 
            "S3DataSource": { 
               "S3DataType": "S3Prefix",
               "S3Uri": "s3://<bucket_name>/<input_data>.csv"
            }
         }
      }
   ],
  "OutputDataConfig": {
      "S3OutputPath": "s3://<bucket_name>/output",
      "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>"
   },
   "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>",
   "AutoMLProblemTypeConfig": {
        "TextGenerationJobConfig": {
            "BaseModelName": "Falcon7BInstruct"
       }
   }
}
```

다른 모든 파라미터는 선택 사항입니다.

## 선택적 파라미터
<a name="autopilot-llms-finetuning-api-optional-params"></a>

다음 섹션에서는 미세 조정 AutoML 작업에 전달할 수 있는 몇 가지 선택적 파라미터에 대해 자세히 설명합니다.

### AutoML 작업의 훈련 및 검증 데이터세트를 지정하는 방법
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

자체 검증 데이터세트와 사용자 지정 데이터 분할 비율을 제공하거나 Autopilot이 데이터세트를 자동으로 분할하도록 할 수 있습니다.

각 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 개체(필수 파라미터 [AutoMLJobinputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) 참조)에는 기계 학습 모델을 구축할 때 데이터를 사용하는 방법을 지정하는 값 중 `training` 또는 `validation`으로 설정할 수 있는 `ChannelType`이 있습니다.

데이터 소스를 하나 이상 제공해야 하며 훈련 데이터용 및 검증 데이터용으로 최대 두 개의 데이터 소스가 허용됩니다. 데이터를 훈련 및 검증 데이터세트로 분할하는 방법은 데이터 원본이 한 개 또는 두 개인지에 따라 달라집니다.
+ **데이터 소스가 하나**뿐인 경우 `ChannelType`은 기본적으로 `training`으로 설정되며 이 값을 가져야 합니다.
  + [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)의 `ValidationFraction` 값이 설정되지 않은 경우, 기본적으로 이 소스의 데이터 중 0.2(20%)가 검증에 사용됩니다.
  + `ValidationFraction`을 0과 1 사이의 값으로 설정하면 데이터세트가 지정된 값을 기준으로 분할됩니다. 여기서 값은 검증에 사용되는 데이터세트의 비율을 지정합니다.
+ **데이터 소스가 두 개** 있는 경우, `AutoMLJobChannel` 개체 중 하나의 `ChannelType`을 기본값인 `training`으로 설정해야 합니다. 다른 데이터 소스의 `ChannelType`은 `validation`으로 설정해야 합니다. 두 데이터 소스는 CSV 또는 Parquet으로 형식이 같고 스키마가 같아야 합니다. 각 소스의 모든 데이터가 훈련 또는 검증에 사용되므로 이 경우에 `ValidationFraction`에 대한 값을 설정하지 않아야 합니다. 이 값을 설정하면 오류가 발생합니다.

### 자동 배포를 활성화하는 방법
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

Autopilot을 사용하면 미세 조정된 모델을 엔드포인트에 자동으로 배포할 수 있습니다. 미세 조정된 모델에 대한 자동 배포를 활성화하려면 AutoML 작업 요청에 `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)`를 포함하세요. 이렇게 하면 SageMaker AI 엔드포인트에 미세 조정 모델을 배포할 수 있습니다. 다음은 사용자 지정에 사용할 수 있는 구성입니다.
+ Autopilot이 엔드포인트 이름을 생성하도록 하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 `True`로 설정합니다.
+ 엔드포인트에 고유한 이름을 제공하려면 `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)`을 설정하세요.

### AutoML API를 사용하여 모델을 미세 조정할 때 EULA 수락을 설정하는 방법
<a name="autopilot-llms-finetuning-set-eula"></a>

미세 조정 전에 최종 사용자 라이선스 계약을 수락해야 하는 모델의 경우 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`를 구성할 때 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)`의 `True`로 `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)`의 `AcceptEula` 속성을 설정하여 EULA를 수락할 수 있습니다.

### 하이퍼파라미터를 설정하여 모델의 학습 프로세스를 최적화하는 방법
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`를 구성할 때 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)`의 `TextGenerationHyperParameters` 속성에서 하이퍼파라미터 값을 설정하여 텍스트 생성 모델의 학습 프로세스를 최적화할 수 있습니다.

Autopilot을 사용하면 모든 모델에서 4개의 공통 하이퍼파라미터를 설정할 수 있습니다.
+ `epochCount`: 값은 `1` \$1 `10` 범위 내의 정수 값을 포함하는 문자열이어야 합니다.
+ `batchSize`: 값은 `1` \$1 `64` 범위 내의 정수 값을 포함하는 문자열이어야 합니다.
+ `learningRate`: 값은 `0` \$1 `1` 범위 내의 부동 소수점 값을 포함하는 문자열이어야 합니다.
+ `learningRateWarmupSteps`: 값은 `0` \$1 `250` 범위 내의 정수 값을 포함하는 문자열이어야 합니다.

각 하이퍼파라미터에 대한 자세한 내용은 [텍스트 생성 모델의 학습 프로세스를 최적화하기 위한 하이퍼파라미터](autopilot-llms-finetuning-hyperparameters.md) 섹션을 참조하세요.

다음 JSON 예제는 4개의 하이퍼파라미터가 모두 구성된 TextGenerationJobConfig로 전달된 `TextGenerationHyperParameters` 필드를 보여줍니다.

```
"AutoMLProblemTypeConfig": {
  "TextGenerationJobConfig": {
    "BaseModelName": "Falcon7B",
    "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"}
  }
}
```

# 미세 조정을 위한 대규모 언어 모델 지원
<a name="autopilot-llms-finetuning-models"></a>

Autopilot API를 사용하면 Amazon SageMaker JumpStart 로 구동되는 대규모 언어 모델(LLMs)을 미세 조정할 수 있습니다.

**참고**  
최종 사용자 라이선스 계약의 승인이 필요한 미세 조정 모델의 경우 AutoML 작업 생성 시 EULA 수락을 명시적으로 선언해야 합니다. 사전 학습된 모델을 미세 조정한 후에는 원래 모델의 가중치가 변경되므로 미세 조정된 모델을 배포할 때 나중에 EULA를 수락할 필요가 없습니다.  
AutoML API를 사용하여 미세 조정 작업을 생성할 때 EULA를 수락하는 방법에 대한 자세한 내용은 [AutoML API를 사용하여 모델을 미세 조정할 때 EULA 수락을 설정하는 방법](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula) 섹션을 참조하세요.

다음 [모델 테이블](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)에서 **JumpStart 모델 ID**를 검색한 다음 **소스** 열의 링크를 따라가면 각 모델의 전체 세부 정보를 찾을 수 있습니다. 이러한 세부 정보에는 모델이 지원하는 언어, 모델이 나타낼 수 있는 편향, 미세 조정에 사용되는 데이터세트 등이 포함될 수 있습니다.

다음 표에는 AutoML 작업으로 미세 조정할 수 있는 지원되는 JumpStart 모델이 나열되어 있습니다.


| JumpStart 모델 ID | API 요청의 `BaseModelName` | 설명 | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B는 [pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b)를 기반으로 하는 28억 개의 파라미터 명령어를 따르는 대규모 언어 모델입니다. 데이터세트 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k)를 미세 조정하는 지침/응답에 대해 훈련되었으며 브레인스토밍, 분류, 질문 및 답변, 텍스트 생성, 정보 추출 및 요약을 포함한 작업을 수행할 수 있습니다.  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B는 [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b)를 기반으로 하는 69억 개의 파라미터 명령어를 따르는 대규모 언어 모델입니다. 데이터세트 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k)를 미세 조정하는 지침/응답에 대해 훈련되었으며 브레인스토밍, 분류, 질문 및 답변, 텍스트 생성, 정보 추출 및 요약을 포함한 작업을 수행할 수 있습니다.  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B는 [pythia-12b](https://huggingface.co/EleutherAI/pythia-12b)를 기반으로 하는 120억 개의 파라미터 명령어를 따르는 대규모 언어 모델입니다. 이는 지시/응답 미세 조정 데이터세트 [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k)에 대해 훈련되었으며 브레인스토밍, 분류, 질문 및 답변, 텍스트 생성, 정보 추출, 요약 등의 작업을 수행할 수 있습니다.  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B는 엄선한 코포라로 향상된 1,500억 개의 토큰에 대해 훈련된 70억 개의 파라미터 인과관계 대규모 언어 모델입니다. Falcon-7B는 영어 및 프랑스어 데이터에서만 훈련되며 다른 언어로 적절하게 일반화되지 않습니다. 이 모델은 대량의 웹 데이터에 대해 훈련되었으므로 일반적으로 온라인에서 발견되는 고정 관념과 편향을 보입니다.  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  Falcon 7B Instruct는 Falcon 7B를 기반으로 구축되고 채팅/지시 데이터세트가 혼합된 2억 5천만 개의 토큰을 기반으로 미세 조정된 70억 개의 파라미터 인과관계 대규모 언어 모델입니다. Falcon 7B Instruct는 대부분 영어 데이터에 대한 교육을 받았으며 다른 언어로는 적절하게 일반화되지 않습니다. 또한 웹을 대표하는 대규모 기업체에 대해 훈련되므로 온라인에서 흔히 접하는 고정 관념과 편향이 수반됩니다.  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B는 큐레이트된 코포라로 향상된 1,000억 개의 토큰에 대해 훈련된 400억 개의 파라미터 인과관계 대규모 언어 모델입니다. 영어, 독일어, 스페인어 및 프랑스어로 대부분 훈련되었으며 이탈리아어, 포르투갈어, 폴란드어, 네덜란드어, 루마니아어, 체코어 및 스웨덴어로 제한된 기능을 갖추고 있습니다. 다른 언어로는 적절하게 일반화되지 않습니다. 또한 웹을 대표하는 대규모 기업체에 대해 훈련되므로 온라인에서 흔히 접하는 고정 관념과 편향이 수반됩니다.  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon 40B Instruct는 Falcon40B를 기반으로 빌드되고 Baize를 혼합하여 미세 조정된 400억 개의 매개변수 인과관계 대규모 언어 모델입니다. 영어 및 프랑스어 데이터에 대해 대부분 훈련되었으며 다른 언어로는 적절하게 일반화되지 않습니다. 또한 웹을 대표하는 대규모 기업체에 대해 훈련되므로 온라인에서 흔히 접하는 고정 관념과 편향이 수반됩니다.  | 
| huggingface-text2text-flan-t5-large | FlanT5L |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) 모델군은 여러 작업에 대해 미세 조정되고 추가 훈련이 가능한 대규모 언어 모델 세트입니다. 이러한 모델은 언어 번역, 텍스트 생성, 문장 완성, 단어 감각 모호화, 요약 또는 질문 답변과 같은 작업에 적합합니다. Flan T5 L은 다양한 언어로 훈련된 7억 8천만 파라미터 대규모 언어 모델입니다. JumpStart의 [모델 테이블](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table) 에서 모델 ID로 검색한 모델의 세부 정보에서 Flan T5 L에서 지원하는 언어 목록을 찾을 수 있습니다.  | 
| huggingface-text2text-flan-t5-xl | FlanT5XL |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) 모델군은 여러 작업에 대해 미세 조정되고 추가 훈련이 가능한 대규모 언어 모델 세트입니다. 이러한 모델은 언어 번역, 텍스트 생성, 문장 완성, 단어 감각 모호화, 요약 또는 질문 답변과 같은 작업에 적합합니다. Flan T5 XL은 다양한 언어로 훈련된 30억 파라미터 대규모 언어 모델입니다. JumpStart의 [모델 테이블](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table) 에서 모델 ID로 검색한 모델의 세부 정보에서 Flan T5 XL에서 지원하는 언어 목록을 찾을 수 있습니다.  | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |  [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5) 모델군은 여러 작업에 대해 미세 조정되고 추가 훈련이 가능한 대규모 언어 모델 세트입니다. 이러한 모델은 언어 번역, 텍스트 생성, 문장 완성, 단어 감각 모호화, 요약 또는 질문 답변과 같은 작업에 적합합니다. Flan T5 XXL은 110억 개의 파라미터 모델입니다. JumpStart의 [모델 테이블](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table) 에서 모델 ID로 검색한 모델의 세부 정보에서 Flan T5 XXL에서 지원하는 언어 목록을 찾을 수 있습니다.  | 
| meta-textgeneration-llama-2-7b | Llama2-7B |  Llama 2는 70억\$1700억 파라미터 범위의 사전 훈련되고 미세 조정된 생성 텍스트 모델 모음입니다. Llama2-7B는 영어용으로 설계된 70억 파라미터 모델이며 다양한 자연어 생성 작업에 맞게 조정할 수 있습니다.  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2는 70억\$1700억 파라미터 범위의 사전 훈련되고 미세 조정된 생성 텍스트 모델 모음입니다. Llama2-7B는 대화 사용 사례에 최적화된 70억 파라미터 채팅 모델입니다.  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2는 70억\$1700억 파라미터 범위의 사전 훈련되고 미세 조정된 생성 텍스트 모델 모음입니다. Llama2-13B는 영어용으로 설계된 130억 개의 파라미터 모델로, 다양한 자연어 생성 작업에 맞게 조정할 수 있습니다.  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2는 70억\$1700억 파라미터 범위의 사전 훈련되고 미세 조정된 생성 텍스트 모델 모음입니다. Llama2-13B는 대화 사용 사례에 최적화된 130억 개의 파라미터 채팅 모델입니다.  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B는 70억 파라미터 코드 및 범용 영어 텍스트 생성 모델입니다. 텍스트 요약, 분류, 텍스트 완료 또는 코드 완료 등 다양한 사용 사례에 사용할 수 있습니다.  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct는 대화 사용 사례를 위해 Mistral 7B의 미세 조정된 버전입니다. 영어로 공개적으로 사용 가능한 다양한 대화 데이터세트를 사용하여 전문화되었습니다.  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B는 67억 개의 파라미터가 있는 디코더 스타일 트랜스포머 대규모 언어 모델로, 영어 텍스트 및 코드 토큰 1조 개에 대해 처음부터 사전 훈련되었습니다. 긴 컨텍스트 길이를 처리할 준비가 되어 있습니다.  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct는 작업에 따른 단축형 명령어 모델입니다. [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k)에서 파생된 데이터세트와 [Anthropic Helpful and Harmless(HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf) 데이터세트에서 MPT 7B를 미세 조정하여 구축됩니다.  | 

# 데이터세트 파일 유형 및 입력 데이터 형식
<a name="autopilot-llms-finetuning-data-format"></a>

지침 기반 미세 조정은 레이블이 지정된 데이터세트를 사용하여 특정 자연어 처리(NLP) 작업에서 사전 훈련된 LLM의 성능을 개선합니다. 레이블이 지정된 예제는 프롬프트 응답 쌍으로 형식이 지정되고 지시사항으로 구문이 지정됩니다.



지원되는 데이터세트 파일 유형에 대해 알아보려면 [지원되는 데이터세트 파일 유형](#autopilot-llms-finetuning-dataset-format)을 참조하세요.

입력 데이터 형식에 대해 알아보려면 [지침 기반 미세 조정을 위한 입력 데이터 형식](#autopilot-llms-finetuning-input-format)을 참조하세요.

## 지원되는 데이터세트 파일 유형
<a name="autopilot-llms-finetuning-dataset-format"></a>

Autopilot은 CSV 파일(기본) 또는 Parquet 파일 형식의 지침 기반 미세 조정 데이터세트를 지원합니다.
+ **CSV**(쉼표로 구분된 값)는 사람이 읽을 수 있는 일반 텍스트로 데이터를 저장하는 행 기반 파일 형식으로, 다양한 범위의 애플리케이션에서 지원되므로 데이터 교환에 널리 사용됩니다.
+ **Parquet**는 CSV 같이 사람이 읽을 수 있는 파일 형식보다 데이터를 더 효율적으로 저장하고 처리하는 이진수 열 기반 파일 형식입니다. 따라서 빅 데이터 문제에 더 나은 옵션입니다.

**참고**  
데이터세트는 여러 파일로 구성될 수 있으며 각 파일은 특정 템플릿을 준수해야 합니다. 입력 데이터의 형식에 대한 자세한 내용은 [지침 기반 미세 조정을 위한 입력 데이터 형식](#autopilot-llms-finetuning-input-format) 섹션을 참조하세요.

## 지침 기반 미세 조정을 위한 입력 데이터 형식
<a name="autopilot-llms-finetuning-input-format"></a>

데이터세트의 각 파일은 다음 형식을 준수해야 합니다.
+ 데이터세트에는 정확히 두 개의 쉼표로 구분되고 이름이 지정된 열 `input`과 `output`이 포함되어야 합니다. Autopilot은 추가 열을 허용하지 않습니다.
+ `input` 열에는 프롬프트가 포함되고 해당 `output` 열에는 예상 답변이 포함됩니다. `input`과 `output`는 모두 문자열 형식입니다.

다음 예제는 Autopilot의 지침 기반 미세 조정을 위한 입력 데이터 형식을 보여줍니다.

```
input,output
"<prompt text>","<expected generated text>"
```

**참고**  
모델의 학습 및 성능을 최적화하려면 최소 1000행의 데이터세트를 사용하는 것이 좋습니다.

또한 Autopilot은 사용 중인 모델 유형에 따라 데이터세트의 행 수와 컨텍스트 길이에 대한 최대 제한을 설정합니다.
+ 데이터세트의 행 수 제한은 여러 파일을 포함하여 데이터세트 내 모든 파일의 누적 행 수에 적용됩니다. 두 가지 [채널 유형](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)이 정의된 경우(훈련용과 검증용), 제한은 두 채널 내 모든 데이터세트의 총 행 수에 적용됩니다. 행 수가 임계값을 초과하면 작업이 실패하고 검증 오류가 발생합니다.
+ 데이터세트에 있는 행의 입력 또는 출력 길이가 언어 모델 컨텍스트에 설정된 제한을 초과하면 행이 자동으로 잘립니다. 입력이든 출력이든 데이터세트의 행 중 60% 이상이 잘린 경우 Autopilot은 검증 오류가 발생하여 작업에 실패합니다.

다음 표에는 각 모델에 대한 이러한 제한이 나와 있습니다.


| JumpStart 모델 ID | API 요청의 `BaseModelName` | 행 제한 | 컨텍스트 길이 제한 | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 1만 행 | 1024개의 토큰 | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 1만 행 | 1024개의 토큰 | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 1만 행 | 1024개의 토큰 | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1,000개 행 | 1024개의 토큰 | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1,000개 행 | 1024개의 토큰 | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 1만 행 | 1024개의 토큰 | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 1만 행 | 1024개의 토큰 | 
| huggingface-text2text-flan-t5-large | FlanT5L | 1만 행 | 1024개의 토큰 | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 1만 행 | 1024개의 토큰 | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 1만 행 | 1024개의 토큰 | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 1만 행 | 2048개의 토큰 | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 1만 행 | 2048개의 토큰 | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7,000행 | 2048개의 토큰 | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7,000행 | 2048개의 토큰 | 
| huggingface-llm-mistral-7b | Mistral7B | 1만 행 | 2048개의 토큰 | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 1만 행 | 2048개의 토큰 | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 1만 행 | 1024개의 토큰 | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 1만 행 | 1024개의 토큰 | 

# 텍스트 생성 모델의 학습 프로세스를 최적화하기 위한 하이퍼파라미터
<a name="autopilot-llms-finetuning-hyperparameters"></a>

다음 하이퍼파라미터의 조합을 조정하여 기본 모델의 학습 프로세스를 최적화할 수 있습니다. 이 파라미터는 모든 모델에 대해 사용할 수 있습니다.
+ **Epoch 개수**: `epochCount` 하이퍼파라미터는 모델이 전체 훈련 데이터세트를 통과하는 횟수를 결정합니다. 훈련 기간에 영향을 미치며 적절하게 설정하면 과적합을 방지할 수 있습니다. 많은 수의 에폭이 미세 조정 작업의 전체 런타임을 증가시킬 수 있습니다. 미세 조정 작업이 조기에 중지되지 않도록 하려면 `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)`의 `CompletionCriteria` 내에서 큰 `MaxAutoMLJobRuntimeInSeconds`를 설정하는 것이 좋습니다.
+ **배치 크기**: `batchSize` 하이퍼파라미터는 각 훈련 반복에 사용되는 데이터 샘플 수를 정의합니다. 수렴 속도와 메모리 사용량에 영향을 미칠 수 있습니다. 배치 크기가 크면 메모리 부족(OOM) 오류의 위험이 증가하여 Autopilot에서 내부 서버 오류로 나타날 수 있습니다. 이러한 오류를 확인하려면 Autopilot 작업에서 시작된 훈련 작업에 대한 `/aws/sagemaker/TrainingJobs` 로그 그룹을 확인합니다. AWS 관리 콘솔의에서 CloudWatch의 이러한 로그에 액세스할 수 있습니다. **로그**를 선택한 후 `/aws/sagemaker/TrainingJobs` **로그 그룹**을 선택합니다. OOM 오류를 해결하려면 배치 크기를 줄이세요.

  배치 크기 1부터 시작하여 메모리 부족 오류가 발생할 때까지 점진적으로 늘리는 것이 좋습니다. 참고로 에폭 10개를 완료하는 데는 일반적으로 최대 72시간이 걸립니다.
+ **학습 속도**: `learningRate` 하이퍼파라미터는 훈련 중에 모델의 파라미터가 업데이트되는 단계 크기를 제어합니다. 훈련 중에 모델의 파라미터가 얼마나 빨리 또는 느리게 업데이트되는지 결정합니다. 학습 속도가 높다는 것은 파라미터가 큰 단계 크기로 업데이트되어 수렴이 빨라질 수 있지만 최적화 프로세스로 인해 최적의 솔루션이 과도하게 해결되어 불안정해질 수 있음을 의미합니다. 학습 속도가 낮으면 파라미터가 작은 단계 크기로 업데이트되므로 더 안정적인 수렴이 가능하지만 학습 속도가 느려질 수 있습니다.
+ **학습 속도 워밍업 단계**: `learningRateWarmupSteps` 하이퍼파라미터는 목표 또는 최대값에 도달하기 전에 학습 속도가 점진적으로 증가하는 훈련 단계의 수를 지정합니다. 이렇게 하면 모델이 더 효과적으로 수렴하고 처음에 학습 속도가 높을 때 발생할 수 있는 분산 또는 느린 수렴과 같은 문제를 방지할 수 있습니다.

Autopilot에서 미세 조정 실험을 위해 하이퍼파라미터를 조정하고 가능한 값을 검색하는 방법에 대해 알아보려면 [하이퍼파라미터를 설정하여 모델의 학습 프로세스를 최적화하는 방법](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters) 섹션을 참조하세요.

# Autopilot에서 대규모 언어 모델을 미세 조정하기 위한 지표
<a name="autopilot-llms-finetuning-metrics"></a>

다음 섹션에서는 미세 조정된 대규모 언어 모델(LLM)을 이해하는 데 사용할 수 있는 지표를 설명합니다. Autopilot은 데이터세트를 사용하여 대상 LLM을 직접 미세 조정하여 기본 목표 지표인 교차 엔트로피 손실을 개선합니다.

교차 엔트로피 손실은 예측 확률 분포와 훈련 데이터에 있는 단어의 실제 분포 간의 차이를 평가하는 데 널리 사용되는 지표입니다. 교차 엔트로피 손실을 최소화함으로써 모델은 특히 텍스트 생성과 관련된 작업에서 더 정확하고 상황에 맞는 예측을 할 수 있도록 학습합니다.

LLM을 미세 조정한 후에는 다양한 ROUGE 점수를 사용하여 생성된 텍스트의 품질을 평가할 수 있습니다. 또한 평가 프로세스의 일부로 Perplexity와 교차 엔트로피 훈련 및 검증 손실을 분석할 수 있습니다.
+ Perplexity 손실은 모델이 텍스트 시퀀스에서 다음 단어를 얼마나 잘 예측할 수 있는지를 측정하며, 값이 낮을수록 언어와 문맥을 더 잘 이해함을 나타냅니다.
+ Recall-Oriented Understudy for Gisting Evaluation (ROUGE)은 자연어 처리(NLP) 및 기계 학습 분야에서 텍스트 요약 또는 텍스트 생성과 같은 기계 생성 텍스트의 품질을 평가하는 데 사용되는 일련의 지표입니다. 이는 주로 생성된 텍스트와 검증 데이터세트의 기본 진실 참조(인간이 작성한) 텍스트 간의 유사성을 평가합니다. ROUGE 측정값은 시스템에서 생성된 텍스트와 참조 텍스트에서 n그램(단어의 연속 시퀀스)의 정밀도와 회상을 포함하여 텍스트 유사성의 다양한 측면을 평가하도록 설계되었습니다. 목표는 모델이 참조 텍스트에 있는 정보를 얼마나 잘 캡처하는지 평가하는 것입니다.

  사용된 n-gram 유형과 평가 대상 텍스트 품질의 특정 측면에 따라 ROUGE 지표에는 여러 가지 변형이 있습니다.

  다음 목록에는 Autopilot에서 대규모 언어 모델을 미세 조정한 후 사용할 수 있는 ROUGE 지표의 이름과 설명이 나와 있습니다.  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE 기본 지표인 ROUGE-N는 시스템 생성 텍스트와 참조 텍스트 간의 n-gram 중복을 측정합니다. ROUGE-N은 `n`(여기서 `1` 또는 `2`)의 다양한 값으로 조정하여 시스템 생성 텍스트가 참조 텍스트에서 n-gram을 얼마나 잘 캡처하는지 평가할 수 있습니다.  
**`ROUGE-L`**  
ROUGE-L(ROUGE-Longest 공통 서브시퀀스)은 시스템에서 생성된 텍스트와 참조 텍스트 사이의 가장 긴 공통 서브시퀀스를 계산합니다. 이 변형은 내용 겹침 외에도 단어 순서를 고려합니다.  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM(요약에 사용되는 가장 긴 공통 하위 시퀀스)은 텍스트 요약 시스템의 평가를 위해 설계되었습니다. 기계 생성 요약과 참조 요약 간의 가장 긴 공통 하위 시퀀스를 측정하는 데 중점을 둡니다. ROUGE-L-SUM은 텍스트 요약 작업에 중요한 텍스트의 단어 순서를 고려합니다.

# Autopilot 모델 배포 및 예측
<a name="autopilot-llms-finetuning-deploy-models"></a>

대규모 언어 모델(LLM)을 미세 조정한 후에는 대화형 예측을 얻을 수 있도록 엔드포인트를 설정하여 실시간 텍스트 생성을 위한 모델을 배포할 수 있습니다.

**참고**  
성능을 높이려면 `ml.g5.12xlarge`에서 실시간 추론 작업을 실행하는 것이 좋습니다. 또는 Falcon-7B-Instruct 및 MPT-7B-Instruct 텍스트 생성 작업에 적합한 `ml.g5.8xlarge` 인스턴스를 사용할 수도 있습니다.  
Amazon EC2에서 제공하는 인스턴스 유형 선택의 [가속 컴퓨팅](https://aws.amazon.com/ec2/instance-types/) 범주에서 이러한 인스턴스에 대한 상세 내용을 찾을 수 있습니다.

## 실시간 텍스트 생성
<a name="autopilot-llms-finetuning-realtime"></a>

SageMaker API를 사용하여 미세 조정 모델을 SageMaker AI 호스팅 [실시간 추론 엔드포인트](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)에 수동으로 배포한 다음, 다음과 같이 엔드포인트를 간접적으로 호출하여 예측을 시작할 수 있습니다.

**참고**  
또는 Autopilot에서 미세 조정 실험을 생성할 때 자동 배포 옵션을 선택할 수 있습니다. 모델 자동 배포 설정에 대한 자세한 내용은 [자동 배포를 활성화하는 방법](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment) 섹션을 참조하세요.  
또한 SageMaker Python SDK와 `JumpStartModel` 클래스를 사용하여 Autopilot으로 미세 조정된 모델을 사용하여 추론을 수행할 수 있습니다. Amazon S3에서 모델 아티팩트의 사용자 지정 위치를 지정하여 이 작업을 수행할 수 있습니다. 모델을 JumpStart 모델로 정의하고 추론을 위해 모델을 배포하는 방법에 대한 자세한 내용은 [JumpStartModel 클래스를 사용한 로우 코드 배포](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint)를 참조하세요.

1. **후보 추론 컨테이너 정의 가져오기**

   [DescribeAutoMLJobv2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax) API 직접 호출에 대한 응답에서 검색된 `BestCandidate` 개체 내에서 `InferenceContainerDefinitions`을 찾을 수 있습니다. 추론을 위한 컨테이너 정의는 훈련된 모델을 배포하고 실행하여 예측하도록 설계된 컨테이너식 환경을 말합니다.

   다음 AWS CLI 명령 예제에서는 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API를 사용하여 작업 이름에 대한 권장 컨테이너 정의를 가져옵니다.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **SageMaker AI 모델 만들기**

   이전 단계의 컨테이너 정의를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API를 사용하여 SageMaker AI 모델을 만듭니다. 다음 AWS CLI 명령을 예제로 참조하십시오. 모델 이름에는 `CandidateName`을 사용하세요.

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --primary-container '<container-definition' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **엔드포인트 구성 생성**

   다음 AWS CLI 명령 예제에서는 [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API를 사용하여 엔드포인트 구성을 생성합니다.
**참고**  
모델 다운로드 시간이 오래 걸려 엔드포인트 생성 시간이 초과되는 것을 방지하려면 `ModelDataDownloadTimeoutInSeconds = 3600` 및 `ContainerStartupHealthCheckTimeoutInSeconds = 3600`를 설정하는 것이 좋습니다.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \
                       --region '<region>'
   ```

1. **엔드포인트 생성** 

   다음 AWS CLI 예제에서는 [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API를 사용하여 엔드포인트를 생성합니다.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API를 사용하여 엔드포인트 배포 진행 상황을 확인합니다. 다음 AWS CLI 명령을 예제로 참조하십시오.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   `EndpointStatus`가 `InService`로 변경되면 엔드포인트를 실시간 추론에 사용할 수 있습니다.

1. **엔드포인트 호출** 

   다음 명령은 실시간 추론을 위해 엔드포인트를 호출합니다. 프롬프트는 바이트 단위로 인코딩해야 합니다.
**참고**  
입력 프롬프트의 형식은 언어 모델에 따라 다릅니다. 텍스트 생성 프롬프트의 형식에 대한 자세한 내용은 [텍스트 생성 모델의 요청 형식 실시간 추론](#autopilot-llms-finetuning-realtime-prompt-examples) 섹션을 참조하세요.

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json' <outfile>
   ```

## 텍스트 생성 모델의 요청 형식 실시간 추론
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

대규모 언어 모델(LLM)마다 특정 소프트웨어 종속성, 런타임 환경 및 하드웨어 요구 사항이 있을 수 있으며, 이는 추론을 위한 모델을 호스팅하는데 있어서 Autopilot의 권장 컨테이너에 영향을 미칠 수 있습니다. 또한 각 모델은 필요한 입력 데이터 형식과 예측 및 출력에 필요한 예상 형식을 지정합니다.

다음은 일부 모델 및 권장 컨테이너의 입력 예시입니다.
+ 권장 컨테이너 `huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04`가 있는 Falcon 모델의 경우:

  ```
  payload = {
      "inputs": "Large language model fine-tuning is defined as",
      "parameters": {
          "do_sample": false,
          "top_p": 0.9,
          "temperature": 0.1,
          "max_new_tokens": 128,
          "stop": ["<|endoftext|>", "</s>"]
      }
  }
  ```
+ 권장 컨테이너 `djl-inference:0.22.1-fastertransformer5.3.0-cu118`가 있는 다른 모든 모델의 경우:

  ```
  payload= {
      "text_inputs": "Large language model fine-tuning is defined as"
  }
  ```

# Studio Classic UI를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 Autopilot 실험 생성
<a name="autopilot-automate-model-development-create-experiment-ui"></a>

**중요**  
2023년 11월 30일부터 Autopilot의 UI는 업데이트된 [Amazon SageMaker Studio](studio-updated.md) 환경의 일부로 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html)로 마이그레이션됩니다. SageMaker Canvas는 분석가 및 시민 데이터 과학자에게 데이터 준비, 기능 엔지니어링, 알고리즘 선택, 훈련 및 튜닝, 추론 등과 같은 작업에 대한 코드 없는 기능을 제공합니다. 사용자는 내장된 시각화 및 what-if 분석을 활용하여 자동화된 예측을 통해 모델을 쉽게 프로덕션화할 수 있으므로 데이터와 다양한 시나리오를 탐색할 수 있습니다. Canvas는 컴퓨터 비전, 수요 예측, 지능형 검색 및 생성형 AI를 비롯한 다양한 사용 사례를 지원합니다.  
 [Studio](studio-updated.md)의 이전 경험인 [Amazon SageMaker Studio Classic](studio.md) 사용자는 Studio Classic에서 Autopilot UI를 계속 사용할 수 있습니다. 코딩 경험이 있는 사용자는 기술 구현을 위해 지원되는 모든 SDK에서 모든 [API 참조](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)를 계속 사용할 수 있습니다.  
지금까지 Studio Classic에서 Autopilot을 사용하고 있고 SageMaker Canvas로 마이그레이션하려는 경우 SageMaker Canvas 애플리케이션을 생성하고 사용할 수 있도록 사용자 프로필 또는 IAM 역할에 추가 권한을 부여해야 할 수 있습니다. 자세한 내용은 [(선택 사항) Studio Classic의 Autopilot에서 SageMaker Canvas로 마이그레이션](studio-updated-migrate-ui.md#studio-updated-migrate-autopilot) 섹션을 참조하세요.  
이 안내서의 모든 UI 관련 지침은 [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) 로 마이그레이션하기 전에 Autopilot의 독립 실행형 기능과 관련이 있습니다. 이 지침을 따르는 사용자는 [Studio Classic](studio.md)을 사용해야 합니다.

Amazon SageMaker Studio Classic UI를 사용하여 테이블 형식 데이터의 분류 또는 회귀 문제에 대한 Autopilot 실험을 생성할 수 있습니다. UI는 실험의 이름을 지정하고, 입력 및 출력 데이터의 위치를 제공하고, 예측할 대상 데이터를 지정하는 데 도움이 됩니다. 선택 사항으로, 해결하려는 문제의 유형을 지정하고(회귀, 분류, 멀티클래스 분류) 모델링 전략(*누적 앙상블* 또는 *하이퍼파라미터 최적화*)을 선택하고 Autopilot 작업에서 데이터를 훈련하는 데 사용하는 알고리즘 목록을 선택하는 등의 작업을 수행할 수 있습니다.

UI에는 설명, 전환 스위치, 드롭다운 메뉴, 라디오 버튼 등이 있어 모델 후보 생성을 탐색하도록 도와드립니다. 실험 후에는 여러 시험을 비교하고 각 모델의 사전 처리 단계, 알고리즘 및 하이퍼파라미터 범위에 대한 세부 정보를 자세히 살펴볼 수 있습니다. 선택 사항으로 [설명가능성](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html) 및 [성능](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html) 보고서를 다운로드할 수 있는 옵션도 있습니다. 제공된 [노트북](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )을 사용하여 자동화된 데이터 탐색 결과 또는 후보 모델 정의를 확인합니다.

 또는 [AutoML API를 사용하여 테이블 형식 데이터에 대한 회귀 또는 분류 작업 생성](autopilot-automate-model-development-create-experiment.md)에서 Autopilot AutoML API를 사용할 수 있습니다.

# Autopilot 실험의 기본 파라미터 구성하기(관리자용)
<a name="autopilot-set-default-parameters-create-experiment"></a>

Autopilot은 Studio Classic UI를 사용하여 Autopilot 실험을 생성할 때 Amazon SageMaker Autopilot의 구성을 단순화하는 기본값 설정을 지원합니다. 관리자는 Studio Classic [수명 주기 구성](studio-lcc.md)(LCC)을 사용하여 구성 파일에 인프라, 네트워킹 및 보안 값을 설정하고 `AutoML` 작업의 [고급 설정](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)을 미리 채울 수 있습니다.

이를 통해 SageMaker AI 인스턴스, 데이터 소스, 출력 데이터 및 기타 관련 서비스 등 Amazon SageMaker Studio Classic과 관련된 리소스의 네트워크 연결 및 액세스 권한을 완전히 제어할 수 있습니다. 특히 관리자는 Studio Classic 도메인 또는 개별 사용자 프로필의 Amazon VPC, 서브넷, 보안 그룹 등 원하는 네트워크 아키텍처를 구성할 수 있습니다. 데이터 과학자는 Studio Classic UI를 사용하여 Autopilot 실험을 생성할 때 데이터 과학의 특정 파라미터에 집중할 수 있습니다. 또한 관리자는 기본 암호화 키를 설정하여 Autopilot 실험이 실행되는 인스턴스의 데이터 암호화를 관리할 수 있습니다.

**참고**  
현재 아시아 태평양(홍콩) 및 중동(바레인) 옵트인 리전에서는 이 기능을 사용할 수 없습니다.

다음 섹션에서는 Studio Classic UI를 사용하여 Autopilot 실험을 생성할 때 기본값 설정을 지원하는 파라미터의 전체 목록을 확인하고 이러한 기본값을 설정하는 방법을 알아볼 수 있습니다.

**Topics**
+ [지원되는 기본 파라미터 목록](#autopilot-list-default-parameters-create-experiment)
+ [기본 Autopilot 실험 파라미터 설정](#autopilot-set-default-parameters-create-experiment-howto)

## 지원되는 기본 파라미터 목록
<a name="autopilot-list-default-parameters-create-experiment"></a>

다음 파라미터는 Studio Classic UI를 사용하여 Autopilot 실험을 생성하는 구성 파일을 사용하여 기본값 설정을 지원합니다. 값을 설정하고 나면 Studio Classic UI의 Autopilot **실험 생성** 탭의 해당 필드에 값이 자동으로 채워집니다. 각 필드에 대한 전체 설명은 [고급 설정(선택 사항)](autopilot-automate-model-development-create-experiment-ui.md#advanced-settings)을 참조하세요.
+ **보안:** Amazon VPC, 서브넷 및 보안 그룹.
+ **Access:** AWS IAM 역할 ARNs
+ **Encryption:** AWS KMS key IDs
+ **태그:** SageMaker AI 리소스에 레이블을 지정하고 구성하는 데 사용되는 키-값 쌍입니다.

## 기본 Autopilot 실험 파라미터 설정
<a name="autopilot-set-default-parameters-create-experiment-howto"></a>

관리자는 구성 파일에 기본값을 설정한 다음, 파일을 특정 사용자의 Studio Classic 환경 내 권장 위치에 수동으로 배치하거나 파일을 수명 주기 구성 스크립트(LCC)에 전달하여 지정된 도메인 또는 사용자 프로필의 Studio Classic 환경 사용자 지정을 자동화할 수 있습니다.
+ 구성 파일을 설정하려면 먼저 기본 매개 변수를 입력합니다.

  [지원되는 기본 파라미터 목록](#autopilot-list-default-parameters-create-experiment)에 나열된 일부 또는 모든 기본값을 구성하기 위해 관리자는 구성 파일 `config.yaml`을 만들 수 있는데 그 구조는 이 [샘플 구성 파일](https://sagemaker.readthedocs.io/en/stable/overview.html#configuration-file-structure)을 준수해야 합니다. 다음 코드 조각은 지원되는 모든 `AutoML` 매개 변수가 포함된 샘플 구성 파일을 보여줍니다. 이 파일의 형식에 대한 자세한 내용은 [전체 스키마](https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/config/config_schema.py)를 참조하세요.

  ```
  SchemaVersion: '1.0'
  SageMaker:
    AutoMLJob:
      # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
      AutoMLJobConfig:
        SecurityConfig:
          EnableInterContainerTrafficEncryption: true
          VolumeKmsKeyId: 'kms-key-id'
          VpcConfig:
            SecurityGroupIds:
              - 'security-group-id-1'
              - 'security-group-id-2'
            Subnets:
              - 'subnet-1'
              - 'subnet-2'
      OutputDataConfig:
        KmsKeyId: 'kms-key-id'
      RoleArn: 'arn:aws:iam::111222333444:role/Admin'
      Tags:
      - Key: 'tag_key'
        Value: 'tag_value'
  ```
+ 그런 다음 권장 경로에 [파일을 수동으로 복사](#autopilot-intelligent-defaults-manual-setup)하거나 [수명 주기 구성](#autopilot-intelligent-defaults-lcc-setup)(LCC)을 사용하여 권장 위치에 구성 파일을 배치합니다.

  구성 파일은 사용자의 Studio Classic 환경에서 다음 위치 중 하나 이상에 있어야 합니다. 기본적으로 SageMaker AI는 다음 두 위치에서 구성 파일을 검색합니다.
  + 먼저, `/etc/xdg/sagemaker/config.yaml`에서. 이 파일을 *관리자 구성 파일*이라고 합니다.
  + 그 다음에는, `/root/.config/sagemaker/config.yaml`에서. 이 파일을 *사용자 구성 파일*이라고 합니다.

  관리자는 *관리자* 구성 파일을 사용하여 기본값 세트를 정의할 수 있습니다. 선택적으로, 관리자는 *사용자* 구성 파일을 사용하여 *관리자* 구성 파일에 설정된 값을 재정의하거나 추가적인 기본 파라미터 값을 설정할 수 있습니다.

  다음 코드 조각은 기본 파라미터 구성 파일을 사용자 Studio Classic 환경의 *관리자* 위치에 쓰는 샘플 스크립트를 보여줍니다. `/etc/xdg/sagemaker`를 `/root/.config/sagemaker`로 바꾸어 *사용자* 위치에 파일을 쓸 수 있습니다.

  ```
  ## Sample script with AutoML intelligent defaults
  #!/bin/bash
  
  sudo mkdir -p /etc/xdg/sagemaker
  
  echo "SchemaVersion: '1.0'
  CustomParameters:
    AnyStringKey: 'AnyStringValue'
  SageMaker:
    AutoMLJob:
      # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
      AutoMLJobConfig:
        SecurityConfig:
          EnableInterContainerTrafficEncryption: true
          VolumeKmsKeyId: 'kms-key-id'
          VpcConfig:
            SecurityGroupIds:
              - 'security-group-id-1'
              - 'security-group-id-2'
            Subnets:
              - 'subnet-1'
              - 'subnet-2'
      OutputDataConfig:
        KmsKeyId: 'kms-key-id'
      RoleArn: 'arn:aws:iam::111222333444:role/Admin'
      Tags:
      - Key: 'tag_key'
        Value: 'tag_value'
  " | sudo tee /etc/xdg/sagemaker/config.yaml
  ```
  + **파일 수동 복사** - 구성 파일을 수동으로 복사하려면 Studio Classic 터미널에서 이전 단계에서 만든 [스크립트](#autopilot-intelligent-defaults-manual-setup)를 실행합니다. 이 경우 스크립트를 실행한 사용자 프로필은 해당 실험에만 적용되는 기본값을 사용하여 Autopilot 실험을 만들 수 있습니다.
  +  **SageMaker AI 수명 주기 구성 만들기** - 또는 [수명 주기 구성](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html)(LCC)을 사용하여 Studio Classic 환경의 사용자 지정을 자동화할 수 있습니다. LCC는 Studio Classic 애플리케이션 시작과 같은 Amazon SageMaker Studio Classic 수명 주기 이벤트에 의해 트리거되는 쉘 스크립트입니다. 이러한 사용자 지정에는 사용자 지정 패키지 설치, 노트북 확장 구성, 데이터세트 사전 로드, 소스 코드 리포지토리 설정 또는 이 사례의 경우 기본 파라미터 사전 채우기가 포함됩니다. 관리자는 LCC를 Studio Classic 도메인에 연결하여 해당 도메인 내 각 사용자 프로필의 기본값 구성을 자동화할 수 있습니다.

    다음 섹션에서는 사용자가 Studio Classic을 실행할 때 Autopilot 기본 파라미터를 자동으로 로드할 수 있도록 수명 주기 구성을 만드는 방법을 자세히 설명합니다. SageMaker AI 콘솔 또는 AWS CLI를 사용하여 LCC를 만들도록 선택할 수 있습니다.

------
#### [ Create a LCC from the SageMaker AI Console ]

    다음 단계를 사용하여 기본 파라미터를 포함하는 LCC를 만들고 LCC를 도메인 또는 사용자 프로필에 연결한 다음, SageMaker AI 콘솔을 사용하여 LCC에서 설정한 기본 파라미터로 미리 채워진 Studio Classic 애플리케이션을 실행합니다.
    + **SageMaker AI 콘솔을 사용하여 기본값을 포함하는 [스크립트](#autopilot-intelligent-defaults-script)를 실행하는 수명 주기 구성을 만들려면** 다음과 같이 합니다.
      + [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔을 엽니다.
      + 왼쪽에서 **관리 구성**으로 이동한 다음 **수명 주기 구성**으로 이동합니다.
      + **수명 주기 구성** 페이지에서 Studio Classic 탭으로 이동한 다음 **구성 생성**을 선택합니다.
      + **이름**에 공백 없이 영숫자와 "-"를 사용하여 이름을 입력합니다. 이름은 최대 63자까지 지정할 수 있습니다.
      + **스크립트** 섹션에 [스크립트](#autopilot-intelligent-defaults-script)를 붙여넣습니다.
      + **구성 생성**을 선택하여 수명 주기 구성을 생성합니다. 이렇게 하면 `Kernel gateway app` 유형의 LCC가 생성됩니다.
    +  **Studio Classic 도메인, 스페이스 또는 사용자 프로필에 수명 주기 구성을 연결하는 방법**

      [Studio Classic 도메인 또는 사용자 프로필에 수명 주기 구성 연결하기](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-console.html#studio-lcc-create-console-step2)의 단계에 따라 LCC를 Studio Classic 도메인 또는 특정 사용자 프로필에 연결합니다.
    +  **수명 주기 구성을 사용하여 Studio Classic 애플리케이션을 실행하는 방법**

      LCC가 도메인 또는 사용자 프로필에 연결되면 영향을 받는 사용자는 Studio에서 Studio Classic의 랜딩 페이지로부터 Studio Classic 애플리케이션을 시작하여 LCC에서 설정한 기본값을 자동으로 선택할 수 있습니다. 이렇게 하면 Autopilot 실험을 만들 때 Studio Classic UI가 자동으로 채워집니다.

------
#### [ Create a LCC from the AWS CLI ]

    다음 코드 조각을 활용하여 AWS CLI를 사용하여 [스크립트](#autopilot-intelligent-defaults-manual-setup)를 실행하는 Studio Classic 애플리케이션을 실행합니다. 이 예제에서는 `lifecycle_config.sh`가 스크립트에 지정된 이름입니다.

    시작하기 전에:
    + [에서 수명 주기 구성 생성 AWS CLI](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)에 설명된 사전 조건을 완료 AWS CLI 하여 업데이트하고 구성했는지 확인합니다.
    + [OpenSSL](https://www.openssl.org/source/) 설명서를 설치합니다. AWS CLI 명령은 오픈 소스 라이브러리 *OpenSSL*을 사용하여 스크립트를 Base64 형식으로 인코딩합니다. 이 요구 사항은 간격 및 줄 바꿈 인코딩으로 인해 발생하는 오류를 방지합니다.

    이제 다음 3단계를 따를 수 있습니다.
    +  **구성 스크립트 `lifecycle_config.sh`를 참조하여 새 수명 주기 구성을 생성합니다.**

      ```
      LCC_CONTENT=`openssl base64 -A -in lifecycle_config.sh`
      
      ## Create a new lifecycle config 
      aws sagemaker create-studio-lifecycle-config --region region \
      --studio-lifecycle-config-name lcc-name \
      --studio-lifecycle-config-content $LCC_CONTENT \
      --studio-lifecycle-config-app-type default
      ```

      새로 생성되어 반환된 수명 주기 구성의 ARN을 기록해 둡니다. 이 ARN은 수명 주기 구성을 애플리케이션에 연결하는 데 필요합니다.
    +  **수명 주기 구성을 `JupyterServerApp`에 연결합니다.**

      다음 예제는 수명 주기 구성이 연결된 새 사용자 프로필을 만드는 방법을 보여줍니다. 기존 사용자 프로필을 업데이트하려면 AWS CLI [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html) 명령을 사용합니다. 도메인을 생성하거나 업데이트하려면 [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html) 및 [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)을 참조하세요. 이전 단계의 수명 주기 구성 ARN을 `JupyterServerAppSettings` 애플리케이션 유형의 설정에 추가합니다. 수명 주기 구성 목록을 사용하여 여러 수명 주기 구성을 동시에 추가할 수 있습니다.

      ```
      # Create a new UserProfile
      aws sagemaker create-user-profile --domain-id domain-id \
      --user-profile-name user-profile-name \
      --region region \
      --user-settings '{
      "JupyterServerAppSettings": {
        "LifecycleConfigArns":
          ["lifecycle-configuration-arn"]
        }
      }'
      ```

      LCC가 도메인 또는 사용자 프로필에 연결되면 영향을 받는 사용자는 종료 및 [ Amazon SageMaker Studio Classic 업데이트의 단계에 따라 기존 Studio Classic 애플리케이션을 종료 및 업데이트](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-update-studio.html)하거나 AWS 콘솔에서 새 Studio Classic 애플리케이션을 시작하여 LCC에서 설정한 기본값을 자동으로 선택할 수 있습니다. 이렇게 하면 Autopilot 실험을 만들 때 Studio Classic UI가 자동으로 채워집니다. 또는 다음과 AWS CLI 같이를 사용하여 새 Studio Classic 애플리케이션을 시작할 수 있습니다.
    +  **를 사용하여 수명 주기 구성으로 Studio Classic 애플리케이션 시작 AWS CLI**

      ```
      # Create a Jupyter Server application
      aws sagemaker create-app --domain-id domain-id \
      --user-profile-name user-profile-name \
      --region region \
      --app-type JupyterServer \
      --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \
      --app-name default
      ```

       AWS CLI를 사용하여 수명 주기 구성을 생성하는 방법에 대한 자세한 내용은 [AWS CLI에서 수명 주기 구성 생성하기](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc-create-cli.html)를 참조하세요.

------

**Studio Classic UI를 사용하여 Autopilot 실험을 생성하는 방법**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 로그인하고 왼쪽 탐색 창에서 **Studio**를 선택한 다음, 도메인과 사용자 프로필을 선택하고 **Studio 열기**를 선택합니다.

1. Studio에서 왼쪽 상단 탐색 창에서 Studio Classic 아이콘을 선택합니다. 이렇게 하면 Studio Classic 앱이 열립니다.

1. 선택한 스페이스에서 Studio Classic 애플리케이션을 실행 또는 열거나 **Studio Classic 스페이스를 생성**합니다. **홈** 탭에서 **AutoML** 카드를 선택합니다. 그러면 새 **AutoML** 탭이 열립니다.

1. **AutoML 실험 생성**을 선택합니다. 그러면 새 **실험 생성** 탭이 열립니다.

1. **실험 및 데이터 세부 정보** 섹션에 다음 정보를 입력합니다.

   1. **실험 이름** - 현재의 계정에 고유해야 하며 최대 63자의 영숫자를 AWS 리전 포함해야 합니다. 하이픈(-)은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. **입력 데이터** - 입력 데이터의 Amazon Simple Storage Service(S3) 버킷 위치를 제공합니다. 이 S3 버킷은 현재 AWS 리전에 있어야 합니다. URL은 Amazon SageMaker AI가 쓰기 권한을 가진 `s3://` 형식이어야 합니다. 파일은 CSV 또는 Parquet 형식이어야 하며 500개 이상의 행을 포함해야 합니다. **찾아보기**를 선택하여 사용 가능한 경로를 스크롤하고 **미리보기**를 선택하여 입력 데이터의 샘플을 확인합니다.

   1. **S3 입력이 매니페스트 파일입니까?** - 매니페스트 파일에는 입력 데이터가 있는 메타데이터가 포함됩니다. 메타데이터는 Amazon S3의 데이터 위치를 지정합니다. 또한 데이터 형식을 지정하는 방법과 모델을 훈련할 때 사용할 데이터세트의 속성을 지정합니다. 레이블이 지정된 데이터를 `Pipe` 모드에서 스트리밍할 때는 사전 처리 대신 매니페스트 파일을 사용할 수 있습니다.

   1. **데이터 자동 분할이란?** - Autopilot은 훈련 및 검증 데이터를 위해 데이터를 80\$1 20%로 분할할 수 있습니다. 사용자 지정 분할을 선호하는 경우 **분할 비율 지정**을 선택합니다. 사용자 지정 데이터세트를 검증에 사용하려면 **검증 세트 제공**을 선택합니다.

   1. **출력 데이터 위치(S3 버킷)** - 출력 데이터를 저장하려는 S3 버킷 위치의 이름입니다. 이 버킷의 URL은 Amazon SageMaker AI가 쓰기 권한을 가진 Amazon S3 형식이어야 합니다. S3 버킷이 현재 AWS 리전에 있어야 합니다. 또한 Autopilot은 입력 데이터와 동일한 위치에 이를 자동으로 생성할 수 있습니다.

1. **다음: 대상 및 기능**을 선택합니다. **대상 및 기능** 탭이 열립니다.

1. **대상 및 기능** 섹션에서:
   + 모델 예측의 대상으로 설정할 열을 선택합니다.
   + 선택적으로, **샘플 가중치** 섹션에 샘플 가중치 열의 이름을 전달하여 훈련 및 평가 중에 데이터세트 행에 가중치를 적용하도록 요청할 수 있습니다. 사용 가능한 객체 지표에 대한 자세한 내용은 [Autopilot 가중치 지표](autopilot-metrics-validation.md#autopilot-weighted-metrics)을 참조하세요.
**참고**  
샘플 가중치에 대한 지원은 [앙상블 모드](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)에서만 사용할 수 있습니다.
   + 훈련할 기능을 선택하고 데이터 유형을 변경할 수도 있습니다. 사용 가능한 데이터 유형은`Text`, `Numerical`, `Categorical`, `Datetime`, `Sequence`, 및 `Auto`입니다. 기본적으로 모든 기능이 선택됩니다.

1. **다음: 훈련 방법**을 선택합니다. **훈련 방법** 탭이 열립니다.

1. **훈련 방법** 섹션에서 훈련 옵션(**앙상블**, **하이퍼파라미터 최적화(HPO)** 또는 **자동**)을 선택하면 Autopilot이 데이터세트 크기에 따라 훈련 방법을 자동으로 선택하도록 할 수 있습니다. 각 훈련 모드는 데이터세트에서 사전 정의된 알고리즘 세트를 실행하여 모델 후보를 훈련시킵니다. 기본적으로 Autopilot은 주어진 훈련 모드에 사용할 수 있는 모든 알고리즘을 미리 선택합니다. 모든 알고리즘을 사용하여 Autopilot 훈련 실험을 실행하거나 나만의 서브셋을 선택할 수 있습니다.

   훈련 모드 및 사용 가능한 알고리즘에 대한 자세한 내용은 [훈련 모드 및 알고리즘](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html) 페이지의 **Autopilot 훈련 모드** 섹션을 참조하세요.

1. **다음: 배포 및 고급 설정**을 선택하여 **배포 및 고급 설정** 탭을 엽니다. 설정에는 자동 표시 엔드포인트 이름, 기계 학습 문제 유형, 실험 실행을 위한 추가 선택 사항이 포함됩니다.

   1. **배포 설정** - Autopilot은 자동으로 엔드포인트를 생성하고 모델을 배포할 수 있습니다.

      자동으로 생성된 엔드포인트에 자동 배포하거나 사용자 지정 배포를 위한 엔드포인트 이름을 제공하려면 **자동 배포**에서 토글을 **예**로 설정합니다. Amazon SageMaker Data Wrangler에서 데이터를 가져오는 경우 Data Wrangler에서 변환을 사용 또는 사용하지 않고 최적의 모델을 자동 배포할 수 있는 추가 옵션이 있습니다.
**참고**  
Data Wrangler 흐름에 `groupby`, `join` 또는 `concatenate`와 같은 다중 행 작업이 포함된 경우 이러한 변환으로 자동 배포할 수 없습니다. 자세한 내용은 [Automatically Train Models on Your Data Flow](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-autopilot.html)를 참조하세요.

   1. **고급 설정(선택 사항)** - Autopilot은 문제 유형 정의, Autopilot 작업 및 시험의 시간 제약, 보안, 암호화 설정과 같은 실험 파라미터를 수동으로 설정하는 추가 제어 기능을 제공합니다.
**참고**  
Autopilot은 기본값 설정을 지원하므로 Studio Classic UI를 사용하여 Autopilot 실험을 간단하게 구성할 수 있습니다. 관리자는 Studio Classic [수명 주기 구성](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html)(LCC)을 사용하여 구성 파일에 인프라, 네트워킹 및 보안 값을 설정하고 `AutoML` 작업의 *고급 설정*을 미리 채울 수 있습니다.  
관리자가 Autopilot 실험의 사용자 지정을 자동화하는 방법을 알아보려면 [Autopilot 실험의 기본 파라미터 구성하기(관리자용)](autopilot-set-default-parameters-create-experiment.md)을 참조하세요.

      1. **기계 학습 문제 유형** - Autopilot은 데이터세트에서 지도 학습 문제의 유형을 자동으로 유추할 수 있습니다. 수동으로 선택하려는 경우 **기계 학습 문제 유형 선택** 드롭다운 메뉴를 사용합니다. 기본값은 **자동**입니다. 경우에 따라 SageMaker AI는 정확하게 추론할 수 없습니다. 이런 경우에는 해당 작업이 성공할 수 있도록 값을 제공해야 합니다. 특히 다음 이벤트 유형 중에서 선택할 수 있습니다.
         + **바이너리 분류** - 바이너리 분류는 특성에 따라 사전 정의된 상호 배타적 분류 두 가지 중 하나에 입력 데이터를 할당합니다. 예를 들어, 질병에 걸렸는지 여부를 판단하는 진단 테스트 결과를 기반으로 의료 진단이 이루어집니다.
         + **회귀** - 회귀 분석은 입력 변수(독립 변수 또는 특징이라고도 함)와 대상 변수(종속 변수라고도 함) 간 관계를 설정합니다. 이 관계는 입력 변수를 연속 출력에 매핑하는 수학 함수 또는 모델을 통해 캡처됩니다. 욕실의 평방 피트 및 개수, 주식 시장 동향 또는 판매량 추정 등의 특징을 기반으로 주택 가격을 예측하는 등의 작업에 주로 사용됩니다.
         + **멀티클래스 분류** - 멀티클래스 분류는 정치, 금융, 철학 등 텍스트 문서와 가장 관련이 있는 주제에 대한 예측과 같이, 속성을 기반으로 여러 클래스 중 하나에 입력 데이터를 할당합니다.

      1. **런타임** - 최대 시간 제한을 정의할 수 있습니다. 시간 제한에 도달하면 시간 제한을 초과하는 시험 및 작업은 자동으로 중지됩니다.

      1. **액세스** - Amazon SageMaker Studio Classic이 사용자를 대신하여 임시 액세스 권한 AWS 서비스 (특히 SageMaker AI 및 Amazon S3)을 얻기 위해 수임하는 역할을 선택할 수 있습니다. 역할이 명시적으로 정의되지 않은 경우 Studio Classic은 사용자 프로필에 연결된 기본 SageMaker AI 실행 역할을 자동으로 사용합니다.

      1. **암호화** - 저장 데이터의 보안을 강화하고 무단 액세스로부터 데이터를 보호하기 위해 Amazon S3 버킷과 Studio Classic 도메인에 연결된 Amazon Elastic Block Store(Amazon Elastic Block Store) 볼륨의 데이터를 암호화하는 암호화 키를 지정할 수 있습니다.

      1. **보안** - SageMaker AI 작업이 실행되는 가상 프라이빗 클라우드(Amazon VPC)를 선택할 수 있습니다. Amazon VPC가 입력 및 출력 Amazon S3 버킷에 액세스할 수 있는지 확인하세요.

      1. **프로젝트** - 이 Autopilot 실험 및 모델 출력과 연결할 SageMaker AI 프로젝트의 이름을 지정합니다. 프로젝트를 지정하면 Autopilot은 프로젝트에 실험에 태그를 지정합니다. 이를 통해 이 프로젝트와 관련된 모델 출력을 알 수 있습니다.

      1. **태그** - 태그는 키-값 쌍의 배열입니다. 태그를 사용하여 용도 AWS 서비스, 소유자 또는 환경과 같은 리소스를 분류합니다.

   1. Autopilot 실험을 생성하기 전에 **다음: 검토 및 생성**을 선택하여 Autopilot 실험의 요약을 확인합니다.

1. **실험 생성**을 선택합니다. 실험을 만들면 SageMaker AI에서 Autopilot 작업이 시작됩니다. Autopilot은 실험 상태, 노트북의 데이터 탐색 프로세스 및 모델 후보에 대한 정보, 생성된 모델 및 보고서 목록, 실험 생성에 사용된 작업 프로필을 제공합니다.

   Autopilot 작업으로 생성된 노트북에 대한 자세한 내용은 [AutoML 작업을 관리하기 위해 생성된 Autopilot 노트북](autopilot-automate-model-development-notebook-output.md)을 참조하세요. 각 모델 후보 및 보고서에 대한 세부 사항은 [모델 세부 정보 보기](autopilot-models-details.md) 및 [Autopilot 모델 성능 보고서 보기](autopilot-model-insights.md) 섹션을 참조하세요.

**참고**  
불필요한 비용 발생을 방지하려면: 더 이상 필요하지 않은 모델을 배포한 경우 엔드포인트 및 배포 중 생성된 리소스를 삭제합니다. 리전별 인스턴스 요금에 대한 자세한 내용은 [Amazon SageMaker 요금](https://aws.amazon.com/sagemaker/pricing/)에서 확인할 수 있습니다.

# Amazon SageMaker Autopilot 예제 노트북
<a name="autopilot-example-notebooks"></a>

다음 노트북은 Autopilot의 다양한 사용 사례를 다루는 실용적인 실습 예제입니다.

SageMaker AI GitHub 예시 리포지토리의 [https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot) 디렉토리에서 Autopilot의 모든 노트북을 찾을 수 있습니다.

노트북에 직접 액세스하고 실행하려면 Studio Classic 내에서 전체 Git 리포지토리를 복제하는 것이 좋습니다. Studio Classic에서 Git 리포지토리를 복제하는 방법에 대한 자세한 내용은 [Amazon SageMaker Studio Classic에서 Git 리포지토리 복제](studio-tasks-git.md)을 참조하세요.


| **사용 사례** | **설명** | 
| --- | --- | 
| [서버리스 추론](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/autopilot-serverless-inference) |  기본적으로 Autopilot을 사용하면 생성된 모델을 실시간 추론 엔드포인트에 배포할 수 있습니다. 이 리포지토리에서 노트북은 `ENSEMBLING` 및 `HYPERPARAMETER OPTIMIZATION (HPO)` 모드로 훈련된 Autopilot 모델을 서버리스 엔드포인트에 배포하는 방법을 보여줍니다. 서버리스 엔드포인트는 자동으로 컴퓨팅 리소스를 시작하고 트래픽에 따라 리소스를 확장 및 축소하므로 인스턴스 유형을 선택하거나 스케일링 정책을 관리할 필요가 없습니다.  | 
|  [사용자 지정 기능 선택](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/custom-feature-selection)  |  Autopilot은 데이터세트를 검사하고 여러 후보를 실행하여 데이터 전처리 단계, 기계 학습 알고리즘 및 하이퍼파라미터의 최적 조합을 찾아냅니다. 실시간 엔드포인트에 쉽게 배포하거나 일괄 처리할 수 있습니다. 경우에 따라 사용자 지정 데이터 처리 코드를 Autopilot으로 가져와야 하는 유연성이 필요할 수 있습니다. 예를 들어 데이터세트에 많은 독립 변수가 포함되어 있을 수 있으므로 사용자는 사용자 지정 기능 선택 단계를 통합하여 관련 없는 변수를 먼저 제거하는 것이 좋을 것입니다. 그러면 이렇게 작아진 데이터세트를 사용하여 Autopilot 작업을 시작할 수 있습니다. 또한, 궁극적으로는 실시간 또는 일괄 처리를 위해 Autopilot의 사용자 지정 처리 코드와 모델을 모두 포함하는 것이 좋을 것입니다.  | 
|  [파이프라인 예제](https://github.com/aws/amazon-sagemaker-examples/tree/main/autopilot/sagemaker-autopilot-pipelines)  |  Autopilot은 ML 모델 구축 프로세스를 간소화하지만 MLOps 엔지니어는 여전히 프로덕션 환경에서 엔드 투 엔드 ML 워크플로를 생성, 자동화 및 관리할 책임이 있습니다. SageMaker Pipeline은 데이터 전처리, 모델 훈련, 하이퍼파라미터 조정, 모델 평가 및 배포와 같은 ML 수명 주기의 다양한 단계를 자동화하는 데 도움이 될 수 있습니다. 이 노트북은 SageMaker Pipelines의 엔드-투-엔드 AutoML 훈련 워크플로에 Autopilot을 통합하는 방법을 보여줍니다. 파이프라인 내에서 Autopilot 실험을 시작하려면 Pipelines [Lambda](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-lambda) 또는 [처리](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-processing) 단계를 사용하여 사용자 지정 통합 코드를 작성하여 모델 구축 워크플로우를 생성해야 합니다. 자세한 내용은 [Amazon SageMaker Autopilot ML 모델을 Amazon SageMaker Pipelines을 사용하여 실험에서 프로덕션 단계로 이동하기](https://aws.amazon.com/blogs/machine-learning/move-amazon-sagemaker-autopilot-ml-models-from-experimentation-to-production-using-amazon-sagemaker-pipelines/)를 참조하세요. 또는, [앙상블 모드](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)에서 Autopilot을 사용하는 경우 [SageMaker Pipeline의 네이티브 AutoML 단계](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/sagemaker-autopilot-pipelines/autopilot_pipelines_demo_notebook.ipynb)에서 네이티브 AutoML 단계를 사용하는 방법을 보여주는 노트북 예제를 참조할 수 있습니다. 파이프라인 내에서 Autopilot이 기본 단계로 지원되므로 이제 파이프라인에 자동화된 훈련 단계([AutoMLStep](https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-automl))를 추가하고 앙상블 모드에서 Autopilot 실험을 호출할 수 있습니다.  | 
| [Amazon SageMaker Autopilot을 사용한 다이렉트 마케팅](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/sagemaker_autopilot_direct_marketing.html) |  이 노트북은 [은행 마케팅 데이터세트](https://archive.ics.uci.edu/ml/datasets/bank+marketing)를 사용하여 고객이 은행에서 정기 예금에 등록할지 여부를 예측하는 방법을 보여줍니다. 이 데이터세트에서 Autopilot을 사용하여 다양한 후보 파이프라인에 포함된 옵션을 탐색하여 가장 정확한 ML 파이프라인을 얻을 수 있습니다. Autopilot은 2단계 절차를 통해 각 후보를 생성합니다. 첫 번째 단계에서는 데이터세트에서 자동화된 기능 엔지니어링을 수행합니다. 두 번째 단계에서는 모델을 생성하기 위한 알고리즘을 훈련시키고 튜닝합니다. 노트북에는 모델을 훈련시키는 방법과 배치 추론을 수행하기 위해 최상의 후보를 사용하여 모델을 배포하는 방법에 대한 지침이 포함되어 있습니다.  | 
| [Amazon SageMaker Autopilot을 사용한 고객 이탈 예측](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/autopilot_customer_churn.html) |  이 노트북에는 기계 학습을 사용하여 불만족한 고객을 자동으로 식별하는 방법이 설명되어 있습니다(고객 이탈 예측이라고도 함). 이 예제에서는 공개적으로 사용 가능한 데이터세트를 분석하고 해당 데이터세트에 대해 기능 엔지니어링을 수행하는 방법을 보여줍니다. 그 다음에는, 훈련 알고리즘에 대한 최적의 하이퍼파라미터와 함께 최고 성능의 파이프라인을 선택하여 모델을 튜닝하는 방법을 보여줍니다. 마지막으로, 호스팅된 엔드포인트에 모델을 배포하고 실측 정보에 대한 예측을 평가하는 방법을 보여줍니다. 그러나 ML 모델이 완벽한 예측을 제공하는 경우는 거의 없습니다. 이러한 이유로 이 노트북은 ML을 사용하여 재무 결과를 결정할 때 예측 실수의 상대 비용을 통합하는 방법도 보여줍니다.  | 
| [Amazon SageMaker Autopilot 및 Batch Transform(Python SDK)을 사용한 상위 후보 고객 이탈 예측](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/autopilot_customer_churn_high_level_with_evaluation.html) |  이 노트북에는 또한 기계 학습을 사용하여 불만족한 고객을 자동으로 식별하는 방법이 설명되어 있습니다(고객 이탈 예측이라고도 함). 이 노트북은 추론 확률을 구하도록 모델을 구성하고, 상위 N개 모델을 선택하고, 평가를 위해 홀드아웃 테스트 세트에서 일괄 변환을 수행하는 방법을 보여줍니다.  이 노트북은 2020년 6월 19일에 배포된 SageMaker Python SDK >= 1.65.1과 함께 작동합니다.   | 
| [Amazon SageMaker Autopilot에 자체 데이터 처리 코드 가져오기](https://sagemaker-examples.readthedocs.io/en/latest/autopilot/custom-feature-selection/Feature_selection_autopilot.html) |  이 노트북은 Amazon SageMaker Autopilot을 사용할 때 사용자 지정 데이터 처리 코드를 통합하고 배포하는 방법을 보여줍니다. 사용자 지정 기능 선택 단계를 추가하여 Autopilot 작업에서 관련 없는 변수를 제거합니다. 그런 다음 Autopilot으로 생성된 사용자 지정 처리 코드와 모델을 실시간 엔드포인트에 배포하거나 일괄 처리를 위해 배포하는 방법을 보여줍니다.  | 
| 추가 노트북 | 루트 디렉터리에서 [일괄 변환](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/ap-batch-transform.ipynb), [시계열 예측](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb) 등과 같은 다른 사용 사례를 설명하는 노트북을 더 많이 찾아볼 수 있습니다. | 

# 비디오: Autopilot을 사용한 기계 학습 프로세스 자동화 및 탐색
<a name="autopilot-videos"></a>

다음은 Studio Classic을 사용하는 Amazon SageMaker Autopilot 기능의 둘러보기를 제공하는 비디오 시리즈입니다. AutoML 작업을 시작하고, 데이터를 분석 및 사전 처리하는 방법, 후보 모델에 대한 기능 엔지니어링 및 하이퍼파라미터 최적화를 수행하는 방법, 결과 모델 지표를 시각화하고 비교하는 방법을 보여 줍니다.

**Topics**
+ [Amazon SageMaker Autopilot으로 AutoML 작업 시작](#autopilot-video-start-automl-job)
+ [Autopilot에서 자동화된 데이터 탐색 및 기능 엔지니어링을 검토합니다.](#autopilot-video-generated-notebooks)
+ [성능 최적화를 위한 모델 튜닝](#autopilot-video-optimizing-model-performance)
+ [최상의 모델 선택 및 배포](#autopilot-video-choose-and-deploy-the-best-model)
+ [Amazon SageMaker Autopilot 자습서](#autopilot-walkthrough)

## Amazon SageMaker Autopilot으로 AutoML 작업 시작
<a name="autopilot-video-start-automl-job"></a>

이 비디오는 Autopilot을 사용하여 AutoML 작업을 시작하는 방법을 보여 줍니다. (길이: 8:41)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/qMEtqJPhqpA/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/qMEtqJPhqpA)


## Autopilot에서 자동화된 데이터 탐색 및 기능 엔지니어링을 검토합니다.
<a name="autopilot-video-generated-notebooks"></a>

이 비디오는 Amazon SageMaker Autopilot에서 생성된 데이터 탐색 및 후보 정의 노트북을 검토하는 방법을 보여 줍니다. (길이: 10:04)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/WsfRAeGzgm8/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/WsfRAeGzgm8)


## 성능 최적화를 위한 모델 튜닝
<a name="autopilot-video-optimizing-model-performance"></a>

이 비디오는 하이퍼파라미터 튜닝을 사용하여 훈련 중에 모델 성능을 최적화하는 방법을 보여 줍니다. (길이: 4:59)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/KZSTsWrDGXs/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/KZSTsWrDGXs)


## 최상의 모델 선택 및 배포
<a name="autopilot-video-choose-and-deploy-the-best-model"></a>

이 비디오는 작업 메트릭을 사용하여 최상의 모델을 선택한 다음 배포하는 방법을 보여 줍니다. (길이: 5:20)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/vRHyX3kDstI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/vRHyX3kDstI)


## Amazon SageMaker Autopilot 자습서
<a name="autopilot-walkthrough"></a>

이 비디오는 Amazon SageMaker Autopilot를 사용하여 바이너리 분류 모델을 자동으로 구축하는 종단 간 데모를 설명합니다. 자동 생성된 노트북을 사용하여 후보 모델을 구축하고 최적화하는 방법을 살펴봅니다. Amazon SageMaker 실험으로 상위 후보도 살펴봅니다. 마지막으로는 XGBoost를 기반으로 상위 후보를 배포하고 SageMaker 모델 모니터를 사용하여 데이터 캡처를 구성합니다.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/DRjOOaR2prQ/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/DRjOOaR2prQ)


# Autopilot 할당량
<a name="autopilot-quotas"></a>

Amazon SageMaker Autopilot을 사용할 때 사용할 수 있는 리소스를 제한하는 할당량이 있습니다. 이러한 한도 중 일부는 증가할 수 있고 일부는 그렇지 않습니다.

**참고**  
다음 섹션에 설명된 리소스 할당량은 Amazon SageMaker Studio Classic 3.22.2 이상 버전에 유효합니다. SageMaker Studio Classic 버전 업데이트에 대한 자세한 내용은 [Amazon SageMaker Studio Classic과 앱 종료 및 업데이트](studio-tasks-update.md) 섹션을 참조하세요.

**Topics**
+ [늘릴 수 있는 할당량](#autopilot-quotas-limits-increasable)
+ [리소스 할당량](#autopilot-quotas-resource-limits)

## 늘릴 수 있는 할당량
<a name="autopilot-quotas-limits-increasable"></a>

다음 표에는 늘릴 수 있는 할당량에 대한 리소스 제한이 포함되어 있습니다.


| 리소스 | 리전 | 기본 한도 | 최대 한도 증가 | 
| --- | --- | --- | --- | 
| 입력 데이터세트의 크기 | 모두 | 100GB | 수백 GB | 
| 단일 Parquet 파일의 크기\$1 | 모두 | 2GB | N/A | 
| 서브샘플링을 위한 대상 데이터세트 크기\$1\$1 | 모두 | 5GB | 수백 GB | 
| 동시 Autopilot 작업 수 | us-east-1, us-east-2,us-west-2, ap-northeast-1, eu-west-1, eu-central-1 | 4 | 수백 | 
| 동시 Autopilot 작업 수 | ap-northeast-2, ap-southeast-2, eu-west-2, ap-southeast-1 | 2 | 수백 | 
| 동시 Autopilot 작업 수 | 기타 모든 리전 | 1 | 수십 | 

**참고**  
\$1이 2GB라는 크기 한도는 압축된 단일 Parquet 파일에 대한 것입니다. 여러 개의 압축된 Parquet 파일이 포함된 Parquet 데이터세트를 입력 데이터세트 최대 크기로 제공할 수 있습니다. 파일의 압축을 풀고 나면 각각 더 큰 크기로 확장될 수 있습니다.  
\$1\$1Autopilot은 대상 데이터세트 크기보다 큰 입력 데이터세트를 자동으로 서브샘플링하는 동시에 클래스 불균형을 고려하고 희귀한 클래스 레이블을 보존합니다.

**할당량 증가 요청:**

1. [ Service Quotas Console](https://console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas)을 엽니다.

1. 할당량 증가를 요청한 다음 **계정 수준에서 증가 요청**을 선택합니다.

1. **할당량 증가 값**에 요청하려는 새 제한 값을 입력합니다.

1. **요청**을 선택합니다.

## 리소스 할당량
<a name="autopilot-quotas-resource-limits"></a>

다음 표에는 AWS 리전의 Amazon SageMaker Autopilot 작업에 대한 런타임 리소스 한도가 나와 있습니다.


| 리소스 | Autopilot 작업당 한도 | 
| --- | --- | 
| Autopilot 작업의 최대 런타임 | 30일 | 

# Autopilot을 위한 API 참조 가이드
<a name="autopilot-reference"></a>

이 섹션에서는 Amazon SageMaker Autopilot 리소스(AutoML 작업)를 프로그래밍 방식으로 생성하고 관리하기 위한 HTTP 서비스 REST API의 하위 집합을 제공합니다.

선택한 언어가 Python인 경우 Amazon SageMaker Python SDK의 [AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html) 또는 [AutoMLV2 객체](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)를 직접 참조할 수 있습니다.

## AutoML API 작업
<a name="autopilot-api-actions"></a>

이 목록은 AutoML 작업을 프로그래밍 방식으로 관리하기 위해 참조 API에서 사용할 수 있는 작업을 자세히 설명합니다.
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAutoMLJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAutoMLJobs.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListCandidatesForAutoMLJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopAutoMLJob.html)

**참고**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)와 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)는 이전 버전과의 호환성을 제공하는 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) 및 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)의 새 버전입니다.  
`CreateAutoMLJobV2`를 사용하는 것이 좋습니다. `CreateAutoMLJobV2`는 바이너리 버전인 `CreateAutoMLJob`과 동일한 표 형식 문제 유형은 물론 이미지 또는 텍스트 분류, 시계열 예측과 같은 표 형식이 아닌 문제 유형도 관리할 수 있습니다.  
`CreateAutoMLJob`을 `CreateAutoMLJobV2`로 마이그레이션하는 방법에 대한 지침은 [Migrate a CreateAutoMLJob to CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-create-experiment.html#autopilot-create-experiment-api-migrate-v1-v2)에서 확인하세요.

## AutoML API 데이터 유형
<a name="autopilot-api-data-types"></a>

이 목록은 위의 작업에서 인바운드 요청 또는 아웃바운드 응답으로 사용하는 API AutoML 객체를 자세히 설명합니다.
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateStep.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateStep.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLContainerDefinition.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSource.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLInferenceContainerDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLInferenceContainerDefinitions.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobArtifacts.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobInputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobInputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobStepMetadata.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobStepMetadata.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobCompletionCriteria.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobSummary.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLPartialFailureReason.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLPartialFailureReason.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLProblemTypeResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLSecurityConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLSecurityConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLS3DataSource.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FinalAutoMLJobObjectiveMetric.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_FinalAutoMLJobObjectiveMetric.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageClassificationJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDatum.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployResult.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployResult.html) 
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularResolvedAttributes.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularResolvedAttributes.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationResolvedAttribute.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationResolvedAttribute.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesTransformations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesTransformations.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TuningJobCompletionCriteria.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TuningJobCompletionCriteria.html)