

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

# 를 사용한 사용자 지정 알고리즘 및 모델 AWS Marketplace
<a name="your-algorithms-marketplace"></a>

다음 섹션에서는 로컬에서 사용할 수 있는 알고리즘 및 모델 패키지 리소스를 생성하고 AWS Marketplace에 게시하는 방법을 보여줍니다.

**Topics**
+ [알고리즘 및 모델 패키지 리소스 생성](sagemaker-mkt-create.md)
+ [알고리즘 및 모델 패키지 리소스 사용](sagemaker-mkt-buy.md)

# 알고리즘 및 모델 패키지 리소스 생성
<a name="sagemaker-mkt-create"></a>

Docker 컨테이너에서 훈련 및/또는 추론 코드를 패키징한 후 Amazon SageMaker AI 계정에서 사용할 수 있는 알고리즘 및 모델 패키지 리소스를 생성하고, AWS Marketplace에 선택적으로 게시합니다.

**Topics**
+ [알고리즘 리소스 생성](sagemaker-mkt-create-algo.md)
+ [모델 패키지 리소스 생성](sagemaker-mkt-create-model-package.md)

# 알고리즘 리소스 생성
<a name="sagemaker-mkt-create-algo"></a>

Amazon SageMaker AI에서 훈련 작업에 사용할 알고리즘 리소스를 생성하고 AWS Marketplace에 게시할 수 있습니다. 다음 섹션에서는 AWS Management Console 및 SageMaker API를 사용하여 이를 수행하는 방법을 설명합니다.

알고리즘 리소스를 생성하려면 다음 정보를 지정합니다.
+ 훈련 코드와 경우에 따라서는 추론 코드를 포함하고 있는 Docker 컨테이너
+ 훈련을 위해 알고리즘에 필요한 입력 데이터의 구성
+ 알고리즘에서 지원하는 하이퍼파라미터
+ 훈련 작업 중 알고리즘이 Amazon CloudWatch에 보내는 지표.
+ 훈련 및 추론을 위해 알고리즘이 지원하는 인스턴스 유형 및 알고리즘이 여러 인스턴스 간에 분산된 훈련을 지원하는지 여부
+ 검증 프로필. SageMaker AI에서 알고리즘의 훈련 코드를 테스트하는 데 사용하는 훈련 작업과 알고리즘의 추론 코드를 테스트하기 위해 SageMaker AI에서 실행하는 배치 변환 작업입니다.

  구매자 및 판매자가 SageMaker AI에서 제품이 작동할 것이라고 확신할 수 있도록 AWS Marketplace에 등록하기 전에 알고리즘을 검증하도록 요구하고 있습니다. 검증에 성공한 AWS Marketplace 경우에만에서 제품을 나열할 수 있습니다. 알고리즘을 검증하기 위해 SageMaker AI에서는 검증 프로필 및 샘플 데이터를 사용하여 다음 검증 작업을 실행합니다.

  1. 훈련 이미지가 SageMaker AI에서 잘 작동하는지 확인하기 위해 사용자 계정에서 훈련 작업을 생성합니다.

  1. 알고리즘에 추론 코드를 포함한 경우에는 알고리즘의 추론 이미지 및 훈련 작업에서 생성된 모델 결과물을 사용하여 사용자 계정에서 모델을 생성합니다.

  1. 알고리즘에 추론 코드를 포함한 경우에는 추론 이미지가 SageMaker AI에서 작동하는지 확인하기 위해 사용자 계정에서 모델을 사용하여 변환 작업을 생성합니다.

  제품을 나열하면이 검증 프로세스의 AWS Marketplace입력 및 출력이 제품의 일부로 유지되며 구매자가 사용할 수 있습니다. 이러한 입력 및 출력을 통해 구매자는 구입 전 제품을 파악하고 평가할 수 있습니다. 예를 들어, 구매자는 사용된 입력 데이터, 생성된 출력과 코드에서 내보낸 로그 및 지표를 검사할 수 있습니다. 검증 사양이 포괄적일수록 고객이 제품을 보다 쉽게 평가할 수 있습니다.
**참고**  
검증 프로필에서는 공개하려는 데이터만 제공합니다.

  검증에는 최대 몇 시간 가량 걸릴 수 있습니다. 사용자 계정의 작업 상태를 확인하려면 SageMaker AI 콘솔에서 **훈련 작업** 및 **변환 작업** 페이지를 확인합니다. 검증에 실패하면 사용자는 SageMaker AI 콘솔에서 스캔 및 검증 보고서에 액세스할 수 있습니다. 문제가 발생하면 알고리즘을 다시 생성해야 합니다.
