기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker AI 다중 모델 엔드포인트는 모델의 복제본을 관리하여 트래픽 패턴에 따라 모델이 확장되도록 하는 자동 조정을 완벽하게 지원합니다. 다중 모델 엔드포인트 배포를 위한 인스턴스 권장 사항을 기반으로 다중 모델 엔드포인트와 인스턴스의 크기를 구성하고 엔드포인트에 대해 Auto Scaling도 설정하는 것이 좋습니다. Auto Scaling 이벤트를 트리거하는 데 사용되는 호출 속도는 엔드포인트에서 지원되는 전체 모델 집합에서 집계한 예측 집합에 기반합니다. 엔드포인트 오토 스케일링 설정에 대한 자세한 내용은 Amazon SageMaker AI 모델 자동 스케일링을 참조하세요.
CPU 및 GPU 지원 다중 모델 엔드포인트 모두에서 미리 정의된 지표와 사용자 지정 지표를 사용하여 Auto Scaling 정책을 설정할 수 있습니다.
참고
SageMaker AI 다중 모델 엔드포인트 지표는 1분 단위로 사용할 수 있습니다.
크기 조정 정책 정의
조정 정책에 대한 지표 및 대상 값을 지정하려면 대상 추적 조정 정책을 구성할 수 있습니다. 사전 정의된 지표 또는 사용자 정의 지표를 사용할 수 있습니다.
스케일링 정책 구성은 JSON 블록으로 표시됩니다. 텍스트 파일에 JSON 블록으로 스케일링 정책 구성을 저장합니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 해당 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration
을 참조하세요.
대상 추적 스케일링 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.
사전 정의된 지표 사용
변형에 대한 대상 추적 스케일링 정책을 신속하게 정의하려면 SageMakerVariantInvocationsPerInstance
사전 정의된 지표를 사용합니다. SageMakerVariantInvocationsPerInstance
는 변형에 대한 각 인스턴스가 호출되는 분당 평균 횟수입니다. 이 지표를 사용하는 것이 좋습니다.
스케일링 정책에서 미리 정의된 지표를 사용하려면 정책을 위한 대상 추적 구성을 생성합니다. 대상 추적 구성에서 사전 정의된 지표에 대해 PredefinedMetricSpecification
을, 지표의 대상 값에 대해 TargetValue
를 포함시켜야 합니다.
다음 예제는 변환의 대상 추적 조정을 위한 일반적인 정책 구성입니다. 이 구성에서 사전 정의된 지표인 SageMakerVariantInvocationsPerInstance
를 사용하여 각 인스턴스의 InvocationsPerInstance
지표가 70
이 되도록 변환 인스턴스의 수를 조정합니다.
{"TargetValue": 70.0,
"PredefinedMetricSpecification":
{
"PredefinedMetricType": "InvocationsPerInstance"
}
}
참고
다중 모델 엔드포인트를 사용하는 동안 InvocationsPerInstance
를 사용하는 것이 좋습니다. 이 지표의 TargetValue
는 애플리케이션의 지연 시간 요구 사항에 따라 달라집니다. 또한 엔드포인트의 로드 테스트를 수행하여 적절한 조정 파라미터 값을 설정하는 것이 좋습니다. 엔드포인트에 대한 로드 테스트 및 오토 스케일링 설정에 대한 자세한 내용은 Amazon SageMaker AI에서 오토 스케일링 추론 엔드포인트 구성
사용자 지정 지표 사용
사용자 지정 요구 사항을 충족하는 대상 추적 스케일링 정책을 정의해야 하는 경우 사용자 지정 지표를 정의합니다. 스케일링에 따라 변경되는 모든 프로덕션 변형 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다.
모든 SageMaker AI 지표가 대상 추적에 사용되는 것은 아닙니다. 지표는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. 변환 인스턴스 수에 따라 역으로 지표 값이 증가하거나 줄어들어야 합니다. 다시 말해 인스턴스의 수가 증가하면 지표의 값은 감소해야 합니다.
중요
프로덕션에서 오토 스케일링을 배포하기 전에 사용자 지표를 사용하여 오토 스케일링을 테스트해야 합니다.
CPU 지원 다중 모델 엔드포인트에 대한 사용자 지정 지표 예제
다음 예제는 스케일링 정책의 대상 추적 구성입니다. 이 구성에서 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 지원 다중 모델 엔드포인트에 대한 사용자 지정 지표 예제
다음 예제는 스케일링 정책의 대상 추적 구성입니다. 이 구성에서 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"
}
}
휴지 기간 추가
엔드포인트 스케일 아웃을 위한 휴지 기간을 추가하려면 ScaleOutCooldown
에 대한 값(초)을 지정합니다. 이와 유사하게 모델 스케일 인을 위한 휴지 기간을 추가하려면 ScaleInCooldown
에 대한 값(초)을 추가합니다. ScaleInCooldown
및 ScaleOutCooldown
에 대한 자세한 정보는 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration
을 참조하세요.
다음은 조정 정책에 대한 대상 추적 구성의 예제입니다. 이 구성에서는 SageMakerVariantInvocationsPerInstance
사전 정의 지표를 사용해 해당 변환의 모든 인스턴스에서 평균 70
을 기준으로 조정을 수정합니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.
{"TargetValue": 70.0,
"PredefinedMetricSpecification":
{"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
},
"ScaleInCooldown": 600,
"ScaleOutCooldown": 300
}