Amazon SageMaker e Application Auto Scaling - Application Auto Scaling

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á.

Amazon SageMaker e Application Auto Scaling

Você pode escalar variantes de SageMaker endpoint, simultaneidade provisionada para endpoints sem servidor e componentes de inferência usando políticas de escalabilidade de rastreamento de metas, políticas de escalonamento de etapas e escalabilidade programada.

Use as informações a seguir para ajudá-lo a se integrar SageMaker ao Application Auto Scaling.

Criação de uma função vinculada ao serviço para o SageMaker

A função vinculada ao serviço a seguir é criada automaticamente em você Conta da AWS ao registrar SageMaker recursos como destinos escaláveis com o Application Auto Scaling. Essa função permite que o Application Auto Scaling realize as operações suportadas em sua conta. Para ter mais informações, consulte Funções vinculadas ao serviço necessárias para o Application Auto Scaling.

  • AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint

Principal de serviço primário usado pela função vinculada ao serviço

A função vinculada ao serviço na seção anterior pode ser assumida apenas pelo principal de serviço primário autorizado pelas relações de confiança definidas para a função. A função vinculada ao serviço usada pelo Application Auto Scaling concede acesso aos seguintes principais de serviço:

  • sagemaker.application-autoscaling.amazonaws.com

Registrando variantes de SageMaker endpoint como destinos escaláveis com o Application Auto Scaling

O Application Auto Scaling exige uma meta escalável antes que você possa criar políticas de escalabilidade ou ações programadas para um SageMaker modelo (variante). Um destino escalável é um recurso cuja escala pode ser aumentada ou reduzida horizontalmente pelo Application Auto Scaling. Os destinos escaláveis são identificados exclusivamente pela combinação de ID de recurso, dimensão escalável e namespace.

Se você configurar o escalonamento automático usando o SageMaker console, registrará SageMaker automaticamente uma meta escalável para você.

Se quiser configurar o escalonamento automático usando a AWS CLI ou um dos SDKs, você pode usar AWS as seguintes opções:

  • AWS CLI:

    Chame o register-scalable-targetcomando para uma variante do produto. O exemplo a seguir registra a contagem de instâncias desejada para uma variante de produto chamada my-variant, rodando em no endpoint my-endpoint, com capacidade mínima de uma instância e capacidade máxima de oito instâncias.

    aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredInstanceCount \ --resource-id endpoint/my-endpoint/variant/my-variant \ --min-capacity 1 \ --max-capacity 8

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }
  • AWS SDK:

    Chame a operação RegisterScalableTarget e forneça ResourceId, ScalableDimension, ServiceNamespace, MinCapacity e MaxCapacity como parâmetros.

Registrar a simultaneidade provisionada de endpoints sem servidor como destinos escaláveis com o Application Auto Scaling

O Application Auto Scaling também requer um destino escalável para você poder criar políticas de escalação ou ações programadas para a simultaneidade provisionada de endpoints sem servidor.

Se você configurar o escalonamento automático usando o SageMaker console, registrará SageMaker automaticamente uma meta escalável para você.

Caso contrário, use um dos seguintes métodos para registrar o destino escalável:

  • AWS CLI:

    Chame o register-scalable-targetcomando para uma variante do produto. O exemplo a seguir registra a simultaneidade provisionada de uma variante de produto denominada my-variant, em execução no endpoint my-endpoint, com capacidade mínima de 1 instância e capacidade máxima de 10 instâncias.

    aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/my-endpoint/variant/my-variant \ --min-capacity 1 \ --max-capacity 10

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }
  • AWS SDK:

    Chame a operação RegisterScalableTarget e forneça ResourceId, ScalableDimension, ServiceNamespace, MinCapacity e MaxCapacity como parâmetros.

Registrar componentes de inferência como destinos escaláveis com o Application Auto Scaling

O Application Auto Scaling também requer um destino escalável para que você possa criar políticas de escalabilidade ou ações programadas para componentes de inferência.

  • AWS CLI:

    Chame o register-scalable-targetcomando para um componente de inferência. O exemplo a seguir inscreve o número desejado de cópias para um componente de inferência chamado my-inference-component, com uma capacidade mínima de 0 cópia e uma capacidade máxima de 3 cópias.

    aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:inference-component:DesiredCopyCount \ --resource-id inference-component/my-inference-component \ --min-capacity 0 \ --max-capacity 3

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }
  • AWS SDK:

    Chame a operação RegisterScalableTarget e forneça ResourceId, ScalableDimension, ServiceNamespace, MinCapacity e MaxCapacity como parâmetros.

Se você está apenas começando a usar o Application Auto Scaling, você pode encontrar mais informações úteis sobre a escalabilidade de seus SageMaker recursos no Amazon SageMaker Developer Guide:

nota

Em 2023, SageMaker introduziu novos recursos de inferência baseados em endpoints de inferência em tempo real. Você cria um SageMaker endpoint com uma configuração de endpoint que define o tipo de instância e a contagem inicial de instâncias para o endpoint. Em seguida, crie um componente de inferência, que é um objeto de SageMaker hospedagem que você pode usar para implantar um modelo em um endpoint. Para obter informações sobre escalabilidade de componentes de inferência, consulte A Amazon SageMaker adiciona novos recursos de inferência para ajudar a reduzir os custos e a latência de implantação do modelo básico e reduzir os custos de implantação do modelo em 50%, em média, usando os recursos mais recentes da Amazon SageMaker no blog. AWS