Notas de la versión de la biblioteca de paralelismo de modelos de SageMaker - Amazon SageMaker AI

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.

Notas de la versión de la biblioteca de paralelismo de modelos de SageMaker

Consulte las siguientes notas de la versión para realizar un seguimiento de las últimas actualizaciones de la biblioteca de paralelismo de modelos de SageMaker (SMP). Si tiene más preguntas sobre la biblioteca de SMP, póngase en contacto con el equipo de servicio de SMP en sm-model-parallel-feedback@amazon.com.

La biblioteca de paralelismo de modelos de SageMaker v2.8.0

Fecha: 1 de abril de 2025

Actualizaciones de la biblioteca de SMP

Correcciones de errores

  • El recorte por norma de degradado SMP ahora admite la descarga de activaciones.

Contenedores de Docker de SMP y Enroot

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.243.0 o posteriores.

Actualizaciones de divisas

  • Se ha añadido compatibilidad con PyTorch v2.5.1

  • Se ha actualizado la compatibilidad con CUDA a la v12.4

  • Se ha actualizado la compatibilidad con NCCL a la v2.23.4

  • Se ha actualizado la biblioteca SMDDP a la v2.6.0.

Detalles del contenedor

  • Contenedor de Docker de SMP para PyTorch v2.5.1 con CUDA v12.4

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.5.1-gpu-py311-cu124
  • Contenedor de Enroot de SMP para PyTorch v2.5.1 con CUDA v12.4

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.5.1-gpu-py311-cu124.sqsh
  • Paquetes preinstalados

    • La biblioteca de SMP v2.8.0

    • La biblioteca de SMDDP v2.6.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de datos Hugging Face v2.19.0

    • EFA v1.36.0

    • NCCL v2.23.4

    • AWS-OFI-NCCL v1.13.2

Canal Conda de SMP

El siguiente bucket de S3 es el canal Conda público de la biblioteca de SMP alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.7.0

Fecha: 4 de diciembre de 2024

Actualizaciones de la biblioteca de SMP

Nuevas características

Contenedores de Docker de SMP y Enroot

El equipo de bibliotecas de SMP distribuye contenedores de Docker y Enroot en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.237.0 o posteriores.

Detalles del contenedor

  • Contenedor de Docker de SMP para PyTorch v2.4.1 con CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • Contenedor de Enroot de SMP para PyTorch v2.4.1 con CUDA v12.1

    https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh
  • Paquetes preinstalados

    • La biblioteca de SMP v2.7.0

    • La biblioteca SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de datos Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal Conda de SMP

El siguiente bucket de S3 es el canal Conda público de la biblioteca de SMP alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno Conda como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.6.1

Fecha: 31 de octubre de 2024

Actualizaciones de la biblioteca de SMP

Correcciones de errores

  • Se ha corregido un problema de ImportError que se producía al utilizar scripts de entrenamiento antiguos con SMP v2.6.0. Esto corrige la incompatibilidad con versiones anteriores con SMP v2.6.0.

  • Se ha añadido una DeprecationWarning para torch.sagemaker.distributed.fsdp.checkpoint. Este módulo quedará en desuso y se eliminará en SMP v2.7.0. Si actualmente utiliza torch.sagemaker.distributed.fsdp.checkpoint en su código, debería planear actualizar sus scripts antes del lanzamiento de SMP v2.7.0 para evitar problemas en el futuro.

  • Se ha corregido un problema de compatibilidad con versiones anteriores identificado en SMP v2.6.0. Este problema estaba relacionado con la obsolescencia del método de comprobación USE_PG_WITH_UTIL en SMP v2.6.0, lo que rompía la compatibilidad con versiones anteriores de los scripts de entrenamiento. Para resolver este problema, vuelva a ejecutar sus trabajos de entrenamiento de PyTorch para utilizar el último contenedor de SMP empaquetado con SMP v2.6.1.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP.

