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 libreria SMDDP nello script di addestramento Lightning PyTorch
Se desideri utilizzare lo script di formazione PyTorchLightningsmdistributed.dataparallel
libreria, impostazione delle variabili di ambiente per PyTorch Lightning in modo che accettino le variabili di ambiente SageMaker AI preimpostate dal toolkit di SageMaker formazione e attivazione della libreria SMDDP impostando il backend del gruppo di processi su. "smddp"
Per ulteriori informazioni, segui le seguenti istruzioni che descrivono le fasi con esempi di codice.
Nota
Il supporto PyTorch Lightning è disponibile nella libreria parallela di dati SageMaker AI v1.5.0 e versioni successive.
-
Importa la libreria
pytorch_lightning
e i modulismdistributed.dataparallel.torch
.import lightning as pl import smdistributed.dataparallel.torch.torch_smddp
-
LightningEnvironment
Istanzia il. from lightning.fabric.plugins.environments.lightning import LightningEnvironment env = LightningEnvironment() env.world_size = lambda: int(os.environ["WORLD_SIZE"]) env.global_rank = lambda: int(os.environ["RANK"])
-
Per PyTorch DDP: crea un oggetto della DDPStrategy
classe con "smddp"
forprocess_group_backend
e"gpu"
foraccelerator
, e passalo alla classe Trainer.import lightning as pl from lightning.pytorch.strategies import DDPStrategy ddp = DDPStrategy( cluster_environment=env, process_group_backend="smddp", accelerator="gpu" ) trainer = pl.Trainer( max_epochs=200, strategy=ddp, devices=num_gpus, num_nodes=num_nodes )
Per PyTorch FSDP: crea un oggetto della FSDPStrategy
classe (con la politica di wrapping preferita) con "smddp"
forprocess_group_backend
e"gpu"
foraccelerator
e passalo alla classe Trainer.import lightning as pl from lightning.pytorch.strategies import FSDPStrategy from functools import partial from torch.distributed.fsdp.wrap import size_based_auto_wrap_policy policy = partial( size_based_auto_wrap_policy, min_num_params=10000 ) fsdp = FSDPStrategy( auto_wrap_policy=policy, process_group_backend="smddp", cluster_environment=env ) trainer = pl.Trainer( max_epochs=200, strategy=fsdp, devices=num_gpus, num_nodes=num_nodes )
Dopo aver completato l'adattamento dello script di addestramento, procedi con Avvio di lavori di formazione distribuiti con SMDDP utilizzando Python SDK SageMaker .
Nota
Quando costruisci uno strumento di PyTorch valutazione dell' SageMaker intelligenza artificiale e invii una richiesta di lavoro di formazione inAvvio di lavori di formazione distribuiti con SMDDP utilizzando Python SDK SageMaker , devi provvedere all'installazione pytorch-lightning
e lightning-bolts
all'inserimento nel contenitore di formazione requirements.txt
AI. SageMaker PyTorch
# requirements.txt pytorch-lightning lightning-bolts
Per ulteriori informazioni su come specificare la directory di origine in cui inserire il requirements.txt
file insieme allo script di formazione e all'invio di un lavoro, consulta la sezione Utilizzo di librerie di terze parti nella documentazione