

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 o 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 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 **Trem na 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 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. 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 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 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.