Detalles del contenedor

  • Contenedor de Docker de SMP para PyTorch v2.4.1 con CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • Paquetes preinstalados

    • La biblioteca de SMP v2.6.1

    • La biblioteca SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de datos Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal Conda de SMP

El siguiente bucket de S3 es el canal Conda público de la biblioteca de SMP alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno de recursos de computación altamente personalizables, como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.6.0

Fecha: 17 de octubre de 2024

Actualizaciones de la biblioteca de SMP

Nuevas características

  • Se ha agregado compatibilidad con las siguientes configuraciones del modelo LLM. Puede empezar a usar Paralelismo de contexto y Paralelismo de tensores.

  • Se ha agregado compatibilidad de Paralelismo de tensores con las siguientes configuraciones del modelo Mixtral.

  • Se ha agregó compatibilidad con una implementación de paralelismo contextual basada en AllGather que utiliza el colectivo de comunicación AllGather para obtener la secuencia completa de tensores de clave y valor. Las implementaciones disponibles son p2p y all_gather. La implementación de p2p utiliza llamadas de envío y recepción entre pares para la acumulación de tensores de clave y valor (KV) durante la computación de atención, ejecutándose de forma asíncrona y permitiendo que la comunicación se superponga con la computación. Por otro lado, la implementación de all_gather emplea la operación colectiva de comunicación de AllGather para la acumulación de tensores de KV. Para aprender a aplicar esta implementación del paralelismo contextual, consulte Paralelismo de contexto.

  • Se ha añadido compatibilidad con el ajuste del valor theta de la incrustación de posición rotatoria (RoPE).

Correcciones de errores

  • Se ha corregido un error que provocaba que la incrustación de posición rotatoria (RoPE) no se inicializara correctamente durante el entrenamiento previo cuando el parámetro de retardo estaba habilitado.

Problemas conocidos

  • Actualmente, Transformer Engine no admite paralelismo contextual ni FP8 con atención a ventanas deslizantes habilitada. Por tanto, la versión de SMP de los transformadores de Mistral no admite paralelismo contextual ni entrenamiento FP8 cuando la configuración de ventanas deslizantes se establece en un valor no nulo.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP.

Actualizaciones de divisas

  • Se ha actualizado PyTorch a v2.4.1

  • Se ha actualizado Megatron a v0.8.0

  • Se ha actualizado la biblioteca TransformerEngine a la v1.10

  • Se ha actualizado Transformers a v4.44.2

  • Se ha actualizado cuDNN a v9.4.0.58

Detalles del contenedor

  • Contenedor de Docker de SMP para PyTorch v2.4.1 con CUDA v12.1

    658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  • Paquetes preinstalados

    • La biblioteca de SMP v2.6.0

    • La biblioteca SMDDP v2.5.0

    • CUDNN v9.4.0

    • FlashAttention v2.5.8

    • TransformerEngine v1.10

    • Megatron v0.8.0

    • Hugging Face Transformers v4.44.2

    • Biblioteca de conjuntos de datos Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal Conda de SMP

El siguiente bucket de S3 es el canal Conda público de la biblioteca de SMP alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno de recursos de computación altamente personalizables, como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.5.0

Fecha: 28 de agosto de 2024

Actualizaciones de la biblioteca de SMP

Nuevas características

  • Se ha agregado compatibilidad con el entrenamiento de precisión mixta utilizando el formato de datos FP8 en instancias P5 para el modelo Mixtral.

  • Se ha agregado compatibilidad con Paralelismo de contexto para las siguientes configuraciones del modelo.

    • Llama-v2: 7B y 70B

    • Llama-v3: 8B y 70B

    • GPT-NeoX: 20B

  • Se ha agregado compatibilidad para guardar puntos de comprobación de forma asíncrona. Para obtener más información, consulte Puntos de comprobación mediante SMP.

    • Compatibilidad para guardar puntos de comprobación directamente en S3 sin utilizar Amazon EBS ni servidores de archivos.

