Simplificação da Computação Distribuída para IA
O treinamento e implementação de grandes modelos de inteligência artificial exigem capacidades avançadas de computação distribuída. No entanto, gerenciar esses sistemas complexos não deveria ser uma tarefa complicada para cientistas de dados e profissionais de aprendizado de máquina.
A Amazon SageMaker HyperPod com orquestração Amazon Elastic Kubernetes Service (Amazon EKS) oferece uma abordagem diferente. O pacote de ferramentas — composto por interface de linha de comando (CLI) e kit de desenvolvimento de software (SDK) — permite que usuários gerenciem infraestrutura de cluster e acessem capacidades de treinamento e inferência distribuídos de forma mais intuitiva, abstraindo a complexidade subjacente dos sistemas distribuídos.
Arquitetura em Camadas para Simplicidade
A CLI e o SDK seguem uma arquitetura multi-camada compartilhada. Ambas servem como pontos de entrada para o usuário e estão construídas sobre componentes comuns, proporcionando comportamento consistente nas diferentes interfaces.
Para automação de infraestrutura, o SDK orquestra o gerenciamento do ciclo de vida do cluster através de uma combinação de provisionamento de stacks AWS CloudFormation e interações diretas com APIs da AWS. Cargas de trabalho de treinamento e inferência, além de ambientes de desenvolvimento integrados (IDEs), são expressas como Definições de Recurso Personalizado do Kubernetes (CRDs), que o SDK gerencia através da API do Kubernetes.
Instalação e Preparação
Pré-requisitos
Para utilizar as ferramentas, você precisará de:
- Uma conta da AWS com acesso a SageMaker HyperPod, Amazon Simple Storage Service (Amazon S3) e Amazon FSx for Lustre
- Cota de serviço suficiente para criar o cluster HyperPod e grupos de instâncias
- Um ambiente local (máquina local ou ambiente de computação baseado em nuvem) para executar comandos da CLI HyperPod, configurado com:
- Sistema operacional baseado em Linux ou MacOS
- Python 3.8 ou superior instalado
- AWS Command Line Interface (AWS CLI) configurada com credenciais apropriadas
Instalação da CLI HyperPod
A instalação é direta. Execute o seguinte comando a partir do seu ambiente local:
pip install sagemaker-hyperpod
Este comando configura as ferramentas necessárias para interagir com clusters SageMaker HyperPod. Para instalações existentes, certifique-se de que tem a versão mais recente do pacote (SageMaker HyperPod 3.5.0 ou posterior).
Para verificar se a CLI foi instalada corretamente, execute:
hyp
A saída exibirá todas as opções e comandos disponíveis, incluindo instruções de uso. A CLI oferece uma gama completa de comandos para gerenciar o ciclo de vida do HyperPod — desde criação de clusters até criação de endpoints, execução de jobs, monitoramento e exclusão.
Para informações detalhadas sobre uso da CLI e parâmetros disponíveis, consulte a documentação de referência da CLI.
Criação e Gerenciamento de Clusters
Inicializando uma Nova Configuração de Cluster
A AWS oferece dois caminhos para criar clusters HyperPod: através do console de gerenciamento ou da CLI. O console fornece a experiência mais guiada, enquanto a CLI é ideal para usuários que preferem automação programática.
Ambas as abordagens utilizam o mesmo modelo CloudFormation subjacente, disponível no repositório GitHub SageMaker HyperPod cluster setup. Para um passo a passo baseado em console, consulte o post sobre a nova experiência de criação de cluster.
A criação via CLI segue um fluxo baseado em configuração. Primeiro, inicialize uma nova configuração de cluster:
hyp init cluster-stack
Isso cria um arquivo config.yaml onde você especifica a configuração do cluster, além de um arquivo README.md com informações sobre o fluxo de trabalho.
Configuração do Cluster
O arquivo config.yaml contém variáveis cruciais como:
resource_name_prefix: hyp-eks-stack
hyperpod_cluster_name: hyperpod-cluster
kubernetes_version: 1.31
O parâmetro resource_name_prefix serve como identificador principal dos recursos criados. Cada implantação deve usar um prefixo único para evitar conflitos.
Você pode editar a configuração diretamente ou usar comandos da CLI como:
hyp configure --kubernetes-version 1.33
Existem duas nuances importantes ao atualizar valores de configuração: underscores (_) em nomes de variáveis no arquivo se tornam hífens (-) nos comandos CLI. Variáveis contendo listas são configuradas como JSON nos comandos CLI.
Validação e Envio
Após realizar as alterações desejadas, valide o arquivo de configuração:
hyp validate
Se bem-sucedido, o comando confirmará que a configuração é válida. Em seguida, envie o stack de criação para CloudFormation:
hyp create --region us-east-1
O comando realiza validação e injeta valores do arquivo config.yaml no modelo. Os arquivos resolvidos são salvos em um subdiretório com timestamp, fornecendo um mecanismo leve de versionamento local. Se bem-sucedido, você receberá uma ID de stack do CloudFormation.
Monitoramento da Criação
Para listar stacks CloudFormation existentes:
hyp list cluster-stack --region us-east-1
Você pode filtrar por status usando a flag --status. Para visualizar detalhes de um stack específico:
hyp describe cluster-stack <nome-do-stack> --region us-east-1
Se algum dos stacks mostrar status como CREATE_FAILED ou ROLLBACK_*, abra a página CloudFormation no console para investigar. Falhas frequentemente relacionam-se a cotas de serviço insuficientes para o cluster, grupos de instâncias ou componentes de rede como VPCs ou gateways NAT. Consulte as quotas do SageMaker HyperPod para saber mais sobre requisitos.
Conexão ao Cluster
Após o stack completar sua criação com status CREATE_COMPLETE, configure a CLI e seu ambiente Kubernetes local para interagir com o cluster:
hyp set-cluster-context --cluster-name <nome-cluster> --region us-east-1
Este comando atualiza sua configuração Kubernetes local, permitindo usar tanto a CLI HyperPod quanto utilitários como kubectl para gerenciar recursos.
Modificação de Clusters Existentes
A CLI oferece capacidade de modificar grupos de instâncias e modo de recuperação de nós através do comando:
hyp update cluster --cluster-name <nome> --region <região> --instance-groups '[{"instance_count": 2, "instance_group_name": "worker-nodes", "instance_type": "ml.m5.large"}]'
Todos os campos são necessários para executar o comando de atualização, mesmo que você esteja modificando apenas um deles. A opção --node-recovery permite configurar o comportamento de recuperação de nós (Automática ou Nenhuma). Para mais informações, consulte a documentação sobre recuperação automática de nós.
Exclusão de Clusters
Para remover um cluster HyperPod:
hyp delete cluster-stack <nome-do-stack> --region us-east-1
Esta ação é irreversível. A CLI solicitará confirmação antes de proceder. Você pode usar a flag --retain-resources para especificar recursos que deseja manter durante o processo de exclusão.
SDK Python para Controle Programático
A AWS também inclui um SDK Python para acesso programático às funcionalidades descritas. O SDK Python é utilizado pelos comandos CLI e é instalado quando você instala o pacote sagemaker-hyperpod.
A CLI é ideal para usuários que preferem uma experiência simplificada e interativa para tarefas comuns como criação de clusters, monitoramento de jobs e implantação de endpoints. É especialmente útil para prototipagem rápida, experimentação e automação de fluxos de trabalho através de scripts ou pipelines CI/CD.
O SDK, por sua vez, oferece maior controle programático e flexibilidade, sendo a escolha preferida quando você precisa incorporar funcionalidades HyperPod diretamente em sua aplicação, integrar com outros serviços da AWS ou de terceiros, ou construir fluxos de trabalho customizados e complexos.
O repositório GitHub da CLI SageMaker HyperPod mostra exemplos de como criação e gerenciamento de clusters podem ser implementados usando o SDK Python.
Próximos Passos
A CLI e o SDK do SageMaker HyperPod simplificam significativamente a criação e gerenciamento de clusters. Essas ferramentas fornecem valor através de:
- Gerenciamento simplificado do ciclo de vida — Da configuração inicial às atualizações e limpeza do cluster, as ferramentas alinham-se com como equipes gerenciam ambientes de treinamento e inferência de longa duração
- Controle declarativo — O SDK expõe o modelo de configuração subjacente, permitindo que equipes codifiquem especificações de cluster, grupos de instâncias e sistemas de armazenamento
- Observabilidade integrada — Visibilidade dos stacks CloudFormation está disponível sem trocar de ferramentas, suportando iteração suave durante desenvolvimento e operação
Se você deseja explorar como usar a CLI e o SDK para enviar jobs de treinamento e implantar modelos em seu novo cluster, consulte nosso post complementar sobre treinamento e implantação de modelos no SageMaker HyperPod.
Fonte
Manage Amazon SageMaker HyperPod clusters using the HyperPod CLI and SDK (https://aws.amazon.com/blogs/machine-learning/manage-amazon-sagemaker-hyperpod-clusters-using-the-hyperpod-cli-and-sdk/)

