Ejecute cargas de trabajo de formación distribuidas con Slurm activado HyperPod - 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.

Ejecute cargas de trabajo de formación distribuidas con Slurm activado HyperPod

SageMaker HyperPod está especializado en las cargas de trabajo de entrenamiento de modelos lingüísticos de gran tamaño (LLMs) y modelos básicos (). FMs Estas cargas de trabajo suelen requerir el uso de varias técnicas de paralelismo y operaciones optimizadas para la infraestructura y los recursos del aprendizaje automático. Con ellos SageMaker HyperPod, puede utilizar los siguientes marcos de formación distribuidos: SageMaker

SMDDPUtilizándolo en un SageMaker HyperPod

La SMDDPbiblioteca es una biblioteca de comunicación colectiva que mejora el rendimiento informático del entrenamiento en paralelo de datos distribuidos. La SMDDP biblioteca funciona con los siguientes marcos de formación distribuida de código abierto:

La SMDDP biblioteca aborda la sobrecarga de comunicación de las principales operaciones de comunicación colectiva al ofrecer lo siguiente para. SageMaker HyperPod

  • La biblioteca ofrece ofertas AllGather optimizadas para AWS. AllGatheres una operación clave utilizada en el entrenamiento paralelo de datos fragmentados, que es una técnica de paralelismo de datos eficiente en memoria que ofrecen las bibliotecas populares. Estas incluyen la biblioteca de paralelismo de SageMaker modelos (), el optimizador de redundancia DeepSpeed cero (ZeROSMP) y el paralelismo de datos totalmente fragmentado (). PyTorch FSDP

  • La biblioteca ofrece una node-to-node comunicación optimizada al utilizar al máximo la infraestructura de red y la topología de las instancias de aprendizaje automático. AWS SageMaker

Para ejecutar ejemplos de trabajos de formación paralelos a los datos

Explore los siguientes ejemplos de formación distribuidos que implementan técnicas de paralelismo de datos mediante la biblioteca. SMDDP

Para configurar un entorno para usar la biblioteca en SMDDP SageMaker HyperPod

Los siguientes son los requisitos del entorno de formación para utilizar la SMDDP biblioteca en ella SageMaker HyperPod.

  • PyTorch v2.0.1 y versiones posteriores

  • CUDAv11.8 y versiones posteriores

  • libstdc++versión en tiempo de ejecución superior a 3

  • Python v3.10.x y versiones posteriores

  • ml.p4d.24xlargeyml.p4de.24xlarge, cuáles son los tipos de instancia compatibles con la biblioteca SMDDP

  • imdsv2habilitados en el anfitrión de entrenamiento

En función de cómo desee ejecutar el trabajo de formación distribuido, hay dos opciones para instalar la SMDDP biblioteca:

  • Una instalación directa mediante el archivo SMDDP binario.

  • Uso de SageMaker Deep Learning Containers (DLCs) preinstalados con la SMDDP biblioteca.

Las imágenes de Docker preinstaladas con la SMDDP biblioteca o los URLs archivos SMDDP binarios aparecen en la sección Marcos compatibles de la documentación de la SMDDP biblioteca.

Para instalar la SMDDP biblioteca en el 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.whl

    nota

    Si trabaja en un entorno Conda, asegúrese de realizar la instalación PyTorch utilizando conda install en lugar depip.

    conda install pytorch==X.Y.Z torchvision==X.Y.Z torchaudio==X.Y.Z pytorch-cuda=X.Y.Z -c pytorch -c nvidia
Para usar la SMDDP biblioteca en un contenedor de Docker
  • La SMDDP biblioteca viene preinstalada en SageMaker Deep Learning Containers (DLCs). Para ver la lista de SageMaker marcos incluidos DLCs en la SMDDP biblioteca, consulte los marcos compatibles en la documentación de la SMDDP biblioteca. PyTorch También puedes traer tu propio contenedor de Docker con las dependencias necesarias instaladas para usar la SMDDP biblioteca. Para obtener más información sobre cómo configurar un contenedor Docker personalizado para usar la SMDDP biblioteca, consulta también. Cree su propio contenedor Docker con la biblioteca paralela de datos SageMaker distribuidos

    importante

    Para usar la SMDDP biblioteca en un contenedor de Docker, monte el /var/log directorio de la máquina host /var/log en el contenedor. Esto se puede hacer añadiendo la siguiente opción al ejecutar el contenedor.

    docker run <OTHER_OPTIONS> -v /var/log:/var/log ...

Para obtener información sobre cómo ejecutar trabajos de formación paralelos a datos SMDDP en general, consulteCapacitación distribuida con la biblioteca de paralelismo de datos SageMaker distribuidos.

Utilización SMP en un clúster SageMaker HyperPod

La biblioteca de SageMaker modelos paralelism (SMP) ofrece varias técnicas de paralelismo de state-of-the-art modelos, entre las que se incluyen:

  • paralelismo de datos totalmente fragmentado

  • paralelismo experto

  • entrenamiento de precisión mixto conFP16/BF16y tipos de datos FP8

  • paralelismo tensorial

La SMP biblioteca también es compatible con marcos de código abierto como NVIDIA Megatron y PyTorch FSDP Transformer Engine. NVIDIA

Para ejecutar un ejemplo de carga de trabajo de formación paralela a un modelo

Los equipos SageMaker de servicio ofrecen ejemplos de trabajos de formación que implementan el paralelismo de modelos con la biblioteca de. SMP awsome-distributed-training/3.test_cases/17.SM-modelparallelv2