Correcciones de errores

  • Se ha solucionado un problema que provocaba una pérdida inicial inesperadamente elevada durante el refinamiento de Llama al cargar un punto de comprobación de un modelo previamente entrenado y utilizar paralelismo de tensores.

Notas

  • Para utilizar los puntos de comprobación de activación para Mixtral con una precisión mixta FP8, deberá comprobar las capas de atención y de experto por separado. Para ver un ejemplo de cómo configurarlo correctamente, consulte el ejemplo de script de entrenamiento en el repositorio de ejemplos de Amazon SageMaker AI.

Problemas conocidos

  • El tipo de equilibrador de carga equilibrado de la configuración del MoE (torch.sagemaker.moe.moe_config.MoEConfig) no es compatible actualmente con los puntos de comprobación de activación.

  • Con paralelismo contextual, GPT-NeoX muestra regresión del rendimiento tanto en el entrenamiento previo como en el refinamiento.

  • Para GPT-NeoX en instancias P4, cargar directamente las ponderaciones de un modelo transformado inicializado con parámetros retardados en un modelo de transformador Hugging Face provoca un desajuste de pérdida en el primer paso.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.224.0 o posteriores.

Actualizaciones de divisas

  • Se ha actualizado la biblioteca FlashAttention a la v2.5.8

  • Se ha actualizado la biblioteca Transformer Engine a la v1.8

    • Si desea instalar Transformer Engine en un entorno de Conda, debe compilar desde el código fuente y seleccionar cuidadosamente las correcciones iniciales específicas (744624d, 27c6342, 7669bf3).

Detalles del contenedor

  • Contenedor de Docker de SMP para PyTorch v2.3.1 con CUDA v12.1

    658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121

    Para obtener una lista completa de las regiones admitidas, consulte Regiones de AWS.

  • Paquetes preinstalados

    • La biblioteca de SMP v2.5.0

    • La biblioteca SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.5.8

    • TransformerEngine v1.8

    • Megatron v0.7.0

    • Hugging Face Transformers v4.40.1

    • Biblioteca de conjuntos de datos Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal Conda de SMP

El siguiente bucket de S3 es el canal Conda público de la biblioteca de SMP alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno de recursos de computación altamente personalizables, como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.4.0

Fecha: 20 de junio de 2024

Actualizaciones de la biblioteca de SMP

Correcciones de errores

  • Se ha corregido un error que provocaba que las formas logit fueran incorrectas cuando no se pasaban etiquetas en la propagación hacia delante mientras se utilizaba el transformador de SMP.

Actualizaciones de divisas

  • Se ha añadido compatibilidad con PyTorch v2.3.1.

  • Se ha añadido compatibilidad con Python 3.11.

  • La biblioteca Hugging Face Transformers v4.40.1 ahora es compatible.

Obsolescencias

  • Se ha dejado de admitir Python v3.10.

  • Se han dejado de admitir las versiones de la biblioteca de Hugging Face Transformers anteriores a la v4.40.1.

Otros cambios

  • Se ha incluido un parche para activar y desactivar el almacenamiento de tensores deduplicados en diferentes rangos. Para obtener más información, consulte el hilo de debate en el repositorio de GitHub de PyTorch.

Problemas conocidos

  • Existe un problema conocido que hace que la pérdida se dispare y luego se reanude con un valor de pérdida más alto mientras se refina Llama-3 70B con paralelismo de tensores.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.224.0 o posteriores.

Actualizaciones de divisas

  • Se ha actualizado la biblioteca SMDDP a la v2.3.0.

  • Se ha actualizado la biblioteca NCCL a la v2.21.5.

  • Se ha actualizado el software EFA a la v1.32.0.

Obsolescencias

Detalles del contenedor

  • Contenedor de Docker de SMP para PyTorch v2.3.1 con CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • Paquetes preinstalados

    • La biblioteca de SMP v2.4.0

    • La biblioteca SMDDP v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face Transformers v4.40.1

    • Biblioteca de conjuntos de datos Hugging Face v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

