

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

# 모델 생성
<a name="serverless-endpoints-create-model"></a>

모델을 생성하려면 모델 아티팩트와 컨테이너 이미지의 위치를 제공해야 합니다. [SageMaker 모델 레지스트리](model-registry.md)에서 모델 버전을 사용할 수도 있습니다. 다음 섹션의 예시는 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API, 모델 레지스트리 및 [Amazon SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/home)을 사용하여 모델을 생성하는 방법을 보여줍니다.

## 모델 생성하기 (모델 레지스트리 사용)
<a name="serverless-endpoints-create-model-registry"></a>

[모델 레지스트리](model-registry.md)는 ML 파이프라인에서 사용할 모델 버전을 카탈로그화하고 관리하는 데 도움이 되는 SageMaker AI의 기능입니다. 모델 레지스트리를 서버리스 추론과 함께 사용하려면 먼저 모델 레지스트리 모델 그룹에 모델 버전을 등록해야 합니다. 모델 레지스트리에 모델을 등록하는 방법을 알아보려면 [모델 그룹 생성](model-registry-model-group.md) 및 [모델 버전 등록](model-registry-version.md)의 절차를 따르세요.

다음 예제에서는 등록된 모델 버전의 ARN이 있어야 하며, [Python용AWS SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API를 호출해야 합니다. 서버리스 추론의 경우 모델 레지스트리는 현재 AWS SDK for Python(Boto3)에서만 지원됩니다. 예로서, 다음 값을 지정합니다.
+ `model_name`에 모델 이름을 입력합니다.
+ `sagemaker_role`에 SageMaker AI에서 생성한 기본 역할 또는 [사전 조건 완료](serverless-endpoints-prerequisites.md) 섹션의 4단계에서 사용자 지정된 SageMaker AI IAM 역할을 사용할 수 있습니다.
+ `ModelPackageName`에 모델 버전의 ARN을 지정하세요. 이 ARN은 모델 레지스트리의 모델 그룹에 등록되어야 합니다.

```
#Setup
import boto3
import sagemaker
region = boto3.Session().region_name
client = boto3.client("sagemaker", region_name=region)

#Role to give SageMaker AI permission to access AWS services.
sagemaker_role = sagemaker.get_execution_role()

#Specify a name for the model
model_name = "<name-for-model>"

#Specify a Model Registry model version
container_list = [
    {
        "ModelPackageName": <model-version-arn>
     }
 ]

#Create the model
response = client.create_model(
    ModelName = model_name,
    ExecutionRoleArn = sagemaker_role,
    container_list
)
```

## 모델을 생성하는 방법 (API 사용)
<a name="serverless-endpoints-create-model-api"></a>

다음 예제에서는 [Python용AWS SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)를 사용하여 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API를 호출합니다. 다음 값을 지정하세요.
+ `sagemaker_role,`에 SageMaker AI에서 생성한 기본 역할 또는 [사전 조건 완료](serverless-endpoints-prerequisites.md) 섹션의 4단계에서 사용자 지정된 SageMaker AI IAM 역할을 사용할 수 있습니다.
+ `model_url`에 Amazon S3 URI를 모델에 지정합니다.
+ `container`의 경우 Amazon ECR 경로를 기준으로 사용하려는 컨테이너를 검색하세요. 이 예시에서는 SageMaker AI가 제공한 XGBoost 컨테이너를 사용합니다. SageMaker AI 컨테이너를 선택하지 않았거나 직접 가져온 경우 자세한 내용은 [사전 조건 완료](serverless-endpoints-prerequisites.md) 섹션의 6단계를 참조하세요.
+ `model_name`에 모델 이름을 입력합니다.

```
#Setup
import boto3
import sagemaker
region = boto3.Session().region_name
client = boto3.client("sagemaker", region_name=region)

#Role to give SageMaker AI permission to access AWS services.
sagemaker_role = sagemaker.get_execution_role()

#Get model from S3
model_url = "s3://amzn-s3-demo-bucket/models/model.tar.gz"

#Get container image (prebuilt example)
from sagemaker import image_uris
container = image_uris.retrieve("xgboost", region, "0.90-1")

#Create model
model_name = "<name-for-model>"

response = client.create_model(
    ModelName = model_name,
    ExecutionRoleArn = sagemaker_role,
    Containers = [{
        "Image": container,
        "Mode": "SingleModel",
        "ModelDataUrl": model_url,
    }]
)
```

## 모델 생성 (콘솔 사용)
<a name="serverless-endpoints-create-model-console"></a>

1. [Amazon SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/home)에 로그인합니다.

1. 탐색 패널에서 **Inference**(추론)을 선택합니다.

1. 다음에 **Models**(모델)을 선택합니다.

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

1. **모델 이름**에 계정 및에 고유한 모델 이름을 입력합니다 AWS 리전.

1. **IAM 역할**의 경우 이미 생성한 IAM 역할을 선택하거나([사전 조건 완료](serverless-endpoints-prerequisites.md) 참조) SageMaker AI가 대신 생성하도록 허용하세요.

1. **컨테이너 정의 1에서** **Container input options**(컨테이너 입력 옵션)에 **Provide model artifacts and input location**(모델 아티팩트 및 입력 위치 제공)을 선택합니다.

1. **Provide model artifacts and inference image options**(모델 아티팩트 및 추론 이미지 제공 옵션)에서 **Use a single model**(단일 모델 사용)을 선택합니다.

1. **Location of inference code image**(추론 코드 이미지 위치)에는 컨테이너에 대한 Amazon ECR 경로를 입력합니다. 이미지는 SageMaker AI에서 제공한 자사 이미지(예: TensorFlow, XGBoost)이거나 엔드포인트를 생성하는 동일한 계정 내의 Amazon ECR 리포지토리에 있는 이미지여야 합니다. 컨테이너가 없는 경우 [사전 조건 완료](serverless-endpoints-prerequisites.md) 섹션의 6단계로 돌아가서 자세한 내용을 확인하세요.

1. **Location of model artifacts**(모델 아티팩트의 위치)는 ML 모델의 Amazon S3 URI를 입력합니다. 예를 들어 `s3://amzn-s3-demo-bucket/models/model.tar.gz`입니다.

1. (선택 사항) **Tags**(태그)에 키-값 페어를 추가하여 모델의 메타데이터를 생성합니다.

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