

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

# Criação de um modelo treinado no AWS Clean Rooms ML
<a name="create-trained-model"></a>

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 associado à colaboração
+ Pelo menos um canal de entrada de ML configurado
+ Permissões apropriadas para criar e gerenciar modelos de ML na colaboração

Depois de associar o algoritmo do modelo configurado a uma colaboração e, em seguida, criar e configurar um canal de entrada de ML, você estará pronto para criar um modelo treinado. Um *modelo treinado* é usado por membros de uma colaboração para analisar seus dados em conjunto.

Você pode criar um modelo treinado usando o procedimento a seguir. 

Como alternativa, você pode usar o treinamento incremental para melhorar um modelo existente com novos dados ou o treinamento distribuído para treinar modelos em várias instâncias de computação. 

**Topics**
+ [Usando o treinamento incremental no AWS Clean Rooms ML](use-incremental-training.md)
+ [Usando treinamento distribuído no AWS Clean Rooms ML](use-distributed-training.md)

------
#### [ Console ]

**Para criar um modelo treinado (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](https://console.aws.amazon.com/cleanrooms/home).

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

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

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

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

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

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

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

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

   1. 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 **FastFile**se 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.

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

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

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

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

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

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

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

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

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

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

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

1. Escolha **Criar modelo treinado**. 

------
#### [ API ]

Para criar um modelo treinado (API)

O membro com a capacidade de treinar um modelo começa a treinar selecionando o canal de entrada de ML e o algoritmo do modelo.

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}}',
    resourceConfig={
        'instanceType': "ml.m5.xlarge",
        'volumeSizeInGB': 1
    },
    dataChannels=[
        {
            "mlInputChannelArn": channel_arn_1,
            "channelName": "{{channel_name}}"
        },
        {
            "mlInputChannelArn": channel_arn_2,
            "channelName": "{{channel_name}}"
        }
    ]
)
```

------

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