As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Obter recomendações de políticas de dimensionamento automático
Com o Amazon SageMaker Inference Recommender, você pode obter recomendações para políticas de escalonamento automático para seu SageMaker endpoint com base no padrão de tráfego previsto. Se você já concluiu um trabalho de recomendação de inferência, pode fornecer os detalhes do trabalho para obter uma recomendação para uma política de dimensionamento automático que pode ser aplicada ao seu endpoint.
O recomendador de inferência compara valores diferentes para cada métrica para determinar a configuração de dimensionamento automático ideal para seu endpoint. A recomendação de dimensionamento automático retorna uma política de escalonamento automático recomendada para cada métrica definida em seu trabalho de recomendação de inferência. Você pode salvar as políticas e aplicá-las ao seu endpoint com o. PutScalingPolicyAPI
Para começar, revise os pré-requisitos a seguir.
Pré-requisitos
Antes de começar, você deve ter concluído um trabalho de recomendação de inferência bem-sucedido. Na seção a seguir, você pode fornecer uma ID de recomendação de inferência ou o nome de um SageMaker endpoint que foi comparado durante um trabalho de recomendação de inferência.
Para recuperar o ID do trabalho de recomendação ou o nome do endpoint, você pode visualizar os detalhes do trabalho de recomendação de inferência no SageMaker console ou usar os EndpointName
campos RecommendationId
ou retornados pelo. DescribeInferenceRecommendationsJobAPI
Criar uma recomendação de configuração de dimensionamento automático
Para criar uma política de recomendação de dimensionamento automático, você pode usar o AWS SDK for Python (Boto3).
O exemplo a seguir mostra os campos do GetScalingConfigurationRecommendationAPI. Use os campos a seguir ao chamar oAPI:
-
InferenceRecommendationsJobName
- Insira o nome do seu trabalho de recomendação de inferência. -
RecommendationId
- Insira o ID de uma recomendação de inferência de um trabalho de recomendação. Isso é opcional se você tiver especificado o campoEndpointName
. -
EndpointName
- Insira o nome de um endpoint que foi comparado durante um trabalho de recomendação de inferência. Isso é opcional se você tiver especificado o campoRecommendationId
. -
TargetCpuUtilizationPerCore
- (Opcional) Insira um valor percentual de quanta utilização você deseja que uma instância em seu endpoint use antes do dimensionamento automático. O valor padrão se você não especificar este campo é 50%. -
ScalingPolicyObjective
- (Opcional) Um objeto em que você especifica seu padrão de tráfego previsto.-
MinInvocationsPerMinute
- (Opcional) O número mínimo de solicitações esperadas para seu endpoint por minuto. -
MaxInvocationsPerMinute
- (Opcional) O número máximo de solicitações esperadas para seu endpoint por minuto.
-
{ "InferenceRecommendationsJobName": "
string
", // Required "RecommendationId": "string
", // Optional, provide one of RecommendationId or EndpointName "EndpointName": "string
", // Optional, provide one of RecommendationId or EndpointName "TargetCpuUtilizationPerCore":number
, // Optional "ScalingPolicyObjective": { // Optional "MinInvocationsPerMinute":number
, "MaxInvocationsPerMinute":number
} }
Após enviar sua solicitação, você receberá uma resposta com políticas de escalonamento automático definidas para cada métrica. Consulte a próxima seção para obter informações sobre como interpretar a resposta.
Analisar os resultados da recomendação de configuração de dimensionamento automático
O exemplo a seguir mostra a resposta do GetScalingConfigurationRecommendationAPI:
{ "InferenceRecommendationsJobName": "string", "RecommendationId": "string", // One of RecommendationId or EndpointName is shown "EndpointName": "string", "TargetUtilizationPercentage": Integer, "ScalingPolicyObjective": { "MinInvocationsPerMinute": Integer, "MaxInvocationsPerMinute": Integer }, "Metric": { "ModelLatency": Integer, "InvocationsPerInstance": Integer }, "DynamicScalingConfiguration": { "MinCapacity": number, "MaxCapacity": number, "ScaleInCooldown": number, "ScaleOutCooldown": number, "ScalingPolicies": [ { "TargetTracking": { "MetricSpecification": { "Predefined" { "PredefinedMetricType": "string" }, "Customized": { "MetricName": "string", "Namespace": "string", "Statistic": "string" } }, "TargetValue": Double } } ] } }
Os campos InferenceRecommendationsJobName
, RecommendationID
, EndpointName
ou TargetCpuUtilizationPerCore
, e os campos do objeto ScalingPolicyObjective
são copiados da sua solicitação inicial.
O objeto Metric
lista as métricas que foram avaliadas em seu trabalho de recomendação de inferência, juntamente com um cálculo dos valores de cada métrica quando a utilização da instância seria igual ao valor TargetCpuUtilizationPerCore
. Isso é útil para antecipar as métricas de performance em seu endpoint quando ele aumenta e diminui a escala com a política de dimensionamento automático recomendada. Por exemplo, considere se sua utilização de instância foi de 50% em seu trabalho de recomendação de inferência e seu valor InvocationsPerInstance
foi originalmente de 4
. Se você especificar o TargetCpuUtilizationPerCore
valor como 100% em sua solicitação de recomendação de dimensionamento automático, o valor métrico InvocationsPerInstance
retornado na resposta é 2
porque você esperava alocar o dobro da utilização da instância.
O DynamicScalingConfiguration
objeto retorna os valores que você deve especificar para o TargetTrackingScalingPolicyConfigurationao chamar PutScalingPolicyAPIo. Isso inclui os valores de capacidade mínimo e máximo recomendados, os tempos de resfriamento de redução e redução recomendados e o objeto ScalingPolicies
, que contém o TargetValue
recomendado que você deve especificar para cada métrica.