Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Introduzione alla libreria di parallelismo dei dati distribuiti per l' SageMaker intelligenza artificiale

Modalità Focus
Introduzione alla libreria di parallelismo dei dati distribuiti per l' SageMaker intelligenza artificiale - Amazon SageMaker AI

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

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

La libreria SageMaker AI distributed data parallelism (SMDDP) è una libreria di comunicazione collettiva che migliora le prestazioni di calcolo dell'addestramento parallelo di dati distribuiti. La libreria SMDDP affronta il sovraccarico di comunicazione delle principali operazioni di comunicazione collettiva offrendo quanto segue.

  1. La libreria offre offerte AllReduce ottimizzate per. AWSAllReduceè un'operazione chiave utilizzata per sincronizzare i gradienti alla fine di ogni iterazione di addestramento durante l'addestramento distribuito dei dati. GPUs

  2. La libreria offre offerte ottimizzate per. AllGather AWSAllGatherè un'altra operazione chiave utilizzata nello sharded data parallel training, una tecnica di parallelismo dei dati efficiente in termini di memoria offerta da librerie popolari come la libreria SageMaker AI model parallelism (SMP), DeepSpeed Zero Redundancy Optimizer (Zero) e Fully Sharded Data Parallelism (FSDP). PyTorch

  3. La libreria esegue node-to-node comunicazioni ottimizzate utilizzando appieno l'infrastruttura di AWS rete e la topologia delle EC2 istanze Amazon.

La libreria SMDDP può aumentare la velocità di formazione offrendo un miglioramento delle prestazioni man mano che si amplia il cluster di formazione, con un'efficienza di scalabilità quasi lineare.

Nota

Le librerie di formazione distribuite sull' SageMaker intelligenza artificiale sono disponibili tramite i contenitori di AWS deep learning PyTorch e Hugging Face all'interno della piattaforma Training. SageMaker Per utilizzare le librerie, è necessario utilizzare SageMaker Python SDK o SageMaker APIs tramite SDK for Python (Boto3) o. AWS Command Line Interface In tutta la documentazione, le istruzioni e gli esempi si concentrano su come utilizzare le librerie di formazione distribuite con SageMaker Python SDK.

Operazioni di comunicazione collettiva SMDDP ottimizzate per le risorse di AWS calcolo e l'infrastruttura di rete

La libreria SMDDP fornisce implementazioni e operazioni AllGather collettive ottimizzate per AWS le risorse di calcolo AllReduce e l'infrastruttura di rete.

Operazione collettiva AllReduce SMDDP

La libreria SMDDP consente una sovrapposizione ottimale delle AllReduce operazioni con il passaggio all'indietro, migliorando significativamente l'utilizzo della GPU. Raggiunge un'efficienza di scalabilità quasi lineare e una maggiore velocità di addestramento ottimizzando le operazioni del kernel tra e. CPUs GPUs La libreria funziona AllReduce in parallelo mentre la GPU elabora i gradienti senza eliminare cicli GPU aggiuntivi, il che consente un addestramento più rapido.

  • Sfrutta CPUs: La libreria utilizza due AllReduce gradienti, CPUs scaricando questa attività da. GPUs

  • Utilizzo migliorato della GPU: il cluster si GPUs concentra sul calcolo dei gradienti, migliorandone l'utilizzo durante l'allenamento.

Di seguito è riportato il flusso di lavoro di alto livello dell'operazione SMDDP. AllReduce

  1. La biblioteca assegna i gradi a (lavoratori). GPUs

  2. Ad ogni iterazione, la libreria divide ogni batch globale per il numero totale di worker (dimensione mondiale) e assegna piccoli lotti (frammenti di batch) ai worker.

    • La dimensione del batch globale è (number of nodes in a cluster) * (number of GPUs per node) * (per batch shard).

    • Un batch shard (small batch) è un sottoinsieme di set di dati assegnato a ciascuna GPU (worker) per iterazione.

  3. La libreria lancia uno script di addestramento per ogni worker.

  4. La libreria gestisce le copie dei pesi e dei gradienti dei modelli fornite dai worker alla fine di ogni iterazione.

  5. La libreria sincronizza i pesi e i gradienti dei modelli tra i worker per aggregare un unico modello addestrato.

