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á.
Usando o AWS CLI
Os tópicos a seguir fornecem orientação sobre como escrever arquivos de SageMaker HyperPod API solicitação em JSON formato e executá-los usando os AWS CLI comandos.
Tópicos
Crie um novo cluster
-
Prepare scripts de configuração do ciclo de vida e carregue-os em um bucket do S3, como.
s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
A etapa 2 a seguir pressupõe que há um script de ponto de entrada nomeadoon_create.sh
no bucket do S3 especificado.Importante
Certifique-se de definir o caminho do S3 para começar
s3://sagemaker-
. O IAMpapel para SageMaker HyperPod tem o gerenciadoAmazonSageMakerClusterInstanceRolePolicy
anexado, que permite o acesso aos buckets do S3 com o prefixo específico.sagemaker-
-
Prepare um arquivo de CreateClusterAPIsolicitação em JSON formato. Você deve configurar grupos de instâncias para que correspondam ao cluster Slurm projetado no
provisioning_params.json
arquivo que será usado durante a criação do cluster como parte da execução de um conjunto de scripts de ciclo de vida. Para saber mais, consulte Personalize SageMaker HyperPod clusters usando scripts de ciclo de vida. O modelo a seguir tem dois grupos de instâncias para atender ao requisito mínimo de um cluster Slurm: um nó controlador (principal) e um nó de computação (trabalhador). ParaExecutionRole
, forneça ARN a IAM função que você criou com oAmazonSageMakerClusterInstanceRolePolicy
gerenciado na seçãoIAMpapel para SageMaker HyperPod.// create_cluster.json
{ "ClusterName": "your-hyperpod-cluster
", "InstanceGroups": [ { "InstanceGroupName": "controller-group
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
",// Optional: Configure an additional storage per instance group.
"InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.
// The default mount path for the additional EBS volume is /opt/sagemaker.
"EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB).
"VolumeSizeInGB":integer
, } } ] }, { "InstanceGroupName": "worker-group-1
", "InstanceType": "ml.p4d.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
" } ], // Optional "Tags": [ { "Key": "string
", "Value": "string
" } ], // Optional "VpcConfig": { "SecurityGroupIds": [ "string
" ], "Subnets": [ "string
" ] } }Dependendo de como você projeta a estrutura do cluster por meio de seus scripts de ciclo de vida, você pode configurar até 20 grupos de instâncias sob o
InstanceGroups
parâmetro.Para o parâmetro de
Tags
solicitação, você pode adicionar tags personalizadas para gerenciar o SageMaker HyperPod cluster como um AWS recurso. Você pode adicionar tags ao seu cluster da mesma forma que as adiciona em outros AWS serviços que oferecem suporte à marcação. Para saber mais sobre a marcação de AWS recursos em geral, consulte o Guia do usuário de AWS recursos de marcação.Para o parâmetro de
VpcConfig
solicitação, especifique as informações de um que VPC você deseja usar. Para obter mais informações, consulte Configurando SageMaker HyperPod com a Amazon VPC. -
Execute o comando create-cluster da seguinte maneira.
aws sagemaker create-cluster \ --cli-input-json
file://complete/path/to/create_cluster.json
Isso deve retornar o ARN do novo cluster.
Descrever um cluster
Execute describe-cluster para verificar o status do cluster. Você pode especificar o nome ou o ARN do cluster.
aws sagemaker describe-cluster --cluster-name
your-hyperpod-cluster
Depois que o status do cluster mudar paraInService
, vá para a próxima etapa. Usando issoAPI, você também pode recuperar mensagens de falha da execução de outras HyperPod API operações.
Listar detalhes dos nós do cluster
Execute list-cluster-nodespara verificar as principais informações dos nós do cluster.
aws sagemaker list-cluster-nodes --cluster-name
your-hyperpod-cluster
Isso retorna uma resposta e InstanceId
é o que você precisa usar para fazer login (usaraws ssm
) nelas.
Descrever detalhes de um nó de cluster
Execute describe-cluster-nodepara recuperar detalhes de um nó do cluster. Você pode obter o ID do nó do cluster na list-cluster-nodes saída. Você pode especificar o nome ou o ARN do cluster.
aws sagemaker describe-cluster-node \ --cluster-name
your-hyperpod-cluster
\ --node-idi-111222333444555aa
Listar clusters
Execute list-clusters para listar todos os clusters em sua conta.
aws sagemaker list-clusters
Você também pode adicionar sinalizadores adicionais para filtrar a lista de clusters. Para saber mais sobre o que esse comando executa em baixo nível e sinalizadores adicionais para filtragem, consulte a ListClustersAPIreferência.
Atualizar a configuração do cluster
Execute update-cluster para atualizar a configuração de um cluster.
-
Crie um arquivo de
UpdateCluster
solicitação em JSON formato. Certifique-se de especificar o nome do cluster e o nome do grupo de instâncias corretos para atualizar. Você pode alterar o tipo de instância, o número de instâncias, o script do ponto de entrada da configuração do ciclo de vida e o caminho para o script.-
Para
ClusterName
, especifique o nome do cluster que você deseja atualizar. -
Para
InstanceGroupName
-
Para atualizar um grupo de instâncias existente, especifique o nome do grupo de instâncias que você quer atualizar.
-
Para adicionar um novo grupo de instâncias, especifique um novo nome que não existe no seu cluster.
-
-
Para
InstanceType
-
Para atualizar um grupo de instâncias existente, você precisa corresponder ao grupo o tipo de instância especificado inicialmente.
-
Para adicionar um novo grupo de instâncias, especifique o tipo de instância com o qual você quer configurar o grupo.
-
-
Para
InstanceCount
-
Para atualizar um grupo de instâncias existente, especifique um número inteiro maior que o número atual de instâncias. Atualmente, você só pode aumentar o número de instâncias.
-
Para adicionar um novo grupo de instâncias, especifique um número inteiro maior ou igual a 1.
-
-
Pois
LifeCycleConfig
, você pode alterar osOnCreat
valoresSourceS3Uri
e os valores conforme quiser para atualizar o grupo de instâncias. -
Para
ExecutionRole
-
Para atualizar um grupo de instâncias existente, continue usando a mesma IAM função que você atribuiu durante a criação do cluster.
-
Para adicionar um novo grupo de instâncias, especifique uma IAM função que você deseja anexar.
-
-
Para
TreadsPerCore
-
Para atualizar um grupo de instâncias existente, continue usando o mesmo valor especificado durante a criação do cluster.
-
Para adicionar um novo grupo de instâncias, você pode escolher qualquer valor entre as opções permitidas por tipo de instância. Para obter mais informações, pesquise o tipo de instância e consulte a coluna Valid Treads per core na tabela de referência em CPUnúcleos e threads por CPU núcleo por tipo de instância no Amazon EC2 User Guide.
-
O trecho de código a seguir é um modelo de arquivo de JSON solicitação que você pode usar. Para obter mais informações sobre a sintaxe da solicitação e seus parâmetrosAPI, consulte a UpdateClusterAPIreferência.
// update_cluster.json { // Required "ClusterName": "
name-of-cluster-to-update
", // Required "InstanceGroups": [ { "InstanceGroupName": "name-of-instance-group-to-update
", "InstanceType": "ml.m5.xlarge
", "InstanceCount":1
, "LifeCycleConfig": { "SourceS3Uri": "s3://sagemaker-<amzn-s3-demo-bucket>/<lifecycle-script-directory>/src/
", "OnCreate": "on_create.sh
" }, "ExecutionRole": "arn:aws:iam::111122223333
:role/iam-role-for-cluster
",// Optional: Configure an additional storage per instance group.
"InstanceStorageConfigs": [ {// Attach an additional EBS volume to each instance within the instance group.
// The default mount path for the additional EBS volume is /opt/sagemaker.
"EbsVolumeConfig":{// Specify an integer between 1 and 16384 in gigabytes (GB).
"VolumeSizeInGB":integer
, } } ] }, // add more blocks of instance groups as needed { ... } ] } -
-
Execute o
update-cluster
comando a seguir para enviar a solicitação.aws sagemaker update-cluster \ --cli-input-json
file://complete/path/to/update_cluster.json
Atualizar o software da SageMaker HyperPod plataforma de um cluster
Execute update-cluster-softwarepara atualizar os clusters existentes com os patches de software e segurança fornecidos pelo SageMaker HyperPod serviço. Para--cluster-name
, especifique o nome ou o ARN do cluster a ser atualizado.
Importante
Observe que você deve fazer backup do seu trabalho antes de executar issoAPI. O processo de correção substitui o volume raiz pelo atualizadoAMI, o que significa que seus dados anteriores armazenados no volume raiz da instância serão perdidos. Certifique-se de fazer backup dos dados do volume raiz da instância no Amazon S3 ou no Amazon FSx for Lustre. Para obter mais informações, consulte Use o script de backup fornecido pelo SageMaker HyperPod.
aws sagemaker update-cluster-software --cluster-name
your-hyperpod-cluster
Esse comando chama UpdateClusterSoftwareAPIo. Após a API chamada, SageMaker HyperPod atualiza as instâncias do cluster para usar as mais recentes SageMaker HyperPod DLAMI e executa seus scripts de ciclo de vida no bucket do S3 que você especificou durante a criação ou atualização do cluster. A equipe SageMaker HyperPod de serviço lança regularmente novos SageMaker HyperPod DLAMI s para aprimorar a segurança e melhorar a experiência do usuário. Recomendamos que você sempre continue atualizando com as últimas novidades SageMaker HyperPod DLAMI. Para futuras SageMaker HyperPod DLAMI atualizações de patches de segurança, entre em contato comNotas SageMaker HyperPod de lançamento da Amazon.
dica
Se o patch de segurança falhar, você poderá recuperar as mensagens de falha executando o DescribeCluster
APIconforme as instruções em. Descrever um cluster
nota
Você só pode executar isso API programaticamente. A funcionalidade de correção não está implementada na interface do usuário do SageMaker HyperPod console.
Use o script de backup fornecido pelo SageMaker HyperPod
SageMaker HyperPod fornece um script para fazer backup e restaurar seus dados 1.architectures/5.sagemaker-hyperpod/patching-backup.sh
Para fazer backup dos dados em um bucket do S3 antes da aplicação de patches
sudo bash patching-backup.sh --create
<s3-buckup-bucket-path>
Depois de executar o comando, o script verifica squeue
se há trabalhos em fila, interrompe o Slurm se não houver nenhum trabalho na fila, faz backup mariadb
e copia itens locais no disco definido abaixo. LOCAL_ITEMS
Você pode adicionar mais arquivos e diretórios a. LOCAL_ITEMS
# Define files and directories to back up. LOCAL_ITEMS=( "/var/spool/slurmd" "/var/spool/slurmctld" "/etc/systemd/system/slurmctld.service" "/home/ubuntu/backup_slurm_acct_db.sql" # ... Add more items as needed )
Além disso, você pode adicionar código personalizado ao script fornecido para fazer backup de qualquer aplicativo para seu caso de uso.
Para restaurar dados de um bucket S3 após a aplicação de patches
sudo bash patching-backup.sh --restore
<s3-buckup-bucket-path>
Excluir um cluster
Execute delete-cluster para excluir um cluster. Você pode especificar o nome ou o ARN do cluster.
aws sagemaker delete-cluster --cluster-name
your-hyperpod-cluster