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á.
Defina políticas de ajuste de escala automático para implantações de endpoints multimodelo
SageMaker Os endpoints multimodelo de IA oferecem suporte total ao escalonamento automático, que gerencia réplicas de modelos para garantir que os modelos sejam dimensionados com base nos padrões de tráfego. Recomendamos que você configure seu endpoint multimodelo e o tamanho de suas instâncias com base em Recomendações de instâncias para implantações de endpoint multimodelo e também configure o ajuste de escala automático baseada em instâncias para o seu endpoint. As taxas de invocação utilizadas para acionar um evento de ajuste de escala automático são baseadas no conjunto agregado de predições em todo o conjunto de modelos servidos pelo endpoint. Para obter detalhes adicionais sobre a configuração do escalonamento automático de endpoints, consulte Dimensionar automaticamente os modelos de SageMaker IA da Amazon.
Você pode configurar políticas de ajuste de escala automático com métricas predefinidas e personalizadas em endpoints multimodelo com compatibilidade com CPU e GPU.
nota
SageMaker As métricas de endpoint multimodelo de IA estão disponíveis com granularidade de um minuto.
Definir uma política de escalabilidade
Para especificar as métricas e os valores de destino de uma política de escalabilidade, você pode configurar uma política de escalabilidade de rastreamento de destino. É possível usar uma métrica predefinida ou personalizada.
A configuração da política de escalabilidade é representada por um bloco JSON. A configuração é salva como um bloco JSON em um arquivo de texto. Você usa esse arquivo de texto ao invocar a AWS CLI ou a API Application Auto Scaling. Para ter mais informações sobre a sintaxe de configuração de política, consulte TargetTrackingScalingPolicyConfiguration
na Referência da API do Application Auto Scaling.
As seguintes opções estão disponíveis para definir uma configuração de política de ajuste de escala de rastreamento de destino:
Usar uma métrica predefinida
Para definir rapidamente uma política de escalabilidade de rastreamento de destino para uma variante, use a métrica predefinida SageMakerVariantInvocationsPerInstance
. SageMakerVariantInvocationsPerInstance
é o número médio de vezes por minuto que cada instância de uma variante é chamada. O uso dessa métrica é altamente recomendável.
Para usar uma métrica predefinida em uma política de escalabilidade, crie uma configuração de rastreamento de destino para a sua política. A configuração rastreamento de destino deve incluir uma PredefinedMetricSpecification
para a métrica predefinida e um TargetValue
para o valor de destino da métrica.
O exemplo a seguir descreve uma típica configuração de política de escalabilidade de rastreamento de destino para uma variante. Nesta configuração, usamos a métrica predefinida SageMakerVariantInvocationsPerInstance
para ajustar o número de instâncias de variante de modo que cada instância tenha uma métrica InvocationsPerInstance
de 70
.
{"TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "InvocationsPerInstance" } }
nota
Recomendamos que você use InvocationsPerInstance
ao usar endpoints multimodelo. O TargetValue
dessa métrica depende dos requisitos de latência da sua aplicação. Também recomendamos que você realize testes de carga em seus endpoints para configurar valores adequados para os parâmetros de escabilidade. Para saber mais sobre o teste de carga e a configuração do escalonamento automático para seus endpoints, consulte o blog Como configurar endpoints de inferência de escalonamento automático
Usar uma métrica personalizada
Caso precise definir uma política de escalabilidade de rastreamento de destino que atenda às suas exigências específicas, defina uma métrica personalizada. Você pode definir uma métrica personalizada com base em qualquer métrica de variante de produção que mude em proporção de escalabilidade.
Nem todas as métricas de SageMaker IA funcionam para o rastreamento de alvos. A métrica deve ser de utilização válida e descrever o quão ocupada uma instância está. O valor da métrica deve aumentar ou diminuir em proporção inversa ao número das instâncias de variante. Ou seja, o valor da métrica deve diminuir quando o número de instâncias aumenta.
Importante
Antes de colocar o ajuste de escala automático em produção, você deve testá-lo com a métrica personalizada.
Exemplo de métrica personalizada para um endpoint multimodelo com compatibilidade com CPU
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, para um modelo chamado my-model
, uma métrica personalizada de CPUUtilization
ajusta a contagem de instâncias no endpoint com base em uma utilização média da CPU de 50% em todas as instâncias.
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "CPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "ModelName","Value": "my-model"} ], "Statistic": "Average", "Unit": "Percent" } }
Exemplo de métrica personalizada para um endpoint multimodelo com compatibilidade com GPU
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, para um modelo chamado my-model
, uma métrica personalizada de GPUUtilization
ajusta a contagem de instâncias no endpoint com base em uma utilização média da GPU de 50% em todas as instâncias.
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "GPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "ModelName","Value": "my-model"} ], "Statistic": "Average", "Unit": "Percent" } }
Adicionar um período de espera
Para adicionar um período de espera para aumentar a escala horizontalmente do seu endpoint, especifique um valor, em segundos, para ScaleOutCooldown
. Da mesma forma, para adicionar um período de espera para a redução de escala em seu modelo, insira um valor, em segundos, para ScaleInCooldown
. Para ter mais informações sobre ScaleInCooldown
e ScaleOutCooldown
, consulte TargetTrackingScalingPolicyConfiguration
na Referência da API do Application Auto Scaling.
O exemplo a seguir é um exemplo de configuração de rastreamento de destino para uma política de escalabilidade. Nesta configuração, a métrica predefinida SageMakerVariantInvocationsPerInstance
é usada para ajustar a escalabilidade com base em uma média de 70
em todas as instâncias dessa variante. A configuração fornece um período de espera de 10 minutos para reduzir a escala horizontalmente, e um período de espera de 5 minutos para aumentar a escala horizontalmente.
{"TargetValue": 70.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }