Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Modifique seu script de treinamento para atribuir grupos de instâncias

Modo de foco
Modifique seu script de treinamento para atribuir grupos de instâncias - 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á.

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

Com a configuração de cluster heterogênea nas seções anteriores, você preparou o ambiente de SageMaker treinamento e as instâncias para seu trabalho de treinamento. Para atribuir ainda mais os grupos de instâncias a determinadas tarefas de treinamento e processamento de dados, a próxima etapa é modificar seu script de treinamento. Por padrão, o trabalho de treinamento simplesmente cria réplicas de scripts de treinamento para todos os nós, independentemente do tamanho da instância, e isso pode levar a perda de desempenho.

Por exemplo, se você misturar instâncias de CPU e instâncias de GPU em um cluster heterogêneo enquanto passa um script de treinamento de rede neural profunda para o entry_point argumento do estimador de SageMaker IA, o entry_point script é replicado para cada instância. Isso significa que, sem a atribuição adequada de tarefas, as instâncias de CPU também executam o script inteiro e iniciam o trabalho de treinamento projetado para treinamento distribuído em instâncias de GPU. Portanto, você deve fazer alterações nas funções de processamento específicas que deseja descarregar e executar nas instâncias da CPU. Você pode usar as variáveis de ambiente de SageMaker IA para recuperar as informações do cluster heterogêneo e permitir que processos específicos sejam executados adequadamente.

Quando seu trabalho de treinamento é iniciado, seu script de treinamento lê as informações do ambiente de SageMaker treinamento que incluem a configuração heterogênea do cluster. A configuração contém informações como os grupos de instâncias atuais, os hosts atuais em cada grupo e em qual grupo o host atual reside.

Você pode consultar as informações do grupo de instâncias durante a fase de inicialização de um trabalho de treinamento de SageMaker IA das seguintes maneiras.

(Recomendado) Ler as informações do grupo de instâncias com o kit SageMaker de ferramentas de treinamento

Use o módulo de ambiente Python fornecido pela biblioteca do kit de ferramentas de SageMaker treinamento. A biblioteca do kit de ferramentas é pré-instalada nos contêineres da SageMaker estrutura para TensorFlow e PyTorch, portanto, você não precisa de uma etapa adicional de instalação ao usar os contêineres pré-criados. Essa é a forma recomendada de recuperar as variáveis de ambiente de SageMaker IA com menos alterações de código em seu script de treinamento.

from sagemaker_training import environment env = environment.Environment()

Variáveis de ambiente relacionadas ao SageMaker treinamento geral e clusters heterogêneos:

  • env.is_hetero - Retorna um resultado booleano, independentemente de um cluster heterogêneo estar configurado ou não.

  • env.current_host - Retorna o host atual.

  • env.current_instance_type - Retorna o tipo de instância do host atual.

  • env.current_instance_group - Retorna o nome do grupo de instâncias atual.

  • env.current_instance_group_hosts - Retorna uma lista de hosts no grupo de instâncias atual.

  • env.instance_groups - Retorna uma lista de nomes de grupos de instâncias usados para treinamento.

  • env.instance_groups_dict - Retorna toda a configuração heterogênea do cluster do trabalho de treinamento.

  • env.distribution_instance_groups— Retorna uma lista de grupos de instâncias atribuídos ao distribution parâmetro da classe do estimador de SageMaker IA.

  • env.distribution_hosts— Retorna uma lista de hosts pertencentes aos grupos de instâncias atribuídos ao distribution parâmetro da classe do estimador de SageMaker IA.

Por exemplo, considere o exemplo a seguir de um cluster heterogêneo que consiste em dois grupos de instâncias.

from sagemaker.instance_group import InstanceGroup instance_group_1 = InstanceGroup( "instance_group_1", "ml.c5.18xlarge", 1) instance_group_2 = InstanceGroup( "instance_group_2", "ml.p3dn.24xlarge", 2)

A saída do exemplo env.instance_groups_dict de cluster heterogêneo deve ser semelhante à seguinte:

{ "instance_group_1": { "hosts": [ "algo-2" ], "instance_group_name": "instance_group_1", "instance_type": "ml.c5.18xlarge" }, "instance_group_2": { "hosts": [ "algo-3", "algo-1" ], "instance_group_name": "instance_group_2", "instance_type": "ml.p3dn.24xlarge" } }

(Opcional) Lendo as informações do grupo de instâncias do arquivo JSON de configuração do recurso

Se preferir recuperar as variáveis de ambiente no formato JSON, você poderá usar diretamente o arquivo JSON de configuração do recurso. Por padrão, o arquivo JSON em uma instância de SageMaker treinamento está localizado /opt/ml/input/config/resourceconfig.json em.

file_path = '/opt/ml/input/config/resourceconfig.json' config = read_file_as_json(file_path) print(json.dumps(config, indent=4, sort_keys=True))
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.