

# Amazon Bedrock 추론
<a name="nova-model-bedrock-inference"></a>

Amazon Nova 모델을 훈련하고 테스트한 후에는 프로덕션 규모의 추론을 위해 Amazon Bedrock에 모델을 배포할 수 있습니다. 배포 프로세스에는 CreateCustomModel API를 사용하여 Amazon Bedrock 모델을 생성하고, 관리형 Amazon S3 버킷에서 모델 아티팩트로 모델 아티팩트를 내보낸 다음, 모델이 ACTIVE 상태이면 온디맨드 또는 프로비저닝된 처리량 추론으로 엔드포인트를 구성하는 작업이 포함됩니다.

SageMaker에서 사용자 지정 모델을 생성한 후 CreateCustomModel API를 사용하여 SageMaker 에스크로에서 Amazon Bedrock에 이를 배포하여 추론을 실행할 수 있습니다. 그런 다음 CreateCustomModelDeployment를 사용하여 OD 추론 엔드포인트를 생성하거나 파라미터 효율 미세 조정(PEFT) 모델에 대해 프로비저닝된 처리량 추론을 설정할 수 있습니다. 전체 순위 사용자 지정 모델에 대해 프로비저닝된 처리량 추론을 설정할 수 있습니다.

Amazon Nova Forge SDK를 사용하여 사용자 지정 Amazon Nova 모델을 배포할 수도 있습니다. Amazon Nova Forge SDK는 훈련 작업 또는 S3 모델 체크포인트에서 관련 정보를 추출하여 Amazon Bedrock에 게시할 수 있는 간소화된 환경을 제공합니다. 자세한 내용은 [Amazon Nova Forge SDK](nova-forge-sdk.md)를 참조하세요.

사용자 지정 모델에 대한 Amazon Bedrock 추론을 설정하는 자세한 단계는 [Amazon Bedrock에 사용자 지정 Amazon Nova 모델 배포](deploy-custom-model.md)를 참조하세요.

다음 섹션에서는 사용자 지정 모델에서 온디맨드 추론을 자세히 설명합니다.

# 사용자 지정 모델 온디맨드 추론용 배포
<a name="deploy-custom-model"></a>

모델 사용자 지정 작업(미세 조정, 증류, 또는 지속적 사전 학습)을 통해 사용자 지정 모델을 성공적으로 생성한 후, 해당 모델에 대해 온디맨드 추론을 설정할 수 있습니다.

사용자 지정 모델의 온디맨드 추론을 설정하려면, 사용자 지정 모델 배포를 통해 모델을 배포해야 합니다. 모델을 배포한 후에는 배포된 모델의 Amazon 리소스 이름(ARN)을 `InvokeModel` 또는 `Converse` API 작업에서 `modelId` 파라미터로 사용합니다. 배포된 모델은 Amazon Bedrock의 플레이그라운드, 에이전트, 지식 베이스 등의 기능에서 온디맨드 추론용으로 활용할 수 있습니다.

