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à.
Esegui carichi di lavoro di formazione distribuiti con Slurm on HyperPod
SageMaker HyperPod è specializzato per carichi di lavoro di formazione di modelli linguistici di grandi dimensioni (LLMs) e modelli di base (). FMs Questi carichi di lavoro richiedono spesso l'uso di più tecniche di parallelismo e operazioni ottimizzate per l'infrastruttura e le risorse ML. Utilizzando SageMaker HyperPod, è possibile utilizzare i seguenti framework di formazione SageMaker distribuiti:
-
La libreria di parallelismo dei dati SageMaker distribuiti (SMDDP) che offre operazioni di comunicazione collettiva ottimizzate per. AWS
-
La libreria SageMaker model parallelism (SMP) che implementa varie tecniche di parallelismo dei modelli.
Utilizzo su un SMDDP SageMaker HyperPod
La SMDDPlibreria è una libreria di comunicazione collettiva che migliora le prestazioni di calcolo dell'addestramento parallelo di dati distribuiti. La SMDDP libreria funziona con i seguenti framework di formazione distribuiti open source:
La SMDDP biblioteca affronta i costi di comunicazione generali 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 model parallelism (SMP), DeepSpeed Zero Redundancy Optimizer (Zero) e Fully Sharded Data Parallelism (). PyTorch FSDP -
La libreria esegue node-to-node comunicazioni ottimizzate utilizzando appieno l'infrastruttura di rete e la topologia dell'istanza ML. AWS SageMaker
Per eseguire esempi di lavori di formazione in parallelo con i dati
Esplora i seguenti esempi di formazione distribuiti che implementano tecniche di parallelismo dei dati utilizzando la libreria. SMDDP
Per configurare un ambiente per l'utilizzo della SMDDP libreria su SageMaker HyperPod
Di seguito sono riportati i requisiti dell'ambiente di formazione per l'utilizzo della SMDDP libreria su SageMaker HyperPod.
-
PyTorch v2.0.1 e versioni successive
-
CUDAv11.8 e versioni successive
-
libstdc++
versione runtime superiore a 3 -
Python v3.10.x e versioni successive
-
ml.p4d.24xlarge
eml.p4de.24xlarge
, quali sono i tipi di istanza supportati dalla libreria SMDDP -
imdsv2
abilitato sull'host di formazione
A seconda di come si desidera eseguire il processo di formazione distribuito, ci sono due opzioni per installare la SMDDP libreria:
-
Un'installazione diretta tramite il file SMDDP binario.
-
Utilizzo dei SageMaker Deep Learning Containers (DLCs) preinstallati con la SMDDP libreria.
Le immagini Docker preinstallate con la SMDDP libreria o nei file SMDDP binari sono elencate in Supported Frameworks nella documentazione della libreria. URLs SMDDP
Per installare la libreria su SMDDP SageMaker HyperPod DLAMI
-
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
.whlNota
Se lavori in un ambiente Conda, assicurati di installare PyTorch using
conda install
instead ofpip
.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 SMDDP libreria su un contenitore Docker
-
La SMDDP libreria è preinstallata nei SageMaker Deep Learning Containers (DLCs). Per trovare l'elenco dei SageMaker framework DLCs associati alla SMDDP libreria, consulta Supported Frameworks nella documentazione della SMDDP libreria. PyTorch Puoi anche portare il tuo contenitore Docker con le dipendenze necessarie installate per utilizzare la libreria. SMDDP Per ulteriori informazioni sulla configurazione di un contenitore Docker personalizzato per utilizzare la SMDDP libreria, consulta anche. Crea il tuo contenitore Docker con la libreria parallela di dati SageMaker distribuiti
Importante
Per utilizzare la SMDDP libreria in un contenitore Docker, monta la
/var/log
directory dal computer host/var/log
nel contenitore. Questo può essere fatto aggiungendo la seguente opzione durante l'esecuzione del contenitore.docker run
<OTHER_OPTIONS>
-v /var/log:/var/log ...
Per informazioni su come eseguire lavori di formazione in parallelo ai dati SMDDP in generale, consulta. Formazione distribuita con la libreria di parallelismo dei dati SageMaker distribuiti
Utilizzo SMP su un cluster SageMaker HyperPod
La libreria SageMaker model parallelism (SMP) offre varie tecniche di parallelismo dei state-of-the-art modelli, tra cui:
-
parallelismo dei dati completamente suddiviso
-
parallelismo esperto
-
addestramento di precisione misto conFP16/BF16e FP8 tipi di dati
-
parallelismo tensoriale
La SMP libreria è anche compatibile con framework open source come PyTorch FSDP Megatron e Transformer Engine. NVIDIA NVIDIA
Per eseguire un esempio di carico di lavoro di formazione parallelo al modello
I team SageMaker di assistenza forniscono esempi di lavori di formazione che implementano il parallelismo dei modelli con la libreria all'indirizzo. SMP awsome-distributed-training/3.test_cases/17.SM-modelparallelv2