**참고**  
알고리즘을 게시하려면 하나 AWS Marketplace이상의 검증 프로필이 필요합니다.

사용자는 SageMaker AI 콘솔 또는 SageMaker AI API를 사용하여 알고리즘을 생성할 수 있습니다.

**Topics**
+ [알고리즘 리소스 생성(콘솔)](#sagemaker-mkt-create-algo-console)
+ [알고리즘 리소스 생성(API)](#sagemaker-mkt-create-algo-api)

## 알고리즘 리소스 생성(콘솔)
<a name="sagemaker-mkt-create-algo-console"></a>

**알고리즘 리소스를 생성하려면(콘솔)**

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

1. 왼쪽 메뉴에서 **훈련**을 선택합니다.

1. 드롭다운 메뉴에서 **알고리즘**을 선택한 다음 **알고리즘 생성**을 선택합니다.

1. **훈련 사양** 페이지에서 다음 정보를 제공합니다.

   1. **알고리즘 이름**에 알고리즘의 이름을 입력합니다. 알고리즘 이름은 계정과 AWS 리전에서 고유해야 합니다. 이름은 1\$164자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 –(하이픈)입니다.

   1. 알고리즘에 대한 설명을 입력합니다. 이 설명은 SageMaker AI 콘솔과 AWS Marketplace에 표시됩니다.

   1. **훈련 이미지의 경우, 훈련 컨테이너가 저장되어 있는 Amazon ECR에서의 경로를 입력합니다**.

   1. 알고리즘이 여러 인스턴스에 대한 훈련을 지원하는 경우 **분산 훈련 지원**에서 **예**를 선택합니다. 그렇지 않은 경우 **아니요**를 선택합니다.

   1. **훈련용 인스턴스 유형 지원**에서 알고리즘에서 지원하는 인스턴스 유형을 선택합니다.

   1. **채널 사양**에, 알고리즘에 대한 입력 데이터 채널을 지정합니다( 최대 8개). 예를 들어 `train`, `validation` 및 `test`라는 입력 채널 3개를 지정할 수 있습니다. 각 채널에 대해 다음 정보를 지정합니다.

      1. **채널 이름**에 채널의 이름을 입력합니다. 이름은 1\$164자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 –(하이픈)입니다.

      1. 알고리즘에서 채널을 요구하게 하려면 **채널 필요**를 선택합니다.

      1. 채널에 대한 설명을 입력합니다.

      1. **지원되는 입력 모드**에서, 알고리즘에서 입력 데이터 스트리밍을 지원하면 **파이프 모드**를 선택하고, 알고리즘에서 파일로 입력 데이터 다운로드를 지원하면 **파일 모드**를 선택합니다. 사용자는 두 가지 모드를 모두 선택할 수도 있습니다.

      1. **지원되는 콘텐츠 유형**에, 알고리즘에서 입력 데이터에 대해 원하는 MIME 유형을 입력합니다.

      1. 알고리즘에서 Gzip 압축을 지원하는 경우에는 **지원되는 압축 유형**에서 **Gzip**을 선택합니다. 그렇지 않다면 **없음**을 선택합니다.

      1. 다른 데이터 입력 채널을 추가하려면 **채널 추가**를 선택하고, 채널을 모두 추가했으면 **다음**을 선택합니다.

1. **튜닝 사양** 페이지에서 다음 정보를 제공합니다.

   1. **하이퍼파라미터 사양**에서, JSON 객체를 편집하여 알고리즘에서 지원하는 하이퍼파라미터를 지정합니다. 알고리즘에서 지원하는 각 하이퍼파라미터에 대해 다음과 유사하게 JSON 블록을 구성합니다.

      ```
      {
      "DefaultValue": "5",
      "Description": "The first hyperparameter",
      "IsRequired": true,
      "IsTunable": false,
      "Name": "intRange",
      "Range": {
      "IntegerParameterRangeSpecification": {
      "MaxValue": "10",
      "MinValue": "1"
      },
      "Type": "Integer"
      }
      ```

      JSON에서 다음 정보를 입력합니다.

      1. `DefaultValue`로 하이퍼파라미터(하나 있는 경우)에 대한 기본값을 지정합니다.

      1. `Description`으로 하이퍼파라미터에 대한 설명을 지정합니다.

      1. `IsRequired`로 하이퍼파라미터가 필요한지 여부를 지정합니다.

      1. 사용자가 이 알고리즘을 사용하는 하이퍼파라미터 튜닝 작업을 실행할 때 이 하이퍼파라미터를 튜닝 가능하도록 하려면 `IsTunable`로 `true`를 지정합니다. 자세한 내용은 [SageMaker AI로 자동 모델 튜닝](automatic-model-tuning.md)을 참조하세요.

      1. `Name`으로 하이퍼파라미터에 대한 이름을 지정합니다.

      1. `Range`로 다음 중 하나를 지정합니다.
         + `IntegerParameterRangeSpecification` - 하이퍼파라미터의 값이 정수입니다. 하이퍼파라미터에 대한 최대 및 최소 값을 지정합니다.
         + 
         + `ContinuousParameterRangeSpecification` - 하이퍼파라미터의 값이 부동 소수점 값입니다. 하이퍼파라미터에 대한 최대 및 최소 값을 지정합니다.
         + `CategoricalParameterRangeSpecification` - 하이퍼파라미터의 값이 카테고리 값입니다. 가능한 모든 값 목록을 지정합니다.

      1. `Type`으로 `Integer`, `Continuous` 또는 `Categorical`을 지정합니다. 이 값은 지정한 `Range` 유형에 해당해야 합니다.

   1. **지표 정의**의 경우 알고리즘에서 내보낼 훈련 지표를 모두 지정하세요. SageMaker AI는 사용자가 지정한 정규 표현식을 사용하여 훈련 중에 훈련 컨테이너에서 로그를 파싱하여 메트릭을 찾습니다. 사용자는 알고리즘을 사용해 훈련 작업을 실행할 때 이러한 지표를 볼 수 있고 Amazon CloudWatch에서 지표를 모니터링 및 플로팅할 수 있습니다. 자세한 내용은 [훈련 작업 모니터링 및 분석용 Amazon CloudWatch 지표](training-metrics.md)을 참조하세요. 각 지표에 대해 다음 정보를 제공합니다.

      1. **지표 이름**에 지표의 이름을 입력합니다.

      1. `Regex`에는 지표 값을 찾을 수 있도록 SageMaker AI가 훈련 로그를 구문 분석하는 데 사용하는 정규식을 입력합니다.

      1. 이 지표를 하이퍼파라미터 튜닝 작업의 목표 지표로 사용할 수 있는 경우 **목표 지표 지원**에 대해 **예**를 선택합니다. 자세한 내용은 [SageMaker AI로 자동 모델 튜닝](automatic-model-tuning.md)을 참조하세요.

      1. 다른 지표를 추가하려면 **지표 추가**를 선택하고 지표 추가를 마친 경우에는 **다음**을 선택합니다.

1. 알고리즘이 추론을 지원하는 경우 **추론 사양** 페이지에서 다음 정보를 제공합니다.

   1. **추론 이미지 위치**에는 추론 컨테이너가 저장된 Amazon ECR의 경로를 입력합니다.

   1. **컨테이너 DNS 호스트 이름**에 이미지의 DNS 호스트 이름을 입력합니다.

   1. **실시간 추론에 지원되는 인스턴스 유형**에는 SageMaker AI에서 호스팅된 엔드포인트로 배포된 모델에 대해 알고리즘이 지원하는 인스턴스 유형을 선택합니다. 자세한 내용은 [추론 모델 배포](deploy-model.md) 단원을 참조하세요.

   1. **배치 변환 작업에 지원되는 인스턴스 유형**에서, 알고리즘이 배치 변환 작업에 대해 지원하는 인스턴스 유형을 선택합니다. 자세한 내용은 [Amazon SageMaker AI를 사용한 추론용 배치 변환](batch-transform.md)을 참조하세요.

   1. **지원되는 콘텐츠 유형**에, 추론 요청을 위해 알고리즘에 필요한 입력 데이터 유형을 입력합니다.

   1. **지원되는 응답 MIME 유형**에, 추론 응답에 대해 알고리즘에서 지원하는 MIME 유형을 입력합니다.

   1. **다음**을 선택합니다.

1. **검증 사양** 페이지에서 다음 정보를 제공합니다.

   1. **이 알고리즘 게시에서 AWS Marketplace** **예를** 선택하여에 알고리즘을 게시합니다 AWS Marketplace.

   1. **이 리소스 검증**에는 알고리즘의 훈련 또는 추론 코드를 테스트하기 위해 지정한 훈련 작업 및/또는 배치 변환 작업을 SageMaker AI가 실행하도록 하려면 **예**를 선택합니다.
**참고**  
알고리즘을 게시하려면 알고리즘 AWS Marketplace을 검증해야 합니다.

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

   1. **검증 프로필**에서 다음을 지정합니다.
      + 검증 프로필의 이름
      + **훈련 작업 정의**. 훈련 작업을 설명하는 JSON 블록입니다. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API의 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html) 입력 파라미터와 형식이 동일합니다.
      + **변환 작업 정의**. 배치 변환 작업을 설명하는 JSON 블록입니다. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API의 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html) 입력 파라미터와 형식이 동일합니다.

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

