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á.
Reduzindo a escala de um cluster SageMaker HyperPod
Você pode reduzir o número de instâncias em execução no seu SageMaker HyperPod cluster da Amazon. Talvez você queira reduzir a escala verticalmente de um cluster por vários motivos, como redução da utilização de recursos ou otimização de custos.
A seguinte página descreve duas abordagens principais para reduzir a escala verticalmente:
-
Reduzir a escala verticalmente em nível de grupo de instâncias: essa abordagem usa a API
UpdateCluster, com a qual você pode:-
Reduzir a escala verticalmente da contagem de instâncias para grupos de instâncias específicos de forma independente. SageMaker A IA lida com o encerramento dos nós de uma forma que atinge as novas contagens de instâncias de destino que você definiu para cada grupo. Consulte Reduzir a escala verticalmente de um grupo de instâncias.
-
Excluir completamente os grupos de instâncias do cluster. Consulte Excluir grupos de instâncias.
-
-
Reduzir a escala verticalmente em nível de instância: essa abordagem usa a API
BatchDeleteClusterNodes, com a qual você pode especificar os nós individuais que deseja encerrar. Consulte Reduzir a escala verticalmente em nível de instância.
nota
Ao reduzir a escala verticalmente em nível de instância com BatchDeleteCusterNodes, você só pode encerrar no máximo 99 instâncias por vez. UpdateCluster permite o encerramento de qualquer número de instâncias.
Considerações importantes
-
Ao reduzir a escala verticalmente de um cluster, você deve garantir que os recursos restantes sejam suficientes para lidar com sua workload e que qualquer migração ou rebalanceamento de dados necessário seja tratado adequadamente para evitar interrupções.
-
Certifique-se de fazer backup de seus dados no Amazon S3 ou em um sistema de arquivos FSx for Lustre antes de invocar a API em um grupo de nós de trabalho. Isso pode ajudar a evitar qualquer possível perda de dados do volume raiz da instância. Para ter mais informações sobre backup, consulte Use o script de backup fornecido pelo SageMaker HyperPod.
-
Para invocar essa API em um cluster existente, primeiro você deve corrigir o cluster executando a UpdateClusterSoftwareAPI. Para ter mais informações sobre a correção de um cluster, consulte Atualizar o software da SageMaker HyperPod plataforma de um cluster.
-
A medição e o faturamento de instâncias sob demanda serão interrompidos automaticamente depois que você reduzir a escala verticalmente. Para interromper a medição de instâncias reservadas reduzidas, você deve entrar em contato com a equipe de sua AWS conta para obter suporte.
-
Você pode usar a capacidade liberada das instâncias reservadas reduzidas para escalar outro SageMaker HyperPod cluster.
Reduzir a escala verticalmente em nível de grupo de instâncias
A UpdateClusteroperação permite que você faça alterações na configuração do seu SageMaker HyperPod cluster, como reduzir o número de instâncias de um grupo de instâncias ou remover grupos de instâncias inteiros. Isso pode ser útil quando você deseja ajustar os recursos alocados ao cluster com base em alterações em sua workload, otimizar custos ou alterar o tipo de instância de um grupo de instâncias.
Reduzir a escala verticalmente de um grupo de instâncias
Use essa abordagem quando você tiver um grupo de instâncias ocioso e for seguro encerrar qualquer uma das instâncias para reduzir a escala verticalmente. Quando você envia uma UpdateCluster solicitação para reduzir a escala, escolhe HyperPod aleatoriamente as instâncias para encerramento e reduz a escala até o número especificado de nós para o grupo de instâncias.
nota
Quando você reduzir a escala verticalmente do número de instâncias em um grupo de instâncias para 0, todas as instâncias desse grupo serão encerradas. No entanto, o grupo de instâncias em si ainda existirá como parte do SageMaker HyperPod cluster. Você pode aumentar novamente a escala vertical do grupo de instâncias em um momento posterior usando a mesma configuração do grupo de instâncias.
Ou você pode optar por remover um grupo de instâncias permanentemente. Para obter mais informações, consulte Excluir grupos de instâncias.
Como reduzir a escala verticalmente com UpdateCluster
-
Siga as etapas descritas em Atualizando a configuração do SageMaker HyperPod cluster. Ao chegar à etapa 1.d, na qual você especifica o InstanceCountcampo, insira um número menor que o número atual de instâncias para reduzir o cluster.
-
Execute o AWS CLI comando update-cluster para enviar sua solicitação.
Veja a seguir um exemplo de um objeto JSON UpdateCluster. Considere o caso em que seu grupo de instâncias tem duas instâncias em execução no momento. Se você definir o InstanceCountcampo como 1, conforme mostrado no exemplo, selecionará HyperPod aleatoriamente uma das instâncias e a encerrará.
{ "ClusterName":"name-of-cluster-to-update", "InstanceGroups": [ { "InstanceGroupName":"training-instances", "InstanceType":"instance-type", "InstanceCount":1, "LifeCycleConfig": { "SourceS3Uri":"s3://amzn-s3-demo-bucket/training-script.py", "OnCreate":"s3://amzn-s3-demo-bucket/setup-script.sh"}, "ExecutionRole":"arn:aws:iam::123456789012:role/SageMakerRole", "ThreadsPerCore":number-of-threads, "OnStartDeepHealthChecks": [ "InstanceStress", "InstanceConnectivity" ] } ], "NodeRecovery":"Automatic"}
Excluir grupos de instâncias
Você pode usar a UpdateClusteroperação para remover grupos de instâncias inteiros do seu SageMaker HyperPod cluster quando eles não forem mais necessários. Isso vai além da simples redução da escala vertical, permitindo que você elimine completamente grupos de instâncias específicos da configuração do cluster.
nota
Ao remover um grupo de instâncias:
-
Todas as instâncias do grupo em questão são encerradas.
-
Toda a configuração do grupo é excluída do cluster.
-
Todas as workloads em execução nesse grupo de instâncias são interrompidas.
Como excluir grupos de instâncias com UpdateCluster
-
Ao seguir as etapas descritas abaixo em Atualizando a configuração do SageMaker HyperPod cluster:
-
Defina o parâmetro opcional
InstanceGroupsToDeleteem seuUpdateClusterJSON e transfira a lista separada por vírgula dos nomes dos grupos de instâncias que você deseja excluir. -
Ao especificar a lista
InstanceGroups, verifique se as especificações dos grupos de instâncias que você está removendo não estão mais listadas na listaInstanceGroups.
-
-
Execute o AWS CLI comando update-cluster para enviar sua solicitação.
Importante
-
Seu SageMaker HyperPod cluster deve sempre manter pelo menos um grupo de instâncias.
-
Garanta que todos os dados essenciais sejam copiados antes da remoção.
-
O processo de remoção não pode ser desfeito.
Veja a seguir um exemplo de um objeto JSON UpdateCluster. Considere o caso em que um cluster tem três grupos de instâncias no momento, um grupo training, um prototype-training e um inference-serving. Você deseja excluir o grupo prototype-training.
{ "ClusterName":"name-of-cluster-to-update", "InstanceGroups": [ { "InstanceGroupName":"training", "InstanceType":"instance-type", "InstanceCount":, "LifeCycleConfig": { "SourceS3Uri":"s3://amzn-s3-demo-bucket/training-script.py", "OnCreate":"s3://amzn-s3-demo-bucket/setup-script.sh"}, "ExecutionRole":"arn:aws:iam::123456789012:role/SageMakerRole", "ThreadsPerCore":number-of-threads, "OnStartDeepHealthChecks": [ "InstanceStress", "InstanceConnectivity" ] }, { "InstanceGroupName":"inference-serving", "InstanceType":"instance-type", "InstanceCount":2, [...] }, ], "InstanceGroupsToDelete": ["prototype-training"], "NodeRecovery":"Automatic"}
Reduzir a escala verticalmente em nível de instância
A BatchDeleteClusterNodes operação permite que você reduza um SageMaker HyperPod cluster especificando os nós individuais que você deseja encerrar. BatchDeleteClusterNodesfornece um controle mais granular para remoção direcionada de nós e otimização de clusters. Por exemplo, você pode usar BatchDeleteClusterNodes para excluir nós específicos em caso de manutenção, atualizações contínuas ou rebalanceamento geográfico de recursos.
Solicitação e reposta da API
Quando você envia uma BatchDeleteClusterNodes solicitação, SageMaker HyperPod exclui os nós por instância IDs. A API aceita uma solicitação com o nome do cluster e uma lista de nós IDs a serem excluídos.
A resposta inclui duas seções:
-
Failed: uma lista de erros do tipoBatchDeleteClusterNodesError(um por ID de instância). -
Successful: a lista de instâncias IDs foi encerrada com sucesso.
Validação e tratamento de erros
A API executa várias validações, como:
-
Verificação do formato da ID do nó (prefixo e estrutura de ID da EC2 instância da
i-Amazon). -
Verificando o tamanho da lista de nós, com um limite de 99 ou menos nós IDs em uma única
BatchDeleteClusterNodessolicitação. -
Garantir que um SageMaker HyperPod cluster válido com o nome do cluster de entrada esteja presente e que nenhuma operação em nível de cluster (atualização, atualização do sistema, correção ou exclusão) esteja em andamento.
-
Tratamento de casos em que instâncias não são encontradas, têm status inválido ou estão em uso.
Códigos de resposta da API
-
A API exibe um código de status
200para solicitações bem-sucedidas (p. ex., todos os nós de entrada tiveram êxito na validação) ou parcialmente bem-sucedidas (p. ex., alguns nós de entrada não passam na validação). -
Se todas essas validações falharem (p. ex., todos os nós de entrada não passarem na validação), a API exibirá uma resposta
400de solicitação inválida com as mensagens de erro e os códigos de erro apropriados.
Exemplo
Veja abaixo um exemplo de como reduzir a escala verticalmente de um cluster em nível da instância usando a AWS CLI:
aws sagemaker batch-delete-cluster-nodes --cluster-name"cluster-name"--node-ids'["i-111112222233333", "i-111112222233333"]'