

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

# 다중 모델 엔드포인트 배포를 위한 Auto Scaling 정책 설정
<a name="multi-model-endpoints-autoscaling"></a>

SageMaker AI 다중 모델 엔드포인트는 모델 복제본을 관리하는 오토 스케일링을 완벽하게 지원하여 트래픽 패턴을 기반으로 모델의 확장성을 보장합니다. [다중 모델 엔드포인트 배포를 위한 인스턴스 권장 사항](multi-model-endpoint-instance.md)을 기반으로 다중 모델 엔드포인트와 인스턴스의 크기를 구성하고 엔드포인트에 대해 Auto Scaling도 설정하는 것이 좋습니다. Auto Scaling 이벤트를 트리거하는 데 사용되는 호출 속도는 엔드포인트에서 지원되는 전체 모델 집합에서 집계한 예측 집합에 기반합니다. 엔드포인트 오토 스케일링 설정에 대한 추가 세부 사항은 [Automatically Scale Amazon SageMaker AI Models](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html)를 참조하세요.

CPU 및 GPU 지원 다중 모델 엔드포인트 모두에서 미리 정의된 지표와 사용자 지정 지표를 사용하여 Auto Scaling 정책을 설정할 수 있습니다.

**참고**  
SageMaker AI 다중 모델 엔드포인트 지표는 세부 수준(1분)으로 제공됩니다.

## 크기 조정 정책 정의
<a name="multi-model-endpoints-autoscaling-define"></a>

조정 정책에 대한 지표 및 대상 값을 지정하려면 대상 추적 조정 정책을 구성할 수 있습니다. 사전 정의된 지표 또는 사용자 정의 지표를 사용할 수 있습니다.

스케일링 정책 구성은 JSON 블록으로 표시됩니다. 텍스트 파일에 JSON 블록으로 스케일링 정책 구성을 저장합니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 해당 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 `[TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)`을 참조하세요.**

대상 추적 스케일링 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.

### 사전 정의된 지표 사용
<a name="multi-model-endpoints-autoscaling-predefined"></a>

변형에 대한 대상 추적 스케일링 정책을 신속하게 정의하려면 `SageMakerVariantInvocationsPerInstance` 사전 정의된 지표를 사용합니다. `SageMakerVariantInvocationsPerInstance`는 변형에 대한 각 인스턴스가 호출되는 분당 평균 횟수입니다. 이 지표를 사용하는 것이 좋습니다.

스케일링 정책에서 미리 정의된 지표를 사용하려면 정책을 위한 대상 추적 구성을 생성합니다. 대상 추적 구성에서 사전 정의된 지표에 대해 `PredefinedMetricSpecification`을, 지표의 대상 값에 대해 `TargetValue`를 포함시켜야 합니다.

다음 예제는 변환의 대상 추적 조정을 위한 일반적인 정책 구성입니다. 이 구성에서 사전 정의된 지표인 `SageMakerVariantInvocationsPerInstance`를 사용하여 각 인스턴스의 `InvocationsPerInstance` 지표가 `70`이 되도록 변환 인스턴스의 수를 조정합니다.

```
{"TargetValue": 70.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "InvocationsPerInstance"
    }
}
```

**참고**  
다중 모델 엔드포인트를 사용하는 동안 `InvocationsPerInstance`를 사용하는 것이 좋습니다. 이 지표의 `TargetValue`는 애플리케이션의 지연 시간 요구 사항에 따라 달라집니다. 또한 엔드포인트의 로드 테스트를 수행하여 적절한 조정 파라미터 값을 설정하는 것이 좋습니다. 로드 테스트 및 엔드포인트의 오토 스케일링 설정에 대해 자세히 알아보려면 [Configuring autoscaling inference endpoints in Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/configuring-autoscaling-inference-endpoints-in-amazon-sagemaker/) 블로그를 참조하세요.

### 사용자 지정 지표 사용
<a name="multi-model-endpoints-autoscaling-custom"></a>

사용자 지정 요구 사항을 충족하는 대상 추적 스케일링 정책을 정의해야 하는 경우 사용자 지정 지표를 정의합니다. 스케일링에 따라 변경되는 모든 프로덕션 변형 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다.

모든 SageMaker AI 지표를 대상 추적에 사용할 수 있는 것은 아닙니다. 지표는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. 변환 인스턴스 수에 따라 역으로 지표 값이 증가하거나 줄어들어야 합니다. 다시 말해 인스턴스의 수가 증가하면 지표의 값은 감소해야 합니다.

**중요**  
프로덕션에서 오토 스케일링을 배포하기 전에 사용자 지표를 사용하여 오토 스케일링을 테스트해야 합니다.

#### CPU 지원 다중 모델 엔드포인트에 대한 사용자 지정 지표 예제
<a name="multi-model-endpoints-autoscaling-custom-cpu"></a>

다음 예제는 스케일링 정책의 대상 추적 구성입니다. 이 구성에서 `my-model`이라는 모델에 대해 `CPUUtilization`의 사용자 지정 지표는 모든 인스턴스에 걸쳐 50%의 평균 CPU 사용률을 기반으로 엔드포인트에 대한 인스턴스 수를 조정합니다.

```
{"TargetValue": 50,
    "CustomizedMetricSpecification":
    {"MetricName": "CPUUtilization",
        "Namespace": "/aws/sagemaker/Endpoints",
        "Dimensions": [
            {"Name": "EndpointName", "Value": "my-endpoint" },
            {"Name": "ModelName","Value": "my-model"}
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

#### GPU 지원 다중 모델 엔드포인트에 대한 사용자 지정 지표 예제
<a name="multi-model-endpoints-autoscaling-custom-gpu"></a>

다음 예제는 스케일링 정책의 대상 추적 구성입니다. 이 구성에서 `my-model`이라는 모델의 경우 `GPUUtilization`의 사용자 지정 지표가 모든 인스턴스에 걸쳐 50%의 평균 GPU 사용률을 기준으로 엔드포인트의 인스턴스 수를 조정합니다.

```
{"TargetValue": 50,
    "CustomizedMetricSpecification":
    {"MetricName": "GPUUtilization",
        "Namespace": "/aws/sagemaker/Endpoints",
        "Dimensions": [
            {"Name": "EndpointName", "Value": "my-endpoint" },
            {"Name": "ModelName","Value": "my-model"}
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

## 휴지 기간 추가
<a name="multi-model-endpoints-autoscaling-cooldown"></a>

엔드포인트 스케일 아웃을 위한 휴지 기간을 추가하려면 `ScaleOutCooldown`에 대한 값(초)을 지정합니다. 이와 유사하게 모델 스케일 인을 위한 휴지 기간을 추가하려면 `ScaleInCooldown`에 대한 값(초)을 추가합니다. `ScaleInCooldown` 및 `ScaleOutCooldown`에 대한 자세한 정보는 *Application Auto Scaling API 참조*의 `[TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)`을 참조하세요.

다음은 조정 정책에 대한 대상 추적 구성의 예제입니다. 이 구성에서는 `SageMakerVariantInvocationsPerInstance` 사전 정의 지표를 사용해 해당 변환의 모든 인스턴스에서 평균 `70`을 기준으로 조정을 수정합니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.

```
{"TargetValue": 70.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```