

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 incremental no AWS Clean Rooms ML
<a name="use-incremental-training"></a>

Pré-requisitos: 
+ E Conta da AWS com acesso a AWS Clean Rooms
+ Um modelo treinado existente em uma colaboração 
+ Um conjunto de dados novo ou atualizado para treinamento incremental 
+ Permissões apropriadas para criar e gerenciar modelos de ML na colaboração
+ Familiaridade com os hiperparâmetros e a configuração do modelo existente 

Com o treinamento incremental, você pode usar os artefatos de um modelo existente e um conjunto de dados atualizado para treinar um novo modelo. O treinamento incremental economiza tempo e recursos.

Use o treinamento incremental para:
+ Treine um novo modelo usando um conjunto de dados expandido que tenha um padrão subjacente que não foi considerado no treinamento anterior.
+ Treine várias variantes de um modelo, com hiperparâmetros diferentes ou usando conjuntos de dados diferentes.

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

**Para executar um trabalho de treinamento incremental (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 na qual existem os artefatos do modelo que você deseja usar para o treinamento incremental.

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 o botão de rádio ao lado do modelo treinado que você deseja treinar incrementalmente.

1. Na ** página ** Visão geral, em ** Versões**, 

   1. Escolha o botão de rádio ao lado do modelo treinado que você deseja treinar incrementalmente.

   1. Escolha ** Train da versão**. 

1. Na ** página ** Criar modelo treinado a partir da versão, em Versão do modelo ** treinado**, escolha a versão.

   A versão do modelo básico é selecionada automaticamente. Você pode alterar essa versão se existirem outras versões.

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

   1. Em Nome do canal de treinamento ** incremental**, insira um nome para o canal de treinamento incremental 
**nota**  
Se você especificar o nome do canal de treinamento ** incremental ** sem um ID de versão, o sistema usará o modelo básico para treinamento incremental. 

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

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

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

1. Em Duração ** máxima do treinamento**, escolha o tempo máximo 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 do modelo que está sendo treinado e são usados para ajustar o treinamento do modelo.

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

1. **Em ** Criptografia, para usar uma chave personalizada 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 o treinamento do modelo. 

   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 a partir da versão**. 

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

Para executar um trabalho de treinamento incremental (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}}',
    resourceConfig={
        'instanceType': 'ml.m5.xlarge',
        'volumeSizeInGB': 1
    },
    incrementalTrainingDataChannels=[
        {
            'trainedModelArn': trained_model_arn,
            'channelName': '{{channel_name}}'
        },
    ]
    dataChannels=[
        {
            'mlInputChannelArn': channel_arn_1,
            'channelName': '{{channel_name}}'
        },
        {
            'mlInputChannelArn': channel_arn_2,
            'channelName': '{{channel_name}}'
        }
    ]
)
```

**nota**  
Limite: máximo de 20 canais no total (incluindo ambos `dataChannels` e`incrementalTrainingDataChannels`).

------

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