Testes de carga da configuração de ajuste de escala automático - Amazon SageMaker

Testes de carga da configuração de ajuste de escala automático

Execute testes de carga para escolher uma configuração de ajuste de escala que funcione da maneira desejada.

As seguintes diretrizes para testes de carga presumem que você está utilizando uma política de ajuste de escala automática que utiliza a métrica de destino predefinida SageMakerVariantInvocationsPerInstance:

Determinar as características de desempenho

Execute testes de carga para encontrar o pico InvocationsPerInstance com o qual a variante de produção do modelo pode lidar, bem como a latência das solicitações à medida que a simultaneidade aumenta.

Esse valor depende do tipo de instância escolhido, das cargas úteis que os clientes do modelo normalmente enviam, e do desempenho de qualquer dependência externa que o modelo tem.

Como encontrar o pico de solicitações por segundo (RPS) com o qual a variante de produção do modelo pode lidar e a latência das solicitações
  1. Configure um endpoint com o modelo usando uma única instância. Para obter informações sobre como configurar um endpoint, consulte Implantar o modelo nos serviços de hospedagem do SageMaker.

  2. Use uma ferramenta de teste de carregamento para gerar um número crescente de solicitações paralelas e monitorar o RPS e a latência do modelo no resultado gerado pela ferramenta.

    nota

    Você também pode monitorar solicitações por minuto em vez do RPS. Nesse caso, na equação, não multiplique por 60 para calcular o SageMakerVariantInvocationsPerInstance mostrado abaixo.

    Quando a latência do modelo aumenta ou a proporção de transações bem-sucedidas diminui, trata-se do pico RPS que o modelo pode processar.

Calcular a carga do destino

Depois de encontrar as características de desempenho da variante, você pode determinar o RPS máximo a ser enviado para uma instância. O limite usado para a escalabilidade deve ser menor que esse valor máximo. Use a seguinte equação em combinação com os testes de carga para determinar o valor correto da métrica de destino SageMakerVariantInvocationsPerInstance na configuração de ajuste de escala automático:

SageMakerVariantInvocationsPerInstance = (MAX_RPS * SAFETY_FACTOR) * 60

Onde MAX_RPS é o RPS máximo determinado anteriormente, e SAFETY_FACTOR é o fator de segurança escolhido para evitar que seus clientes excedam esse RPS máximo. Multiplique por 60 para converter de RPS para invocações por minuto para corresponder com a métrica CloudWatch por minuto que o SageMaker usa para implementar o ajuste de escala automático (a conversão é desnecessária caso você tenha medido as solicitações por minuto, não por segundo).

nota

No SageMaker, é recomendável começar a testar com um SAFETY_FACTOR de 0,5. Teste a sua configuração de ajuste de escala para verificar se ela funciona com o seu modelo da maneira esperada, no aumento e na diminuição do tráfego de clientes no seu endpoint.