## 알고리즘 리소스 생성(API)
<a name="sagemaker-mkt-create-algo-api"></a>

SageMaker API를 사용하여 알고리즘 리소스를 생성하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API를 호출합니다.

# 모델 패키지 리소스 생성
<a name="sagemaker-mkt-create-model-package"></a>

Amazon SageMaker AI에서 배포 가능한 모델을 생성하고에 게시하는 데 사용할 수 있는 모델 패키지 리소스를 생성하려면 다음 정보를 AWS Marketplace 지정합니다.
+ 모델을 훈련하는 데 사용된 알고리즘 리소스 또는 추론 코드가 포함된 Docker 컨테이너
+ 모델 결과물의 위치. 모델 결과물은 동일한 컨테이너 내에 추론 코드로 패키징되거나 Amazon S3에 저장할 수 있습니다.
+ 모델 패키지가 실시간 추론 및 배치 변환 작업에 지원하는 인스턴스 유형
+ 검증 프로필. SageMaker AI에서 모델 패키지의 추론 코드를 테스트하기 위해 실행하는 배치 변환 작업입니다.

  모델 패키지를 나열 AWS Marketplace하기 전에 먼저 검증해야 합니다. 그래야 구매자 및 판매자가 제품이 Amazon SageMaker AI에서 문제 없이 작동할지 확신할 수 있습니다. 검증에 성공한 AWS Marketplace 경우에만에 제품을 나열할 수 있습니다.

  검증 절차에서는 검증 프로필과 샘플 데이터를 사용하여 다음 검증 작업을 실행합니다.

  1. Amazon S3에 저장된 모델 패키지의 추론 이미지 및 선택적 모델 결과물을 사용하여 사용자 계정에 모델을 생성합니다.
**참고**  
모델 패키지는 모델을 생성하는 리전 전용입니다. 모델 결과물이 저장되는 S3 버킷은 모델 패키지를 생성한 리전과 동일해야 합니다.

  1. SageMaker AI에서 추론 이미지가 작동하는지 검증하기 위한 모델을 사용하여 사용자 계정 내에서 변환 작업을 생성합니다.

  1. 검증 프로필을 생성합니다.
**참고**  
검증 프로필에서는 공개하려는 데이터만 제공합니다.

  검증에는 최대 몇 시간 가량 걸릴 수 있습니다. 사용자 계정 내에서 작업 상태를 확인하려면 SageMaker AI 콘솔에서 **변환 작업** 페이지를 봅니다. 검증에 실패하면 사용자는 SageMaker AI 콘솔에서 스캔 및 검증 보고서에 액세스할 수 있습니다. 문제를 해결한 다음 알고리즘을 다시 생성합니다. 알고리즘 상태가 `COMPLETED`이면 SageMaker AI 콘솔에서 알고리즘을 찾아 등록 프로세스를 시작합니다.
**참고**  
모델 패키지를 게시하려면 하나 AWS Marketplace이상의 검증 프로필이 필요합니다.

사용자는 SageMaker AI 콘솔 또는 SageMaker API를 사용하여 모델 패키지를 생성할 수 있습니다.

