

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

# 알고리즘을 사용하여 훈련 작업 실행
<a name="sagemaker-mkt-algo-train"></a>

Amazon SageMaker AI 콘솔, 하위 수준 Amazon SageMaker API 또는 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)를 사용하면 알고리즘 리소스를 활용해 훈련 작업을 생성할 수 있습니다.

**참고**  
실행 역할에는 지정한 알고리즘 리소스에 대한 `sagemaker:DescribeAlgorithm` 권한이 있어야 합니다. 실행 역할 권한에 대한 자세한 내용은 섹션을 참조하세요[CreateTrainingJob API: 실행 역할 권한](sagemaker-roles.md#sagemaker-roles-createtrainingjob-perms).

**Topics**
+ [알고리즘을 사용하여 훈련 작업 실행(콘솔)](#sagemaker-mkt-algo-train-console)
+ [알고리즘을 사용하여 훈련 작업 실행(API)](#sagemaker-mkt-algo-train-api)
+ [알고리즘을 사용한 훈련 작업 실행([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-algo-train-sdk)

## 알고리즘을 사용하여 훈련 작업 실행(콘솔)
<a name="sagemaker-mkt-algo-train-console"></a>

**알고리즘을 사용하여 훈련 작업을 실행하려면(콘솔)**

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔을 엽니다.

1. **알고리즘**을 선택합니다.

1. **내 알고리즘** 탭의 목록에서 생성한 알고리즘을 선택하거나 **AWS Marketplace 구독** 탭에서 구독한 알고리즘을 선택합니다.

1. **훈련 작업 생성**을 선택합니다.

   이전에 선택한 알고리즘이 자동으로 선택됩니다.

1. **훈련 작업 생성** 페이지에서 다음 정보를 제공합니다.

   1. **작업 이름**에 훈련 작업의 이름을 입력합니다.

   1. **IAM 역할**에서는 SageMaker AI에서 훈련 작업을 실행하는 데 필요한 권한이 있는 IAM 역할을 선택합니다. 또는 **새 역할 생성**을 선택하여 SageMaker AI가 `AmazonSageMakerFullAccess` 관리형 정책이 연결된 역할을 생성하도록 허용합니다. 자세한 내용은 [SageMaker AI 실행 역할을 사용하는 방법](sagemaker-roles.md) 단원을 참조하세요.

   1. **리소스 구성**에서 다음 정보를 제공합니다.

      1. **인스턴스 유형**에 훈련에 사용할 인스턴스 유형을 선택합니다.

      1. **인스턴스 수**에, 각 훈련 작업에 사용할 ML 인스턴스의 수를 입력합니다.

      1. **인스턴스당 추가 볼륨 크기(GB)**에 프로비저닝하려는 ML 스토리지 볼륨의 크기를 입력합니다. ML 스토리지 볼륨은 모델 결과물 및 증분 상태를 저장합니다.

      1. **암호화 키**의 경우 Amazon SageMaker AI가 AWS Key Management Service 키를 사용하여 훈련 인스턴스에 연결된 ML 스토리지 볼륨의 데이터를 암호화하도록 하려면 키를 지정합니다.

      1. **중지 조건**에는 훈련 작업을 실행하려는 최대 시간을 초, 분, 시간 또는 일 단위로 지정합니다.

   1. **VPC**에는 훈련 컨테이너가 액세스하도록 허용할 Amazon VPC를 선택합니다. 자세한 내용은 [SageMaker AI Training 작업에 Amazon VPC의 리소스에 대한 액세스 권한 부여](train-vpc.md) 섹션을 참조하세요.

   1. **하이퍼파라미터**에는 훈련 작업에 사용할 하이퍼파라미터 값을 지정합니다.

   1. **입력 데이터 구성**에서, 훈련 작업에 사용할 각 입력 데이터 채널에 대해 다음 값을 지정합니다. 훈련 지원에 사용하고 있는 알고리즘 채널, 콘텐츠 유형, 지원되는 압축 유형, 각 채널에 지원되는 입력 모드를 알고리즘의 **알고리즘 요약** 페이지의 **채널 사양** 섹션에서 확인할 수 있습니다.

      1. **채널 이름**에는 입력 채널의 이름을 입력합니다.

      1. **콘텐츠 유형**에는 알고리즘에서 채널에 대해 필요로 하는 데이터의 콘텐츠 유형을 입력합니다.

      1. **압축 유형**에는 사용할 데이터 압축 유형을 선택합니다(있는 경우).

      1. **레코드 래퍼**에는 알고리즘이 `RecordIO` 형식의 데이터를 예상하는 경우 `RecordIO`를 선택합니다.

      1. **S3 데이터 유형**, **S3 데이터 배포 유형**, **S3 위치**에는 적절한 값을 지정합니다. 이러한 값이 의미하는 내용은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html) 섹션을 참조하세요.

      1. 프로비저닝된 ML 스토리지 볼륨에서 데이터를 다운로드하여 Docker 볼륨에 해당 디렉터리를 탑재하려는 경우 **입력 모드**에서 **파일**을 선택합니다. Amazon S3에서 컨테이너로 직접 데이터를 스트리밍하려면 **파이프**를 선택합니다.

      1. 다른 입력 채널을 추가하려면 **채널 추가**를 선택합니다. 입력 채널을 추가했으면 **완료**를 선택합니다.

   1. **출력** 위치에 다음 값을 지정합니다.

      1. **S3 출력 경로**에서 훈련 작업이 출력(예: 모델 결과물)을 저장할 S3 위치를 선택합니다.
**참고**  
이 위치에 저장된 모델 결과물을 사용하여 이 훈련 작업에서 모델 또는 모델 패키지를 생성합니다.

      1. **암호화 키**의 경우 SageMaker AI가 AWS KMS 키를 사용하여 S3 위치에 저장된 출력 데이터를 암호화하도록 하려면

   1. **태그**에는 훈련 작업을 관리하기 위한 태그를 하나 이상 지정합니다. 각 태그는 키와 값(선택사항)으로 구성됩니다. 태그 키는 리소스마다 고유해야 합니다.

   1. 훈련 작업을 실행하려면 **훈련 작업 생성**을 선택합니다.

## 알고리즘을 사용하여 훈련 작업 실행(API)
<a name="sagemaker-mkt-algo-train-api"></a>

SageMaker API를 사용하여 훈련 작업을 실행하기 위해 알고리즘을 사용하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)에 전달할 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html) 개체의 `AlgorithmName` 필드로 이름 또는 Amazon 리소스 이름(ARN)을 지정합니다. SageMaker AI에서 모델을 훈련하는 방법에 대한 자세한 정보는 [Amazon SageMaker를 사용한 모델 훈련](how-it-works-training.md)의 내용을 참조하세요.

## 알고리즘을 사용한 훈련 작업 실행([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-algo-train-sdk"></a>

에서 생성하거나 구독한 알고리즘 AWS Marketplace 을 사용하여 훈련 작업을 생성하고, `AlgorithmEstimator` 객체를 생성하고, Amazon 리소스 이름(ARN) 또는 알고리즘 이름을 `algorithm_arn` 인수 값으로 지정합니다. 그런 다음 예측기의 `fit` 메서드를 호출합니다. 예제:

```
from sagemaker import AlgorithmEstimator
data_path = os.path.join(DATA_DIR, 'marketplace', 'training')

algo = AlgorithmEstimator(
algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm',
        role='SageMakerRole',
        instance_count=1,
        instance_type='ml.c4.xlarge',
        sagemaker_session=sagemaker_session,
        base_job_name='test-marketplace')

train_input = algo.sagemaker_session.upload_data(
path=data_path, key_prefix='integ-test-data/marketplace/train')

algo.fit({'training': train_input})
```