Utilice la SMDDP biblioteca en su guion de formación PyTorch - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilice la SMDDP biblioteca en su guion de formación PyTorch

A partir de la biblioteca SageMaker distributed data parallelism (SMDDP) v1.4.0, puede utilizarla como una opción de backend para el paquete distribuido. PyTorch Para utilizar las operaciones SMDDP AllReduce y las operaciones AllGather colectivas, solo tiene que importar la SMDDP biblioteca que se encuentra al principio del guion de entrenamiento y configurarla SMDDP como base de los módulos distribuidos durante la inicialización del grupo de PyTorch procesos. Con la especificación del backend en una sola línea, puede mantener intactos todos los módulos PyTorch distribuidos nativos y todo el guion de formación. Los siguientes fragmentos de código muestran cómo utilizar la SMDDP biblioteca como backend de los paquetes de formación distribuidos PyTorch basados en PyTorch datos: distributed data parallel (DDP), PyTorch fully sharded data paralelism (FSDP) y Megatron-. DeepSpeedDeepSpeed

PyTorch DDP¿Para o FSDP

Inicialice el grupo de procesos de la siguiente manera.

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

(Solo para PyTorch DDP trabajos) Actualmente, el smddp backend no admite la creación de grupos de subprocesos con. torch.distributed.new_group() API Tampoco puede utilizar el smddp backend simultáneamente con otros backends de grupos de procesos, como y. NCCL Gloo

Para DeepSpeed o Megatron- DeepSpeed

Inicialice el grupo de procesos de la siguiente manera.

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

Para usarlo SMDDP AllGather con los lanzadores mpirun basados (smdistributedypytorchddp)Lanzamiento de trabajos de formación distribuidos SMDDP con SageMaker Python SDK, también necesitas configurar la siguiente variable de entorno en tu script de entrenamiento.

export SMDATAPARALLEL_OPTIMIZE_SDP=true

Para obtener orientación general sobre cómo escribir un guion de PyTorch FSDP entrenamiento, consulte Capacitación avanzada de modelos con datos completamente fragmentados en paralelo (FSDP) en la PyTorch documentación.

Para obtener una guía general sobre cómo escribir un guion de PyTorch DDP formación, consulte Introducción a los datos distribuidos en paralelo en la PyTorch documentación.

Cuando haya terminado de adaptar su script de entrenamiento, continúe con Lanzamiento de trabajos de formación distribuidos SMDDP con SageMaker Python SDK.