

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

# Treinamento de ajuste de escala
<a name="distributed-training-scenarios"></a>

As seções a seguir abordam cenários nos quais você pode querer ampliar o treinamento e como fazer isso usando AWS recursos. Talvez você queira escalar o treinamento em uma das seguintes situações:
+ Escalando de uma única GPU para várias GPUs
+ Escalabilidade de uma única instância para várias instâncias
+ Usar scripts de treinamento personalizados

## Escalando de uma única GPU para várias GPUs
<a name="scaling-from-one-GPU"></a>

A quantidade de dados ou o tamanho do modelo usado em machine learning pode criar situações em que o tempo para treinar um modelo é mais longo do que você está disposto a esperar. Às vezes, o treinamento simplesmente não funciona porque o modelo ou os dados de treinamento são muito grandes. Uma solução é aumentar o número de pessoas GPUs que você usa para treinamento. Em uma instância com vários GPUs, como uma `p3.16xlarge` que tem oito GPUs, os dados e o processamento são divididos entre os oito GPUs. Quando você utiliza bibliotecas de treinamento distribuído, isso pode resultar em um aumento quase linear na velocidade com que o modelo é treinado. Demora um pouco mais de 1/8 do tempo que levaria `p3.2xlarge` com uma GPU.


|  Tipo de instância  |  GPUs  | 
| --- | --- | 
|  p3.2xlarge  |  1  | 
|  p3.8xlarge  |  4  | 
|  p3.16xlarge  |  8  | 
|  p3dn.24xlarge  |  8  | 

**nota**  
Os tipos de instância ml usados pelo SageMaker treinamento têm o mesmo número dos GPUs tipos de instância p3 correspondentes. Por exemplo, `ml.p3.8xlarge` tem o mesmo número GPUs de `p3.8xlarge` - 4. 

## Escalabilidade de uma única instância para várias instâncias
<a name="scaling-from-one-instance"></a>

Se quiser escalar ainda mais seu treinamento, você pode usar mais instâncias. No entanto, você deve escolher um tipo de instância maior antes de adicionar mais instâncias. Analise a tabela anterior para ver quantas GPUs estão em cada tipo de instância p3. 

Se você passou de uma única GPU em uma `p3.2xlarge` para quatro GPUs em uma`p3.8xlarge`, mas decide que precisa de mais poder de processamento, talvez tenha um desempenho melhor e tenha custos mais baixos se escolher uma `p3.16xlarge` antes de tentar aumentar o número de instâncias. Dependendo das bibliotecas que você utiliza, manter seu treinamento em uma única instância pode oferecer melhor desempenho e custos mais baixos do que um cenário em que você utiliza várias instâncias.

Quando estiver pronto para escalar o número de instâncias, você pode fazer isso com a `estimator` função SageMaker AI Python SDK definindo seu. `instance_count` Por exemplo, você pode criar `instance_type = p3.16xlarge` e `instance_count = 2`. Em vez de oito GPUs em uma única`p3.16xlarge`, você tem 16 GPUs em duas instâncias idênticas. O gráfico a seguir mostra [a escalabilidade e a taxa de transferência começando com oito GPUs](https://aws.amazon.com/blogs/machine-learning/scalable-multi-node-training-with-tensorflow/) em uma única instância e aumentando para 64 instâncias, totalizando 256. GPUs 

 ![\[Chart showing how throughput increases and time to train decreases with more GPUs.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/distributed/Distributed-Training-in-SageMaker-image.png) 

## Scripts de treinamento personalizados
<a name="custom-training-scripts"></a>

Embora a SageMaker IA simplifique a implantação e a escalabilidade do número de instâncias e GPUs, dependendo da estrutura de sua escolha, o gerenciamento dos dados e dos resultados possa ser muito desafiador, e é por isso que bibliotecas externas de suporte são frequentemente usadas. Essa forma mais básica de treinamento distribuído exige a modificação do seu script de treinamento para gerenciar a distribuição de dados. 

SageMaker A IA também oferece suporte ao Horovod e às implementações de treinamento distribuído nativo de cada estrutura principal de aprendizado profundo. Se você optar por usar exemplos dessas estruturas, poderá seguir o [guia de contêineres da SageMaker AI para Deep Learning Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers.html) e vários [exemplos de cadernos](https://sagemaker-examples.readthedocs.io/en/latest/training/bring_your_own_container.html) que demonstram implementações. 