Canal Conda de SMP

El siguiente bucket de S3 es el canal Conda público de la biblioteca de SMP alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno de recursos de computación altamente personalizables, como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.3.1

Fecha: 9 de mayo de 2024

Correcciones de errores

  • Se ha corregido un error de ImportError que se producía al usar moe_load_balancing=balanced en torch.sagemaker.moe.moe_config.MoEConfig para paralelismo experto.

  • Se ha corregido un error de refinamiento que provocaba que la llamada de torch.sagemaker.transform emitiera KeyError cuando estaba activada load_state_dict_from_rank0.

  • Se ha corregido un error de memoria insuficiente (OOM) que se producía al cargar modelos de Mixture of Experts (MoE) de gran tamaño, como Mixtral 8x22B, para realizar refinamientos precisos.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Esta versión incorpora las correcciones de errores mencionadas en la siguiente imagen de Docker de SMP.

  • Contenedor de Docker de SMP para PyTorch v2.2.0 con CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121

La biblioteca de paralelismo de modelos de SageMaker v2.3.0

Fecha: 11 de abril de 2024

Nuevas características

  • Se ha agregado una nueva característica esencial, paralelismo experto, para admitir modelos de transformador de Mixture of Experts. Para obtener más información, consulte Paralelismo experto.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.214.4 o posteriores.

  • Contenedor de Docker de SMP para PyTorch v2.2.0 con CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • Paquetes preinstalados en este contenedor de Docker

      • La biblioteca SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Biblioteca de conjuntos de datos Hugging Face v2.16.1

      • Megatron-core 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

La biblioteca de paralelismo de modelos de SageMaker v2.2.0

Fecha: 7 de marzo de 2024

Nuevas características

  • Se ha agregado compatibilidad con entrenamiento de FP8 de los siguientes modelos de Hugging Face Transformer en instancias P5 con integración de Transformer Engine:

    • GPT-NeoX

    • Llama 2

Correcciones de errores

  • Se ha corregido un error que impedía garantizar que los tensores fueran contiguos antes de la llamada colectiva de AllGather durante el entrenamiento de paralelismo de tensores.

Actualizaciones de divisas

  • Se ha añadido compatibilidad con PyTorch v2.2.0.

  • Se ha actualizado la biblioteca SMDDP a la v2.2.0.

  • Se ha actualizado la biblioteca FlashAttention a la v2.3.3.

  • Se ha actualizado la biblioteca NCCL a la v2.19.4.

Obsolescencia

  • Se han dejado de admitir las versiones de Transformer Engine anteriores a la v1.2.0.

Problemas conocidos

  • La característica Descarga de activación de SMP no funciona actualmente. Utilice la descarga de activaciones nativa de PyTorch.

Otros cambios

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.212.0 o posteriores.

  • Contenedor de Docker de SMP para PyTorch v2.2.0 con CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • Disponible para instancias P4d, P4de y P5

    • Paquetes preinstalados en este contenedor de Docker

      • La biblioteca SMDDP v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Biblioteca de conjuntos de datos Hugging Face v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

La biblioteca de paralelismo de modelos de SageMaker v2.1.0

Fecha: 6 de febrero de 2024

Actualizaciones de divisas

  • Se ha añadido compatibilidad con PyTorch v2.1.2.

Obsolescencia

  • Se ha dejado de admitir Hugging Face Transformers v4.31.0.

