View a markdown version of this page

Capacidade de serviço com escalonamento automático - SageMaker IA da Amazon

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

Capacidade de serviço com escalonamento automático

A capacidade de atendimento aumenta em dois níveis HyperPod. O Ray Serve dimensiona as réplicas dentro do cluster para corresponder à carga da solicitação, e o Karpenter gerenciado dimensiona os nós do cluster para armazenar essas réplicas. Os dois funcionam juntos: o escalonamento automático de réplicas reage primeiro e o escalonamento automático de nós aumenta a capacidade quando os nós existentes se esgotam.

Escalonamento automático de réplicas do Ray Server

O Ray Serve ajusta o número de réplicas para uma implantação com base na carga da solicitação. Defina uma configuração de escalonamento automático na implantação em vez de uma contagem fixa de réplicas:

deployments: - name: Model autoscaling_config: min_replicas: 1 max_replicas: 8 target_ongoing_requests: 5

Para que o escalonamento automático de réplicas adicione e remova pods de trabalho, o autoescalador Ray deve estar ativado para o cluster. enableInTreeAutoscaling: trueDefinido na RayCluster especificação ou no rayClusterConfig de umRayService:

spec: enableInTreeAutoscaling: true

Sem ela, a implantação autoscaling_config altera a contagem de réplicas alvo, mas KubeRay não cria os pods de trabalho para atendê-la.

O escalonamento automático de réplicas permanece dentro da capacidade atual do nó do cluster. Quando o Ray Serve precisa de mais réplicas do que os nós podem conter, os pods permanecem pendentes até que um nó esteja disponível.

Escalonamento automático de nós com Karpenter gerenciado

O Managed Karpenter on HyperPod adiciona nós quando os pods Ray estão pendentes e os remove quando estão ociosos, portanto, a capacidade de atendimento segue a demanda sem um pool de nós fixo. As instâncias spot são compatíveis com a capacidade dos nós, o que reduz o custo do serviço tolerante a interrupções. Para a instalação e configuração, consulteEscalonamento automático no EKS SageMaker HyperPod.

Uso dos dois juntos

Defina o escalonamento automático de réplicas na implantação e o escalonamento automático de nós no cluster. Os dois níveis trabalham juntos em uma cadeia que responde ao aumento da carga de solicitações:

  1. O Ray Serve detecta aumento de carga. O autoescalador observa que as solicitações contínuas excedem target_ongoing_requests e decide adicionar outra réplica.

  2. KubeRay cria um novo pod de trabalho. O Ray Serve sinaliza KubeRay para escalar o grupo de trabalhadores e KubeRay cria um pod para a nova réplica.

  3. O pod permanece pendente se não houver capacidade. Se os nós existentes não puderem caber no novo pod (GPU ou memória insuficientes), o pod entrará no Pending estado.

  4. O Managed Karpenter provisiona um nó. HyperPod O Karpenter gerenciado detecta o pod pendente, seleciona um tipo de instância apropriado e inicia um novo nó.

  5. O Node é ativado e o pod começa a funcionar. Quando o node está pronto e se junta ao cluster, o Kubernetes programa o pod pendente nele. A nova réplica carrega o modelo e começa a atender às solicitações.

Na redução, o processo se inverte: o Ray Serve remove as réplicas ociosas, KubeRay exclui os pods de trabalho e o Karpenter gerenciado encerra os nós que não têm pods em execução após a janela de consolidação.