View a markdown version of this page

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

  • Cota suficiente do Amazon EC2 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 em paralelo 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 Guia do desenvolvedor de SageMaker IA da Amazon.

Console
Para executar um trabalho de treinamento distribuído (console)
  1. Faça login no Console de gerenciamento da AWS 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 do treinamento e reduzir os requisitos de armazenamento.

      • Selecione FastFile se você deseja combinar os benefícios do streaming do S3 com o acesso ao sistema de arquivos, especialmente para leitura sequencial de dados ou ao lidar com menos arquivos para acelerar a inicialização.

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

    1. Para canal de entrada de ML, especifique o canal de entrada de 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 adicionais de entrada de ML.

    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 dar 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 Fragmentado pela chave S3 para dividir seu conjunto de dados entre instâncias de treinamento com base nas chaves S3. Cada instância recebe cerca 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 em paralelo.

      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 a chave Sharded by S3 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 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 do modelo que está sendo treinado e são usados para ajustar o treinamento do modelo.

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

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

  13. Para a configuração de recursos do EC2, especifique as informações sobre os recursos computacionais que são usados para o treinamento do modelo.

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

      Os tipos de instâncias compatíveis com 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.