**Topics**
+ [모델 패키지 리소스 생성(콘솔)](#sagemaker-mkt-create-model-pkg-console)
+ [모델 패키지 리소스 생성(API)](#sagemaker-mkt-create-model-pkg-api)

## 모델 패키지 리소스 생성(콘솔)
<a name="sagemaker-mkt-create-model-pkg-console"></a>

**SageMaker AI 콘솔에서 모델 패키지를 생성하려면,**

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

1. 왼쪽 메뉴에서 **추론**을 선택합니다.

1. **마켓플레이스 모델 패키지**를 선택한 후 **마켓플레이스 모델 패키지 생성**을 선택합니다.

1. **추론 사양** 페이지에서 다음 정보를 제공합니다.

   1. **모델 패키지 이름**에 모델 패키지의 이름을 입력합니다. 모델 패키지 이름은 계정과 AWS 리전에서 고유해야 합니다. 이름은 1\$164자여야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 –(하이픈)입니다.

   1. 모델 패키지에 대한 설명을 입력합니다. 이 설명은 SageMaker AI 콘솔과 AWS Marketplace에 표시됩니다.

   1. 추론 컨테이너 및 모델 결과물을 사용하여 모델 패키지를 생성하려면 **추론 사양 옵션**으로 **추론 이미지 및 모델 결과물의 위치 입력**을 선택합니다. **훈련에 사용되는 알고리즘과 해당 모델 아티팩트 제공**을 선택하여 AWS Marketplace에서 생성하거나 구독한 알고리즘 리소스에서 모델 패키지를 생성합니다.

   1. **추론 사양 옵션**에 대한 **추론 이미지 및 모델 아티팩트 위치 제공**을 선택한 경우 **컨테이너 정의** 및 **지원되는 리소스**에 대해 다음과 같은 정보를 제공하세요.

      1. **추론 이미지 위치**에 추론 코드가 포함된 이미지의 경로를 입력합니다. 이미지는 Amazon ECR에 도커 컨테이너로 저장되어 있어야 합니다.

      1. **모델 데이터 결과물 위치**에 모델 결과물을 저장할 S3의 위치를 입력합니다.

      1. **컨테이너 DNS 호스트 이름**에 컨테이너에 사용할 DNS 호스트 이름을 입력합니다.

      1. **실시간 추론에 지원되는 인스턴스 유형**에서는 모델 패키지가 SageMaker AI에서 호스팅된 엔드포인트에서 실시간 추론에 대해 지원하는 인스턴스 유형을 선택합니다.

      1. **배치 변환 작업에 지원되는 인스턴스 유형**에서는 모델 패키지가 배치 변환 작업에 대해 지원하는 인스턴스 유형을 선택합니다.

      1. **지원되는 콘텐츠 유형**에 추론 요청을 위해 모델 패키지에 필요한 콘텐츠 유형을 입력합니다.

      1. **지원되는 응답 MIME 유형**에, 모델 패키지가 추론을 제공하기 위해 사용하는 MIME 유형을 입력합니다.

   1. **훈련에 사용되는 알고리즘** 및 **추론 사양 옵션에 해당 모델 아티팩트 제공**을 선택한 경우 다음 정보를 제공하세요.

      1. **알고리즘 ARN**에 모델 패키지를 생성하는 데 사용한 알고리즘 리소스의 Amazon 리소스 이름(ARN)을 입력합니다.

      1. **모델 데이터 결과물 위치**에 모델 결과물을 저장할 S3의 위치를 입력합니다.

   1. **다음**을 선택합니다.

1. **검증 및 스캔** 페이지에서 다음 정보를 제공합니다.

   1. **이 모델 패키지 게시에서 AWS Marketplace** **예를** 선택하여에 모델 패키지를 게시합니다 AWS Marketplace.

   1. **이 리소스 검증**에는 모델 패키지의 추론 코드를 테스트하기 위해 지정한 배치 변환 작업을 SageMaker AI가 실행하도록 하려면 **예**를 선택합니다.
**참고**  
모델 패키지를에 게시하려면 AWS Marketplace모델 패키지를 검증해야 합니다.

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

   1. **검증 프로필**에서 다음을 지정합니다.
      + 검증 프로필의 이름
      + **변환 작업 정의**. 배치 변환 작업을 설명하는 JSON 블록입니다. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html) API의 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html) 입력 파라미터와 형식이 동일합니다.

1. **마켓플레이스 모델 패키지 생성**을 선택합니다.

## 모델 패키지 리소스 생성(API)
<a name="sagemaker-mkt-create-model-pkg-api"></a>

SageMaker API를 사용하여 모델 패키지를 생성하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html) API를 호출합니다.

# 알고리즘 및 모델 패키지 리소스 사용
<a name="sagemaker-mkt-buy"></a>

Amazon SageMaker AI 계정에서 알고리즘 및 모델 패키지를 리소스로 생성할 수 있고, AWS Marketplace에서 알고리즘 및 모델 패키지를 찾아 구독할 수 있습니다.

알고리즘을 사용하여 다음을 수행합니다.
+ 훈련 작업을 실행합니다. 자세한 내용은 [알고리즘을 사용하여 훈련 작업 실행](sagemaker-mkt-algo-train.md) 섹션을 참조하세요.
+ 하이퍼파라미터 튜닝 작업을 실행합니다. 자세한 내용은 [알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행](sagemaker-mkt-algo-tune.md) 섹션을 참조하세요.
+ 모델 패키지를 생성합니다. 알고리즘 리소스를 사용하여 훈련 작업 또는 하이퍼파라미터 튜닝 작업을 실행한 후에는 이러한 작업이 알고리즘과 함께 출력한 모델 결과물을 사용하여 모델 패키지를 생성할 수 있습니다. 자세한 내용은 [모델 패키지 리소스 생성](sagemaker-mkt-create-model-package.md) 섹션을 참조하세요.
**참고**  
AWS Marketplace에서 알고리즘을 구독하는 경우 모델 패키지를 사용해 호스팅 엔드포인트를 생성하거나 배치 변환 작업을 실행하여 추론을 얻으려면 모델 패키지를 생성해야 합니다.

