

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esecuzione di carichi di lavoro di formazione distribuiti con Slurm on HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload"></a>

SageMaker HyperPod è specializzato per carichi di lavoro di formazione di modelli linguistici di grandi dimensioni (LLM) e modelli di base (FM). Questi carichi di lavoro richiedono spesso l’utilizzo di più tecniche di parallelizzazione e operazioni ottimizzate per l’infrastruttura e le risorse di ML. Utilizzando SageMaker HyperPod, puoi utilizzare i seguenti framework di formazione distribuiti basati sull' SageMaker intelligenza artificiale:
+ La [libreria SageMaker AI Distributed Data Parallelism (SMDDP)](data-parallel.md) che offre operazioni di comunicazione collettiva ottimizzate per. AWS
+ La [libreria di parallelismo dei modelli SageMaker AI (SMP)](model-parallel-v2.md) che implementa varie tecniche di parallelismo dei modelli.

**Topics**
+ [Utilizzo di SMDDP su un SageMaker HyperPod](#sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smddp)
+ [Utilizzo SageMaker HyperPod di SMP su un cluster](#sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smp)

## Utilizzo di SMDDP su un SageMaker HyperPod
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smddp"></a>

La [libreria SMDDP](data-parallel.md) è una libreria di comunicazione collettiva che migliora le prestazioni di calcolo dell’addestramento parallelo di dati distribuiti. La libreria SMDDP funziona con i seguenti framework di addestramento distribuito open source:
+ [PyTorchdata parallel distribuito (DDP)](https://pytorch.org/docs/stable/notes/ddp.html)
+ [PyTorch parallelismo dei dati completamente condiviso (FSDP)](https://pytorch.org/docs/stable/fsdp.html)
+ [DeepSpeed](https://github.com/microsoft/DeepSpeed)
+ [Megatron-DeepSpeed](https://github.com/microsoft/Megatron-DeepSpeed)

La libreria SMDDP affronta il sovraccarico di comunicazione delle principali operazioni di comunicazione collettiva offrendo quanto segue per. SageMaker HyperPod
+ La libreria offre offerte `AllGather` ottimizzate per. AWS`AllGather`è un'operazione chiave utilizzata nell'addestramento parallelo dei dati condivisi, una tecnica di parallelismo dei dati efficiente in termini di memoria offerta dalle librerie più diffuse. Queste includono la libreria SageMaker AI Model Parallelism (SMP), DeepSpeed Zero Redundancy Optimizer (Zero) e Fully Sharded Data Parallelism (FSDP). PyTorch 
+ La libreria esegue comunicazioni ottimizzate da nodo a nodo utilizzando appieno l'infrastruttura di rete e la topologia dell'istanza AI ML. AWS SageMaker 

**Per eseguire job di addestramento di esempio con parallelizzazione dei dati**

Esplora gli esempi seguenti di addestramento distribuito che implementano tecniche di parallelizzazione dei dati utilizzando la libreria 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)

**Per configurare un ambiente per l'utilizzo della libreria SMDDP su SageMaker HyperPod**

Di seguito sono riportati i requisiti dell'ambiente di formazione per l'utilizzo della libreria SMDDP su. SageMaker HyperPod
+ PyTorch v2.0.1 e versioni successive
+ CUDA v11.8 e versioni successive
+ `libstdc++` versione di runtime superiore a 3
+ Python v3.10.x e versioni successive
+ `ml.p4d.24xlarge` e `ml.p4de.24xlarge`, ovvero i tipi di istanze supportati dalla libreria SMDDP
+ `imdsv2` abilitato sull’host di addestramento

A seconda di come si desidera eseguire il job di addestramento distribuito, sono disponibili due opzioni per installare la libreria SMDDP:
+ Un’installazione diretta che utilizza il file binario SMDDP.
+ Utilizzo degli SageMaker AI Deep Learning Containers (DLC) preinstallati con la libreria SMDDP.

Le immagini Docker preinstallate con la libreria SMDDP o gli URL dei file binari SMDDP sono elencati in [Supported Frameworks](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-data-parallel-support.html#distributed-data-parallel-supported-frameworks) nella documentazione della libreria SMDDP.

**Per installare la libreria SMDDP su 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 lavori in un ambiente Conda, assicurati di installare PyTorch using instead of. `conda install` `pip`  

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

**Per utilizzare la libreria SMDDP su un container Docker**
+ La libreria SMDDP è preinstallata negli SageMaker AI Deep Learning Containers (DLC). Per trovare l'elenco dei DLC del framework SageMaker AI per PyTorch la libreria SMDDP, consulta [Supported](https://docs.aws.amazon.com/sagemaker/latest/dg/distributed-data-parallel-support.html#distributed-data-parallel-supported-frameworks) Frameworks nella documentazione della libreria SMDDP. Puoi anche utilizzare il tuo container Docker su cui sono installate le dipendenze richieste per la libreria SMDDP. Per ulteriori informazioni sulla configurazione di un container Docker personalizzato per l’utilizzo della libreria SMDDP, consulta anche [Crea il tuo contenitore Docker con la libreria parallela di dati distribuiti SageMaker AI](data-parallel-bring-your-own-container.md).
**Importante**  
Per utilizzare la libreria SMDDP in un container Docker, monta la directory `/var/log` dal computer host a `/var/log` nel container. Per farlo, aggiungi l’opzione seguente durante l’esecuzione del container.  

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

Per informazioni generali su come eseguire job di addestramento con parallelizzazione dei dati con SMDDP, consulta [Formazione distribuita con la libreria di parallelismo dei dati distribuiti SageMaker AI](data-parallel-modify-sdp.md).

## Utilizzo SageMaker HyperPod di SMP su un cluster
<a name="sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload-smp"></a>

La [libreria SageMaker AI model parallelism (SMP)](model-parallel-v2.md) offre varie [tecniche di parallelismo dei modelli all'avanguardia](model-parallel-core-features-v2.md), tra cui:
+ fully sharded data parallelism
+ parallelizzazione degli esperti
+ addestramento di precisione misto con tipi di dati FP8 FP16/BF16 
+ parallelizzazione tensoriale

La libreria SMP è anche compatibile con framework open source come PyTorch FSDP, NVIDIA Megatron e NVIDIA Transformer Engine.

**Per eseguire un esempio di carico di lavoro di addestramento con parallelizzazione del modello**

I team di assistenza SageMaker AI forniscono esempi di lavori di formazione che implementano il parallelismo dei modelli con la libreria SMP all'indirizzo. [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)