Usa la SMDDP libreria nel tuo script di allenamento PyTorch - Amazon SageMaker

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

Usa la SMDDP libreria nel tuo script di allenamento PyTorch

A partire dalla libreria SageMaker distributed data parallelism (SMDDP) v1.4.0, puoi utilizzare la libreria come opzione di backend per il pacchetto distribuito. PyTorch Per utilizzare le operazioni SMDDP AllReduce AllGather collettive, è sufficiente importare la SMDDP libreria all'inizio dello script di formazione e impostarla SMDDP come backend dei moduli PyTorch distribuiti durante l'inizializzazione del gruppo di processi. Con la singola riga di specifiche del backend, è possibile mantenere invariati tutti i moduli PyTorch distribuiti nativi e l'intero script di formazione. I seguenti frammenti di codice mostrano come utilizzare la SMDDP libreria come backend di pacchetti di formazione distribuiti PyTorch basati: distributed PyTorch data parallel (DDP), PyTorch full sharded data parallelism (FSDP) e Megatron-. DeepSpeedDeepSpeed

PyTorch DDPPer o FSDP

Inizializza il gruppo di processi come segue.

import torch.distributed as dist import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp")
Nota

(Solo per i PyTorch DDP lavori) Il smddp backend attualmente non supporta la creazione di gruppi di sottoprocessi con. torch.distributed.new_group() API Inoltre, non è possibile utilizzare il smddp backend contemporaneamente ad altri backend di gruppi di processi come e. NCCL Gloo

Per DeepSpeed o Megatron- DeepSpeed

Inizializza il gruppo di processi come segue.

import deepspeed import smdistributed.dataparallel.torch.torch_smddp deepspeed.init_distributed(dist_backend="smddp")
Nota

Per utilizzarlo SMDDP AllGather con i launcher mpirun basati su (smdistributedandpytorchddp) inAvvio di lavori di formazione distribuiti SMDDP utilizzando Python SageMaker SDK, è inoltre necessario impostare la seguente variabile di ambiente nello script di addestramento.

export SMDATAPARALLEL_OPTIMIZE_SDP=true

Per indicazioni generali sulla scrittura di uno script di PyTorch FSDP formazione, vedete Advanced Model Training with Fully Sharded Data Parallel (FSDP) nella documentazione. PyTorch

Per indicazioni generali sulla stesura di uno script di PyTorch DDP formazione, consulta Getting started with distributed data parallel nella PyTorch documentazione.

Dopo aver completato l'adattamento dello script di addestramento, procedi con Avvio di lavori di formazione distribuiti SMDDP utilizzando Python SageMaker SDK.