Il seguente diagramma di architettura mostra un esempio di come la libreria imposta il parallelismo dei dati per un cluster di 3 nodi.

Diagramma dell'architettura SMDDP AllReduce e del parallelismo dei dati

Operazione AllGather collettiva SMDDP

AllGatherè un'operazione collettiva in cui ogni lavoratore inizia con un buffer di input e quindi concatena o raccoglie i buffer di input di tutti gli altri worker in un buffer di output.

Nota

L'operazione AllGather collettiva SMDDP è disponibile in AWS Deep Learning Containers (DLC) per PyTorch la versione 2.0.1 smdistributed-dataparallel>=2.0.1 e successive.

AllGatherè ampiamente utilizzato nelle tecniche di formazione distribuite come il parallelismo dei dati frammentati, in cui ogni singolo lavoratore detiene una frazione di un modello o un livello frammentato. I lavoratori chiamano AllGather prima dei passaggi avanti e indietro per ricostruire gli strati suddivisi. I passaggi avanti e indietro continuano dopo aver raccolto tutti i parametri. Durante il passaggio all'indietro, ogni operatore chiama anche ReduceScatter per raccogliere (ridurre) i gradienti e spezzarli (disperderli) in frammenti di gradiente per aggiornare il corrispondente livello frammentato. Per maggiori dettagli sul ruolo di queste operazioni collettive nel parallelismo dei dati condivisi, consultate l'implementazione del parallelismo dei dati condivisi nella libreria SMP, Zero nella documentazione e il blog su Fully Sharded Data Parallelism. DeepSpeed PyTorch

Poiché le operazioni collettive AllGather vengono richiamate in ogni iterazione, sono le principali responsabili del sovraccarico di comunicazione con la GPU. Un calcolo più rapido di queste operazioni collettive si traduce direttamente in un tempo di formazione più breve senza effetti collaterali sulla convergenza. A tal fine, la libreria SMDDP offre soluzioni AllGather ottimizzate per le istanze P4d.

SMDDP AllGather utilizza le seguenti tecniche per migliorare le prestazioni di calcolo sulle istanze P4d.

  1. Trasferisce dati tra istanze (internodo) tramite la rete Elastic Fabric Adapter (EFA) con topologia mesh. EFA è la soluzione di rete a bassa latenza e ad alto AWS throughput. Una topologia mesh per la comunicazione di rete tra nodi è più adatta alle caratteristiche dell'EFA e dell'infrastruttura di rete. AWS Rispetto alla topologia ad anello o ad albero NCCL che prevede più packet hop, SMDDP evita l'accumulo di latenza da più hop in quanto richiede solo un hop. SMDDP implementa un algoritmo di controllo della velocità di rete che bilancia il carico di lavoro per ciascun peer di comunicazione in una topologia mesh e raggiunge un throughput di rete globale più elevato.

  2. Adotta una libreria di copie di memoria GPU a bassa latenza basata sulla tecnologia NVIDIA RDMA () per coordinare il traffico di rete locale ed EFA. GPUDirect GDRCopy NVLink GDRCopy, una libreria di copie di memoria GPU a bassa latenza offerta da NVIDIA, fornisce comunicazioni a bassa latenza tra i processi della CPU e i kernel GPU CUDA. Con questa tecnologia, la libreria SMDDP è in grado di gestire lo spostamento dei dati all'interno e tra i nodi.

  3. Riduce l'utilizzo di multiprocessori in streaming su GPU per aumentare la potenza di calcolo per l'esecuzione dei kernel modello. Le istanze P4d e P4de sono dotate di NVIDIA A100, ognuna con 108 multiprocessori di streaming. GPUs Mentre NCCL impiega fino a 24 multiprocessori di streaming per eseguire operazioni collettive, SMDDP utilizza meno di 9 multiprocessori di streaming. I kernel di elaborazione dei modelli raccolgono i multiprocessori di streaming salvati per un calcolo più rapido.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.