Problemas conocidos

  • Se ha descubierto un problema por el cual el refinamiento del modelo de Hugging Face Llama 2 con attn_implementation=flash_attention_2 y FSDP provoca que el modelo diverja. Como referencia, consulte el ticket de problema en el repositorio de GitHub de Hugging Face Transformers. Para evitar el problema de la divergencia, use attn_implementation=sdpa. Como alternativa, utilice la implementación del modelo de transformador de SMP mediante la configuración de use_smp_implementation=True.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.207.0 o posteriores.

  • Contenedor de Docker de SMP para PyTorch v2.1.2 con CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • Disponible para instancias P4d, P4de y P5

    • Paquetes preinstalados en este contenedor de Docker

      • La biblioteca SMDDP v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face Transformers v4.37.1

      • Biblioteca de conjuntos de datos Hugging Face v2.16.1

      • EFA v1.30.0

Canal Conda de SMP

El siguiente bucket de S3 es el canal de Conda público alojado por el equipo de servicio de SMP. Si desea instalar la biblioteca de SMP v2 en un entorno de recursos de computación altamente personalizables, como los clústeres de SageMaker HyperPod, utilice este canal de Conda para instalar correctamente la biblioteca de SMP.

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

Para obtener más información sobre los canales de Conda en general, consulte Canales en la documentación de Conda.

La biblioteca de paralelismo de modelos de SageMaker v2.0.0

Fecha: 19 de diciembre de 2023

Nuevas características

Se ha publicado la biblioteca de paralelismo de modelos de SageMaker (SMP) v2.0.0 con las siguientes novedades.

  • Un nuevo paquete de torch.sagemaker, completamente renovado respecto al paquete de smdistributed.modelparallel.torch anterior en SMP v1.x.

  • Compatibilidad con PyTorch v2.0.1.

  • Compatibilidad con PyTorch FSDP.

  • Implementación del paralelismo de tensores mediante la integración con la biblioteca de Transformer Engine.

  • Compatibilidad con Entrenamiento de SageMaker y SageMaker HyperPod.

Cambios importantes

  • SMP v2 ha renovado las API por completo y proporciona el paquete de torch.sagemaker. Principalmente, solo necesita inicializar con el módulo de torch.sagemaker.init() y pasar parámetros de configuración paralela de modelos. Con este nuevo paquete puede simplificar considerablemente las modificaciones de código en el script de entrenamiento. Para obtener más información sobre cómo adaptar su script de entrenamiento para usar SMP v2, consulte Uso de la biblioteca de paralelismo de modelos de SageMaker v2.

  • Si ha utilizado SMP v1 para entrenar modelos de Hugging Face Transformer y quiere reutilizarlos en SMP v2, consulte Actualización de SMP v1 a SMP v2.

  • Para entrenamiento de PyTorch FSDP debe usar SMP v2.

Problemas conocidos

  • Actualmente, los puntos de comprobación de activación solo funcionan con las siguientes políticas de encapsulamiento con FSDP.

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • Para utilizar Descarga de activación, el tipo de punto de comprobación de activación de FSDP debe ser REENTRANT.

  • Cuando se ejecuta con paralelismo de tensores habilitado con el grado de paralelo de datos particionados establecido en 1, debe usar backend = nccl. La opción de backend de smddp no es compatible en este escenario.

  • Se requiere Transformer Engine para usar PyTorch con la biblioteca de SMP incluso cuando no se usa paralelismo de tensores.

Otros cambios

Obsolescencias

  • Se ha dejado de admitir TensorFlow.

  • SMP v2 no admite paralelismo de canalización.

  • No hay compatibilidad con la biblioteca DeepSpeed en favor de PyTorch FSDP nativo.

Contenedor de Docker de SMP

El equipo de bibliotecas de SMP distribuye contenedores de Docker en sustitución de los contenedores de marco de SageMaker PyTorch. Si usa la clase de estimador de PyTorch en el SageMaker Python SDK y especifica la configuración de distribución para usar SMP v2, SageMaker AI selecciona automáticamente los contenedores de Docker de SMP. Para utilizar esta versión de SMP v2, actualice el SageMaker Python SDK a la v2.207.0 o posteriores.

  • Contenedor de Docker de SMP para PyTorch v2.0.1 con CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121