**Topics**
+ [

## 지원되는 모델
](#custom-model-inference-supported-models)
+ [

# 사용자 지정 모델 배포
](deploying-custom-model.md)
+ [

# 온디맨드 추론용 배포 사용
](use-custom-model-on-demand.md)
+ [

# 사용자 지정 모델 배포 삭제
](delete-custom-model-deployment.md)

## 지원되는 모델
<a name="custom-model-inference-supported-models"></a>

다음 모델에 대해 온디맨드 추론을 설정할 수 있습니다.
+ Amazon Nova Canvas
+ Amazon Nova Lite
+ Amazon Nova Micro
+ Amazon Nova Pro

# 사용자 지정 모델 배포
<a name="deploying-custom-model"></a>

사용자 지정 모델은 Amazon Bedrock 콘솔, AWS Command Line Interface 또는 AWS를 사용하여 배포할 수 있습니다. 배포를 추론에 활용하는 방법에 대한 자세한 내용은 [온디맨드 추론용 배포 사용](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)을 참조하세요.

**Topics**
+ [

## 사용자 지정 모델 배포(콘솔)
](#deploy-custom-model-console)
+ [

## 사용자 지정 모델 배포(AWS Command Line Interface)
](#deploy-custom-model-cli)
+ [

## 사용자 지정 모델 배포(AWS SDK)
](#deploy-custom-model-sdk)

## 사용자 지정 모델 배포(콘솔)
<a name="deploy-custom-model-console"></a>

사용자 지정 모델은 **사용자 지정 모델** 페이지에서 다음과 같이 배포할 수 있습니다. 동일한 필드를 사용하여 **온디맨드 사용자 지정 모델** 페이지에서도 모델을 배포할 수 있습니다. 이 페이지를 찾으려면 탐색 창에서 **추론 및 평가** 아래의 **온디맨드 사용자 지정 모델**을 선택합니다.

**사용자 지정 모델 배포 방법**

1. [Amazon Bedrock 권한이 있는 IAM 역할](https://docs.aws.amazon.com//bedrock/latest/userguide/getting-started.html)을 사용하여 AWS Management Console에 로그인하고 [https://console.aws.amazon.com/nova/](https://console.aws.amazon.com/nova/)에서 Amazon Bedrock 콘솔을 엽니다.

1. 왼쪽 탐색 창의 **파운데이션 모델**에서 **사용자 지정 모델**을 선택합니다.

1. **모델** 탭에서 배포할 모델의 라디오 버튼을 선택합니다.

1. **추론 설정**과 **온디맨드 배포**를 차례로 선택합니다.

1. **배포 세부 정보**에서 다음 정보를 입력합니다.
   + **배포 이름**(필수) – 배포의 고유 이름을 입력합니다.
   + **설명**(선택 사항) – 배포에 대한 설명을 입력합니다.
   + **태그**(선택 사항) - 비용 할당 및 리소스 관리를 위해 태그를 추가합니다.

1. **생성(Create)**을 선택합니다. 배포 상태가 `Completed`가 되면, 사용자 지정 모델을 온디맨드 추론에 사용할 준비가 완료된 것입니다. 사용자 지정 모델 사용 방법에 대한 자세한 내용은 [온디맨드 추론용 배포 사용](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)을 참조하세요.

## 사용자 지정 모델 배포(AWS Command Line Interface)
<a name="deploy-custom-model-cli"></a>

AWS Command Line Interface를 사용하여 사용자 지정 모델을 온디맨드 추론용으로 배포하려면, 사용자 지정 모델의 Amazon 리소스 이름(ARN)을 사용하여 `create-custom-model-deployment` 명령어를 실행합니다. 이 명령은 [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) API 작업을 사용합니다. 실행 결과로 반환되는 배포의 ARN을 추론 요청 시 `modelId`로 사용할 수 있습니다. 배포를 추론에 활용하는 방법에 대한 자세한 내용은 [온디맨드 추론용 배포 사용](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)을 참조하세요.

```
aws bedrock create-custom-model-deployment \
--model-deployment-name "Unique name" \
--model-arn "Custom Model ARN" \
--description "Deployment description" \
--tags '[
    {
        "key": "Environment",
        "value": "Production"
    },
    {
        "key": "Team",
        "value": "ML-Engineering"
    },
    {
        "key": "Project",
        "value": "CustomerSupport"
    }
]' \
--client-request-token "unique-deployment-token" \
--region region
```

## 사용자 지정 모델 배포(AWS SDK)
<a name="deploy-custom-model-sdk"></a>

온디맨드 추론을 위해 사용자 지정 모델을 배포하려면, 사용자 지정 모델의 Amazon 리소스 이름(ARN)과 함께 [CreateCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModelDeployment.html) API 작업을 사용합니다. 실행 결과로 반환되는 배포의 ARN을 추론 요청 시 `modelId`로 사용할 수 있습니다. 배포를 추론에 활용하는 방법에 대한 자세한 내용은 [온디맨드 추론용 배포 사용](https://docs.aws.amazon.com/bedrock/latest/userguide/use-custom-model-on-demand.html)을 참조하세요.

다음 코드는 Python용 SDK(Boto3)를 사용하여 사용자 지정 모델을 배포하는 방법을 보여줍니다.

```
def create_custom_model_deployment(bedrock_client):
    """Create a custom model deployment
    Args:
        bedrock_client: A boto3 Bedrock client for making API calls
 
    Returns:
        str: The ARN of the created custom model deployment
 
    Raises:
        Exception: If there is an error creating the deployment
    """
 
    try:
        response = bedrock_client.create_custom_model_deployment(
            modelDeploymentName="Unique deployment name",
            modelArn="Custom Model ARN",
            description="Deployment description",
            tags=[
                {'key': 'Environment', 'value': 'Production'},
                {'key': 'Team', 'value': 'ML-Engineering'},
                {'key': 'Project', 'value': 'CustomerSupport'}
            ],
            clientRequestToken=f"deployment-{uuid.uuid4()}"
        )
 
        deployment_arn = response['customModelDeploymentArn']
        print(f"Deployment created: {deployment_arn}")
        return deployment_arn
 
    except Exception as e:
        print(f"Error creating deployment: {str(e)}")
        raise
```

# 온디맨드 추론용 배포 사용
<a name="use-custom-model-on-demand"></a>

사용자 지정 모델을 온디맨드 추론용으로 배포한 후에는 추론 요청을 보내 응답을 생성할 수 있습니다. `InvokeModel` 또는 `Converse` 작업을 사용할 때는 배포된 모델의 Amazon 리소스 이름(ARN)을 `modelId`로 지정합니다.

추론 요청 방법에 대한 자세한 내용은 다음 주제를 참조하세요.
+ [모델 추론을 사용하여 프롬프트 제출 및 응답 생성](https://docs.aws.amazon.com/bedrock/latest/userguide/inference.html)
+ [모델 추론 실행을 위한 사전 조건](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-prereq.html)
+ [API를 사용하여 프롬프트 제출 및 응답 생성](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-api.html)

# 사용자 지정 모델 배포 삭제
<a name="delete-custom-model-deployment"></a>

온디맨드 추론에 모델 사용을 마친 후에는 배포를 삭제할 수 있습니다. 배포를 삭제하면 해당 배포를 온디맨드 추론에 사용할 수 없지만, 기본 사용자 지정 모델 자체가 삭제되지는 않습니다.

사용자 지정 모델은 Amazon Bedrock 콘솔, AWS Command Line Interface 또는 AWS SDK를 사용하여 삭제할 수 있습니다.

**중요**  
사용자 지정 모델 배포 삭제는 되돌릴 수 없는 작업입니다. 삭제를 진행하기 전에 해당 배포가 더 이상 필요하지 않은지 반드시 확인합니다. 동일한 사용자 지정 모델을 다시 온디맨드 추론에 사용하려면, 새로운 배포를 생성해야 합니다.

**Topics**
+ [

## 사용자 지정 모델 배포 삭제(콘솔)
](#delete-deployment-console)
+ [

## 사용자 지정 모델 배포 삭제(AWS Command Line Interface)
](#delete-deployment-cli)
+ [

## 사용자 지정 모델 배포 삭제(AWS SDK)
](#delete-deployment-sdk)

## 사용자 지정 모델 배포 삭제(콘솔)
<a name="delete-deployment-console"></a>

**사용자 지정 모델 배포를 삭제하려면 다음 단계를 수행합니다.**

1. 탐색 창에서 **추론 및 평가** 아래의 **온디맨드 사용자 지정 모델**을 선택합니다.

1. 삭제하려는 사용자 지정 모델 배포를 선택합니다.

1. **삭제**를 선택합니다.

1. 확인 대화 상자에서 삭제를 확인하기 위해 배포 이름을 입력합니다.

1. [**삭제**]를 선택하여 확인합니다.

삭제가 진행되는 동안 배포 상태가 `Deleting`로 변경됩니다. 삭제가 완료되면 해당 배포는 목록에서 제거됩니다.

## 사용자 지정 모델 배포 삭제(AWS Command Line Interface)
<a name="delete-deployment-cli"></a>

AWS Command Line Interface를 사용하여 사용자 지정 모델 배포를 삭제하려면, `delete-custom-model-deployment` 명령어와 배포 식별자를 사용합니다.

```
aws bedrock delete-custom-model-deployment \
--custom-model-deployment-identifier "deployment-arn-or-name" \
--region region
```

## 사용자 지정 모델 배포 삭제(AWS SDK)
<a name="delete-deployment-sdk"></a>

프로그래밍 방식으로 사용자 지정 모델 배포를 삭제하려면, 배포의 Amazon 리소스 이름(ARN) 또는 이름을 사용하여 [DeleteCustomModelDeployment](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_DeleteCustomModelDeployment.html) API 작업을 호출합니다. 다음 코드는 Python용 SDK(Boto3)를 사용하여 사용자 지정 모델 배포를 삭제하는 방법을 보여줍니다.

```
def delete_custom_model_deployment(bedrock_client):
    """Delete a custom model deployment
 
    Args:
        bedrock_client: A boto3 Bedrock client for making API calls
 
    Returns:
        dict: The response from the delete operation
 
    Raises:
        Exception: If there is an error deleting the deployment
    """
 
    try:
        response = bedrock_client.delete_custom_model_deployment(
            customModelDeploymentIdentifier="Deployment identifier"
        )
 
        print(f"Deployment deletion initiated")
        return response
 
    except Exception as e:
        print(f"Error deleting deployment: {str(e)}")
        raise
```

## 사용자 지정 모델에 대한 온디맨드 추론
<a name="custom-fine-tune-odi"></a>

온디맨드(OD) 추론을 사용하면, 프로비저닝된 처리량 엔드포인트를 유지하지 않고도 사용자 지정 Amazon Nova 모델에서 추론을 실행할 수 있습니다. 이를 통해 비용을 최적화하고 효율적으로 확장할 수 있습니다. 온디맨드 추론 사용 시 입력 및 출력 토큰 수를 기준으로 사용량에 따라 요금이 청구됩니다.

### 호환성 요구 사항
<a name="custom-fine-tune-odi-compatibility"></a>

다음과 같은 호환성 요구 사항이 적용됩니다.
+ Amazon Nova Pro, Lite, Micro 사용자 지정 이해 모델에서 OD 추론을 지원합니다. Nova 사용자 지정 콘텐츠 생성 모델에서는 OD 추론을 지원하지 않습니다.
+ 2025년 7월 16일 이후에 학습된 Amazon Nova 사용자 지정 이해 모델에서만 OD 추론을 지원합니다. 2025년 7월 16일 이전에 학습된 사용자 지정 모델은 OD 추론과 호환되지 않습니다.
+ Amazon Bedrock 사용자 지정: Amazon Bedrock 사용자 지정을 사용해 만든 모델과 Amazon Bedrock을 사용해 교사 모델로부터 증류한 학생 모델에서 OD 추론을 지원합니다.
+ SageMaker AI 사용자 지정: SageMaker AI에서 사용자 지정한 모델 중 Amazon Bedrock에서 호스팅되는 파라미터 효율적 미세 조정(PEFT) 모델에서만 OD 추론을 지원합니다. 여기에는 직접 선호 최적화 \$1 PEFT 모델이 포함됩니다. 전체 순위 미세 조정 모델에서는 OD 추론을 지원하지 않습니다.

### 모델 훈련 및 추론
<a name="custom-fine-tune-odi-training"></a>

2025년 7월 16일 이후 Amazon Bedrock 또는 SageMaker AI에서 PEFT를 사용해 새로운 Amazon Nova Pro, Lite, 또는 Micro 모델을 학습하면, 해당 모델은 프로비저닝된 추론 옵션과 온디맨드 추론 옵션 모두와 자동으로 호환됩니다. 모델 배포 시 원하는 추론 방식을 선택할 수 있습니다.

2025년 7월 16일 이후 학습한 모델에서 OD 추론을 사용하는 방법:

1. [Amazon Bedrock 사용자 지정 API](https://docs.aws.amazon.com/nova/latest/userguide/customize-fine-tune-bedrock.html) 또는 [SageMaker AI 사용자 지정 API](https://docs.aws.amazon.com/nova/latest/userguide/custom-fine-tune-models-sagemaker-tj.html)를 사용해 새로운 미세 조정 작업을 생성합니다.

1. [CreateCustomModel API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateCustomModel.html)를 사용해 새로 학습한 모델을 Amazon Bedrock에 배포합니다.

1. CustomModelDeployment API를 사용해 온디맨드 추론을 위한 배포를 수행합니다.

### 속도 제한
<a name="custom-fine-tune-odi-limits"></a>

온디맨드 추론 요청에는 다음과 같은 분당 요청 수(RPM) 및 분당 토큰 수(TPM) 제한이 적용됩니다.


| Base Model for Custom Model | RPM per Custom Model Deployment | TPM per Custom Model Deployment | 
| --- |--- |--- |
| Nova 2 Lite | 2,000 | 4,000,000 | 

Amazon Nova의 가용 할당량에 대한 자세한 내용은 [Amazon Nova 할당량](quotas.md) 섹션을 참조하세요.

### Latency
<a name="custom-fine-tune-odi-latency"></a>

기본 모델 호출과 어댑터 간에는 엔드 투 엔드 지연 시간 차이, 즉 첫 토큰 생성까지 걸리는 시간(TTFT)이 약 20\$155% 발생할 수 있습니다. 정확한 지연 시간 값은 모델 크기에 따라 달라지며, 업계 표준에 부합합니다.