Usando treinamento distribuído no AWS Clean Rooms ML - AWS Clean Rooms

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 treinamento distribuído no AWS Clean Rooms ML

Pré-requisitos:

  • E Conta da AWS com acesso a AWS Clean Rooms

  • Uma colaboração configurada em AWS Clean Rooms

  • Um algoritmo de modelo configurado que suporta treinamento distribuído

  • Um grande conjunto de dados adequado para processamento distribuído

  • Permissões apropriadas para criar e gerenciar modelos de ML na colaboração

  • EC2 Cota suficiente da Amazon para executar várias instâncias para treinamento distribuído

O treinamento distribuído aproveita o poder de muitos nós de computação trabalhando paralelamente para processar grandes quantidades de dados e atualizar os parâmetros do modelo com eficiência.

Para obter mais informações sobre treinamento distribuído, consulte Conceitos de treinamento distribuído no Amazon SageMaker AI Developer Guide.

Console
Para executar um trabalho de treinamento distribuído (console)
  1. Faça login no AWS Management Console e abra o AWS Clean Rooms console em https://console.aws.amazon.com/cleanrooms.

  2. No painel de navegação à esquerda, escolha Colaborações.

  3. Na página Colaborações, escolha a colaboração em que você deseja criar um modelo treinado.

  4. Depois que a colaboração for aberta, escolha a guia Modelos de ML.

  5. Em Modelos de ML personalizados, na seção Modelos treinados, escolha Criar modelo treinado.

  6. Na página Criar modelo treinado, em Algoritmo de modelo associado, especifique o algoritmo

  7. Para obter detalhes do modelo treinado, insira o seguinte:

    1. Em Nome, insira um nome exclusivo para o modelo na colaboração.

    2. (Opcional) Em Descrição, insira uma descrição do modelo treinado.

    3. Para o modo de entrada de dados de treinamento, escolha uma das seguintes opções:

      • Selecione Arquivo se você tiver um conjunto de dados menor que possa caber no volume de armazenamento de ML e preferir o acesso tradicional ao sistema de arquivos para seu script de treinamento.

      • Selecione Pipe para grandes conjuntos de dados para transmitir dados diretamente do S3, evitando a necessidade de baixar tudo em disco, o que pode melhorar a velocidade de treinamento e reduzir os requisitos de armazenamento.

      • Selecione FastFilese quiser combinar os benefícios do streaming do S3 com o acesso ao sistema de arquivos, especialmente para dados lidos sequencialmente ou ao lidar com menos arquivos para tempos de inicialização mais rápidos.

  8. Para obter detalhes do canal de entrada ML, faça o seguinte:

    1. Para o canal de entrada ML, especifique o canal de entrada ML que fornece dados para o algoritmo do modelo.

      Para adicionar outro canal, escolha Adicionar outro canal de entrada de ML. Você pode adicionar até 19 canais de entrada de ML adicionais.

    2. Em Nome do canal, insira o nome do canal de entrada ML.

    3. Para o tipo de distribuição de dados do Amazon S3, escolha uma das seguintes opções:

      • Selecione Totalmente replicado para fornecer a cada instância de treinamento uma cópia completa do seu conjunto de dados. Isso funciona melhor quando seu conjunto de dados é pequeno o suficiente para caber na memória ou quando cada instância precisa acessar todos os dados.

      • Selecione Sharded by S3 key para dividir seu conjunto de dados entre instâncias de treinamento com base nas chaves S3. Cada instância recebe cerca de 1/n do total de objetos do S3, onde 'n' é o número de instâncias. Isso funciona melhor para grandes conjuntos de dados que você deseja processar paralelamente.

      nota

      Considere o tamanho do conjunto de dados e os requisitos de treinamento ao selecionar um tipo de distribuição. Totalmente replicado fornece acesso completo aos dados, mas requer mais armazenamento, enquanto o Sharded by S3 key permite o processamento distribuído de grandes conjuntos de dados.

  9. Em Duração máxima do treinamento, escolha a quantidade máxima de tempo em que você deseja treinar seu modelo.

  10. Para Hiperparâmetros, especifique quaisquer parâmetros específicos do algoritmo e seus valores pretendidos. Os hiperparâmetros são específicos para o modelo que está sendo treinado e são usados para ajustar o treinamento do modelo.

  11. Para variáveis de ambiente, especifique quaisquer variáveis específicas do algoritmo e seus valores pretendidos. As variáveis de ambiente são definidas no contêiner do Docker.

  12. Em Criptografia, para usar um personalizado AWS KMS key, marque a caixa de seleção Criptografar segredo com uma chave KMS personalizada.

  13. Em Configuração de EC2 recursos, especifique as informações sobre os recursos computacionais usados para treinamento de modelos.

    1. Em Tipo de instância, escolha o tipo de instância que você deseja executar.

      Os tipos de instância compatíveis para treinamento distribuído são:

      • ml.m5.4xlarge

      • ml.m5.12xlarge

      • ml.m5.2xlarge

      • ml.g5.12xlarge

      • ml.g5.24xlarge

    2. Em Contagem de instâncias, insira o número de instâncias.

    3. Em Tamanho do volume em GB, insira o tamanho do volume de armazenamento ML.

  14. Escolha Criar modelo treinado.

API

Para executar um trabalho de treinamento distribuído (API)

Execute o código a seguir com seus parâmetros específicos:

import boto3 acr_ml_client= boto3.client('cleanroomsml') acr_ml_client.create_trained_model( membershipIdentifier= 'membership_id', configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership/membershipIdentifier/configured-model-algorithm-association/identifier', name='trained_model_name', trainingInputMode: "File", resourceConfig={ 'instanceCount': "3" 'instanceType': "ml.m5.xlarge", 'volumeSizeInGB': 3 }, dataChannels=[ { "mlInputChannelArn": channel_arn_1, "channelName": "channel_name", "S3DataDistributionType:" "FullyReplicated" } ] )
nota

Depois que o modelo treinado for criado, você não poderá editá-lo. Para fazer alterações, exclua o modelo treinado e crie um novo.