

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

# Executando cargas de trabalho de treinamento distribuídas com o Slurm on HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload"></a>

SageMaker HyperPod é especializada em cargas de trabalho de treinamento de modelos de linguagem grande (LLMs) e modelos básicos (FMs). Essas workloads geralmente exigem o uso de várias técnicas de paralelismo e operações otimizadas para infraestrutura e recursos de ML. Usando SageMaker HyperPod, você pode usar as seguintes estruturas de treinamento distribuído de SageMaker IA:
+ A [biblioteca de paralelismo de dados distribuídos (SMDDP) de SageMaker IA](data-parallel.md) que oferece operações de comunicação coletiva otimizadas para. AWS
+ A [biblioteca de paralelismo de modelos de SageMaker IA (SMP)](model-parallel-v2.md) que implementa várias técnicas de paralelismo de modelos.

**Topics**
+ [Usando SMDDP em um SageMaker HyperPod](#sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smddp)
+ [Usando o SMP em um cluster SageMaker HyperPod](#sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smp)

## Usando SMDDP em um SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smddp"></a>

A [biblioteca SMDDP](data-parallel.md) é uma biblioteca de comunicação coletiva que melhora o desempenho computacional do treinamento paralelo de dados distribuídos. A biblioteca SMDDP funciona com as seguintes estruturas de treinamento distribuídas de código aberto:
+ [PyTorchdados distribuídos paralelos (DDP)](https://pytorch.org/docs/stable/notes/ddp.html)
+ [PyTorch paralelismo de dados totalmente fragmentado (FSDP)](https://pytorch.org/docs/stable/fsdp.html)
+ [DeepSpeed](https://github.com/microsoft/DeepSpeed)
+ [Megatron-DeepSpeed](https://github.com/microsoft/Megatron-DeepSpeed)

A biblioteca SMDDP aborda a sobrecarga de comunicação das principais operações de comunicação coletiva, oferecendo o seguinte para. SageMaker HyperPod
+ A biblioteca oferece opções `AllGather` otimizadas para AWS. `AllGather`é uma operação chave usada no treinamento paralelo de dados fragmentados, que é uma técnica de paralelismo de dados com eficiência de memória oferecida por bibliotecas populares. Isso inclui a biblioteca de paralelismo de modelos de SageMaker IA (SMP), o Otimizador de Redundância Zero ( DeepSpeed Zero) e o Paralelismo de Dados PyTorch Totalmente Compartilhado (FSDP).
+ A biblioteca realiza uma comunicação otimizada de nó a nó utilizando totalmente a infraestrutura de AWS rede e a topologia da instância de SageMaker AI ML. 

**Para executar exemplos de trabalhos de treinamento em paralelo com dados**

Explore os seguintes exemplos de treinamento distribuído implementando técnicas de paralelismo de dados usando a biblioteca SMDDP:
+ [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/12.SM-dataparallel-FSDP](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/12.SM-dataparallel-FSDP)
+ [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/13.SM-dataparallel-deepspeed](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/13.SM-dataparallel-deepspeed)

**Para configurar um ambiente para usar a biblioteca SMDDP em SageMaker HyperPod**

A seguir estão os requisitos do ambiente de treinamento para usar a biblioteca SMDDP em. SageMaker HyperPod
+ PyTorch v2.0.1 e versões posteriores
+ CUDA v11.8 e versões posteriores
+ `libstdc++` versão de runtime maior do que 3
+ Python v3.10.x e posterior
+ `ml.p4d.24xlarge` e `ml.p4de.24xlarge`, que são tipos de instância compatíveis com a biblioteca SMDDP
+ `imdsv2` ativado no host de treinamento

Dependendo de como você deseja executar o trabalho de treinamento distribuído, há duas opções para instalar a biblioteca SMDDP:
+ Uma instalação direta usando o arquivo binário SMDDP.
+ Usando os SageMaker AI Deep Learning Containers (DLCs) pré-instalados com a biblioteca SMDDP.

As imagens do Docker pré-instaladas com a biblioteca SMDDP ou os URLs dos arquivos binários SMDDP estão listadas em [Estruturas compatíveis](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-data-parallel-support.html#distributed-data-parallel-supported-frameworks) na documentação da biblioteca SMDDP.

**Para instalar a biblioteca SMDDP no DLAMI SageMaker HyperPod**
+ `pip install --no-cache-dir https://smdataparallel.s3.amazonaws.com/binary/pytorch/{{<pytorch-version>/cuXYZ/YYYY-MM-DD/smdistributed_dataparallel-X.Y.Z-cp310-cp310-linux_x86_64}}.whl`
**nota**  
Se você trabalha em um ambiente Conda, certifique-se de instalar PyTorch usando `conda install` em vez de`pip`.  

  ```
  conda install pytorch=={{X.Y.Z}}  torchvision=={{X.Y.Z}} torchaudio=={{X.Y.Z}} pytorch-cuda={{X.Y.Z}} -c pytorch -c nvidia
  ```

**Para usar a biblioteca SMDDP em um contêiner do Docker**
+ A biblioteca SMDDP está pré-instalada nos SageMaker AI Deep Learning Containers (DLCs). Para encontrar a lista de DLCs da estrutura de SageMaker IA para PyTorch a biblioteca SMDDP, consulte [Estruturas suportadas](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-data-parallel-support.html#distributed-data-parallel-supported-frameworks) na documentação da biblioteca SMDDP. Você também pode trazer seu próprio contêiner do Docker com as dependências necessárias instaladas para usar a biblioteca SMDDP. Para saber mais sobre como configurar um contêiner do Docker personalizado para usar a biblioteca SMDDP, consulte também [Crie seu próprio contêiner Docker com a biblioteca paralela de dados distribuídos de SageMaker IA](data-parallel-bring-your-own-container.md).
**Importante**  
Para usar a biblioteca SMDDP em um contêiner do Docker, monte o diretório `/var/log` da máquina host em `/var/log` no contêiner. Isso pode ser feito adicionando a seguinte opção ao executar seu contêiner:  

  ```
  docker run {{<OTHER_OPTIONS>}} -v /var/log:/var/log ...
  ```

Para saber como executar trabalhos de treinamento com dados paralelos com o SMDDP em geral, consulte [Treinamento distribuído com a biblioteca de SageMaker paralelismo de dados distribuídos de IA](data-parallel-modify-sdp.md).

## Usando o SMP em um cluster SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smp"></a>

A [biblioteca de paralelismo de modelos de SageMaker IA (SMP)](model-parallel-v2.md) oferece várias técnicas de paralelismo de modelos [de última geração](model-parallel-core-features-v2.md), incluindo:
+ paralelismo de dados completamente compartilhados
+ paralelismo especializado
+ treinamento de precisão mista com FP16/BF16 tipos de dados FP8
+ paralelismo de tensores

A biblioteca SMP também é compatível com estruturas de código aberto, como PyTorch FSDP, NVIDIA Megatron e NVIDIA Transformer Engine.

**Para executar um exemplo de workload de treinamento paralelo ao modelo**

As equipes de serviços de SageMaker IA fornecem exemplos de trabalhos de treinamento implementando o paralelismo de modelos com a biblioteca SMP em. [https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2](https://github.com/aws-samples/awsome-distributed-training/tree/main/3.test_cases/17.SM-modelparallelv2)