![\[시장 구매자 워크플로.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/mkt-buyer-workflow.png)


모델 패키지를 사용하여 다음 작업을 수행합니다.
+ 실시간 추론을 얻거나 배치 변환 작업을 실행하는 데 사용할 수 있는 모델을 생성합니다. 자세한 내용은 [모델 패키지를 사용하여 모델 생성](sagemaker-mkt-model-pkg-model.md) 섹션을 참조하세요.
+ 호스팅 엔드포인트를 생성하여 실시간 추론을 얻습니다. 자세한 내용은 [SageMaker AI 호스팅 서비스에 모델 배포](ex1-model-deployment.md#ex1-deploy-model) 섹션을 참조하세요.
+ 배치 변환 작업을 생성합니다. 자세한 내용은 [(선택 사항) 배치 변환으로 예측하기](ex1-model-deployment.md#ex1-batch-transform) 섹션을 참조하세요.

**Topics**
+ [알고리즘을 사용하여 훈련 작업 실행](sagemaker-mkt-algo-train.md)
+ [알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행](sagemaker-mkt-algo-tune.md)
+ [모델 패키지를 사용하여 모델 생성](sagemaker-mkt-model-pkg-model.md)

# 알고리즘을 사용하여 훈련 작업 실행
<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})
```

# 알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행
<a name="sagemaker-mkt-algo-tune"></a>

다음 섹션에서는 알고리즘 리소스를 사용하여 Amazon SageMaker AI에서 하이퍼파라미터 튜닝 작업을 실행하는 방법을 설명합니다. 하이퍼파라미터 튜닝 작업은 지정된 알고리즘과 광범위한 하이퍼파라미터를 사용하여 데이터세트에 대해 여러 훈련 작업을 실행하여 최적의 모델 버전을 찾습니다. 그런 다음 선택한 지표로 측정된 값에 따라 최적의 성능을 보여준 모델을 만든 하이퍼파라미터 값을 선택합니다. 자세한 내용은 [SageMaker AI로 자동 모델 튜닝](automatic-model-tuning.md) 단원을 참조하십시오.

Amazon SageMaker AI 콘솔, 하위 수준 Amazon SageMaker API 또는 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)를 통해 알고리즘 리소스를 활용해 하이퍼파라미터 튜닝 작업을 생성할 수 있습니다.

**Topics**
+ [알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행(콘솔)](#sagemaker-mkt-algo-tune-console)
+ [알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행(API)](#sagemaker-mkt-algo-tune-api)
+ [알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행하기([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-algo-tune-sdk)

## 알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행(콘솔)
<a name="sagemaker-mkt-algo-tune-console"></a>

**알고리즘을 사용하여 하이퍼파라미터 튜닝 작업을 실행하려면(콘솔)**

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

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

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

1. **하이퍼파라미터 튜닝 작업 생성**을 선택합니다.

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

1. **하이퍼파라미터 튜닝 작업 생성** 페이지에서 다음 정보를 제공합니다.

   1. 이 하이퍼파라미터 튜닝 작업의 시작점으로 이전 하이퍼파라미터 튜닝 작업의 정보를 사용하려면 **웜 스타트**에서 **웜 스타트 활성화**를 선택합니다. 자세한 내용은 [웜 스타트 하이퍼파라미터 튜닝 작업 실행](automatic-model-tuning-warm-start.md) 섹션을 참조하세요.

      1. 입력 데이터가 이 하이퍼파라미터 튜닝 작업의 상위 작업의 입력 데이터와 동일한 경우 **동일한 데이터 및 알고리즘**을 선택하고 이 하이퍼파라미터 튜닝 작업에 추가 입력 데이터 또는 다른 입력 데이터를 사용하려면 **전이 학습**을 선택합니다.

      1. **상위 하이퍼파라미터 튜닝 작업**에서 이 하이퍼파라미터 튜닝 작업의 상위 작업으로 사용할 하이퍼파라미터 튜닝 작업을 최대 5개까지 선택할 수 있습니다.

   1. **하이퍼파라미터 튜닝 작업 이름**에 튜닝 작업의 이름을 입력합니다.

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

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

   1. **다음**을 선택합니다.

   1. **목표 지표**에서 하이퍼파라미터 튜닝 작업이 최적의 하이퍼파라미터 조합을 결정하는 데 사용할 지표를 선택하고 해당 지표를 최소화 또는 최대화할지 여부를 지정합니다. 자세한 내용은 [최적의 훈련 작업 보기](automatic-model-tuning-ex-tuning-job.md#automatic-model-tuning-best-training-job) 섹션을 참조하세요.

   1. **하이퍼파라미터 구성**에서, 튜닝 작업에서 검색하도록 할 튜닝 가능한 하이퍼파라미터 범위를 선택하고, 하이퍼파라미터 튜닝 작업에서 시작하는 모든 훈련 작업 내에서 일정하게 유지하려는 하이퍼파라미터의 정적 값을 설정합니다. 자세한 내용은 [하이퍼파라미터 범위 정의](automatic-model-tuning-define-ranges.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. **인스턴스 유형**에서, 하이퍼파라미터 튜닝 작업에서 시작하는 각 훈련 작업에 사용할 인스턴스 유형을 선택합니다.

      1. **인스턴스 수**에, 하이퍼파라미터 튜닝 작업에서 시작하는 각 훈련 작업에 사용할 ML 인스턴스 수를 입력합니다.

      1. **인스턴스당 추가 볼륨 크기(GB)**에 하이퍼파라미터 튜닝 작업에서 시작하는 각 훈련 작업을 프로비저닝하려는 ML 스토리지 볼륨의 크기를 입력합니다. ML 스토리지 볼륨은 모델 결과물 및 증분 상태를 저장합니다.

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

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

      1. **최대 훈련 작업**에, 하이퍼파라미터 튜닝 작업에서 시작하도록 하려는 최대 훈련 작업 수를 지정합니다. 하이퍼파라미터 튜닝 작업 하나에서 최대 500개의 훈련 작업을 시작할 수 있습니다.

      1. **최대 병행 훈련 작업**에, 하이퍼파라미터 튜닝 작업에서 시작할 수 있는 최대 동시 훈련 작업 수를 지정합니다. 하이퍼파라미터 튜닝 작업 하나에서 최대 10개의 동시 훈련 작업을 시작할 수 있습니다.

      1. **중지 조건**에, 하이퍼파라미터 튜닝 작업에서 훈련 작업을 실행하려 최대 시간을 초, 분, 시간 또는 일 단위로 지정합니다.

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

   1. **작업 생성**을 선택하여 하이퍼파라미터 튜닝 작업을 실행합니다.

## 알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행(API)
<a name="sagemaker-mkt-algo-tune-api"></a>

SageMaker API를 통해 알고리즘을 사용하여 하이퍼파라미터 튜닝 작업을 실행하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.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의 하이퍼파라미터 튜닝에 대한 자세한 정보는 [SageMaker AI로 자동 모델 튜닝](automatic-model-tuning.md)을 참조하세요.

## 알고리즘을 사용하여 하이퍼파라미터 튜닝 작업 실행하기([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-algo-tune-sdk"></a>

에서 생성하거나 구독한 알고리즘 AWS Marketplace 을 사용하여 하이퍼파라미터 튜닝 작업을 생성하고, `AlgorithmEstimator` 객체를 생성하고, Amazon 리소스 이름(ARN) 또는 알고리즘 이름을 `algorithm_arn` 인수 값으로 지정합니다. 그런 다음 `estimator` 인수의 값으로 생성한 `AlgorithmEstimator`를 사용하여 `HyperparameterTuner` 객체를 초기화합니다. 마지막으로 `AlgorithmEstimator`의 `fit` 메서드를 호출합니다. 예제:

```
from sagemaker import AlgorithmEstimator
from sagemaker.tuner import HyperparameterTuner

data_path = os.path.join(DATA_DIR, 'marketplace', 'training')

algo = AlgorithmEstimator(
            algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022',
            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.set_hyperparameters(max_leaf_nodes=10)
tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name',
                                objective_metric_name='validation:accuracy',
                                hyperparameter_ranges=hyperparameter_ranges,
                                max_jobs=2, max_parallel_jobs=2)

tuner.fit({'training': train_input}, include_cls_metadata=False)
tuner.wait()
```

# 모델 패키지를 사용하여 모델 생성
<a name="sagemaker-mkt-model-pkg-model"></a>

모델 패키지를 사용하여 호스팅 엔드포인트 생성 또는 배치 변환 작업 실행을 통해 실시간 추론을 얻는 데 사용할 수 있는 배포 가능한 모델을 생성합니다. Amazon SageMaker AI 콘솔, 하위 수준 SageMaker API 또는 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)를 사용하여 모델 패키지에서 배포 가능한 모델을 생성할 수 있습니다.

**Topics**
+ [모델 패키지를 사용하여 모델 생성(콘솔)](#sagemaker-mkt-model-pkg-model-console)
+ [모델 패키지를 사용하여 모델 생성(API)](#sagemaker-mkt-model-pkg-model-api)
+ [모델 패키지를 이용한 모델 생성([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-model-pkg-model-sdk)

## 모델 패키지를 사용하여 모델 생성(콘솔)
<a name="sagemaker-mkt-model-pkg-model-console"></a>

**모델 패키지에서 배포 가능한 모델을 생성하려면(콘솔)**

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

1. **모델 패키지**를 선택합니다.

1. **내 모델 패키지** 탭의 목록에서 직접 생성한 모델 패키지를 선택하거나 **AWS Marketplace 구독** 탭에서 구독한 모델 패키지를 선택합니다.

1. **Create model**(모델 생성)을 선택합니다.

1. **모델 이름**에 모델의 이름을 입력합니다.

1. **IAM 역할**에서는 다른 서비스를 직접적으로 호출하는 데 필요한 권한이 있는 IAM 역할을 선택하세요. 아니면 **새 역할 생성**을 선택하여 SageMaker AI가 `AmazonSageMakerFullAccess` 관리형 정책이 연결된 역할을 생성하게 하세요. 자세한 내용은 [SageMaker AI 실행 역할을 사용하는 방법](sagemaker-roles.md) 단원을 참조하세요.

1. **VPC**에서는 모델이 액세스하도록 허용하려는 Amazon VPC를 선택하세요. 자세한 내용은 [SageMaker AI에서 호스팅된 엔드포인트에 Amazon VPC의 리소스에 대한 액세스 권한 부여](host-vpc.md) 섹션을 참조하세요.

1. **컨테이너 입력 옵션** 및 **모델 패키지 선택**은 기본값을 그대로 둡니다.

1. 환경 변수의 경우에는 모델 컨테이너에 전달하려는 환경 변수의 이름 및 값을 입력합니다.

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

1. **Create model**(모델 생성)을 선택합니다.

배포 가능한 모델을 생성한 후에는 해당 모델을 사용하여 실시간 추론을 위한 엔드포인트를 설정하거나 전체 데이터 세트에 대한 추론을 얻기 위한 배치 변환 작업을 생성할 수 있습니다. SageMaker AI에서 엔드포인트를 호스팅하는 방법에 대한 자세한 내용은 [추론용 모델 배포](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)를 참조하세요.

## 모델 패키지를 사용하여 모델 생성(API)
<a name="sagemaker-mkt-model-pkg-model-api"></a>

SageMaker API를 통해 모델 패키지를 사용하여 배포 가능한 모델을 생성하려면 해당 모델 패키지의 이름 또는 Amazon 리소스 이름(ARN)을 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API에 전달할 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html) 객체의 `ModelPackageName` 필드로 지정하세요.

배포 가능한 모델을 생성한 후에는 해당 모델을 사용하여 실시간 추론을 위한 엔드포인트를 설정하거나 전체 데이터 세트에 대한 추론을 얻기 위한 배치 변환 작업을 생성할 수 있습니다. SageMaker AI에서 호스팅된 엔드포인트에 대한 자세한 내용은 [추론용 모델 배포](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)를 참조하세요.

## 모델 패키지를 이용한 모델 생성([Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-model-pkg-model-sdk"></a>

SageMaker AI Python SDK를 통해 모델 패키지를 사용하여 배포 가능한 모델을 생성하려면 `ModelPackage` 객체를 초기화하고, 해당 모델 패키지의 Amazon 리소스 이름(ARN)을 `model_package_arn` 인수로 전달하세요. 예제:

```
from sagemaker import ModelPackage
model = ModelPackage(role='SageMakerRole',
         model_package_arn='training-job-scikit-decision-trees-1542660466-6f92',
         sagemaker_session=sagemaker_session)
```

배포 가능한 모델을 생성한 후에는 해당 모델을 사용하여 실시간 추론을 위한 엔드포인트를 설정하거나 전체 데이터 세트에 대한 추론을 얻기 위한 배치 변환 작업을 생성할 수 있습니다. SageMaker AI에서 엔드포인트를 호스팅하는 방법에 대한 자세한 내용은 [추론용 모델 배포](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html)를 참조하세요.