AWS GPU AMI de aprendizaje profundo OSS PyTorch 2.7 (Ubuntu 22.04) - AWS Deep Learning AMIs

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.

AWS GPU AMI de aprendizaje profundo OSS PyTorch 2.7 (Ubuntu 22.04)

Para obtener ayuda para empezar, consulteIntroducción a las DLAMI.

Formato de nombre AMI

  • Sistema operativo de aprendizaje profundo Controlador Nvidia AMI GPU PyTorch 2.7 (Ubuntu 22.04) $ {YYY-MM-DD}

EC2 Instancias compatibles

La AMI incluye lo siguiente:

  • AWS Servicio compatible: Amazon EC2

  • Sistema operativo: Ubuntu 22.04

  • Arquitectura de cómputo: x86

  • Núcleo de Linux: 6.8

  • Controlador NVIDIA: 570.133.20

  • Pila NVIDIA CUDA 12.8:

    • Directorios de instalación de CUDA, NCCL y CUDDN:/-12.8/ usr/local/cuda

    • Ubicación de las pruebas del NCCL:

      • all_reduce, all_gather y reduce_scatter:

        /usr/local/cuda-12.8/efa/test-cuda-12.8/
      • Para ejecutar las pruebas de la NCCL, LD_LIBRARY_PATH ya está actualizado con las rutas necesarias.

        • Las más comunes ya están añadidas a LD_LIBRARY_PATH: PATHs

          /opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:/usr/local/lib:/usr/lib
        • LD_LIBRARY_PAT se actualiza con las rutas de la versión CUDA:

          /usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cuda/targets/x86_64-linux/lib
    • Versión NCCL compilada:

      • Para el directorio CUDA de 12.8, compiló la versión 2.26.2+ .8 de NCCL CUDA12

    • CUDA predeterminado: 12.8

      • PATH/usr/local/cudaapunta a CUDA 12.8

      • Se actualizó a continuación las siguientes variables de entorno:

        • LD_LIBRARY_PATH tendrá/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib

        • PATH para tener//usr/local/cuda/bin/:/usr/local/cuda/include

  • Instalador de EFA: 1.40.0

  • Nvidia: 2.5 GDRCopy

  • Motor Nvidia Transformer: 1.11.0

  • AWS OFI NCCL: 1.14.2 ejes

    • La ruta de instalación:/se agrega a LD_LIBRARY_PATH opt/amazon/ofi-nccl/. Path /opt/amazon/ofi-nccl/lib

  • AWS CLI v2 en/usr/local/bin/aws

  • Tipo de volumen de EBS: gp3

  • Kit de herramientas de contenedores Nvidia: 1.17.7

    • Comando de versión: -V nvidia-container-cli

  • Docker: 28.2.2

  • Python:/usr/bin/python3.12

  • Consulte el AMI-ID con el parámetro SSM (la región de ejemplo es us-east-1):

    aws ssm get-parameter --region us-east-1 \ --name /aws/service/deeplearning/ami/x86_64/oss-nvidia-driver-gpu-pytorch-2.7-ubuntu-22.04/latest/ami-id \ --query "Parameter.Value" \ --output text
  • Consulta el AMI-ID con AWSCLI (la región de ejemplo es us-east-1):

    aws ec2 describe-images --region us-east-1 --owners amazon --filters 'Name=name,Values=Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.7 (Ubuntu 22.04) ????????' 'Name=state,Values=available' --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' --output text

​Avisos

¡Atención instantánea!

  • Flash attention aún no tiene una versión oficial para la versión PyTorch 2.7. Por este motivo, se elimina temporalmente de esta AMI. Cuando se publique oficialmente la versión PyTorch 2.7, la incluiremos en esta AMI.

  • Sin atención flash, el motor del transformador utiliza por defecto la atención fusionada cuDNN. Actualmente hay problemas conocidos con Fused Attention y GPUs Blackwell, como las instancias P6-B200.

    • «Con la capacidad de procesamiento sm10.0 (arquitectura Blackwell) GPUs, el FP8 tipo de datos al que se presta mayor atención al producto puntual contiene un punto muerto que provoca que el núcleo se bloquee en determinadas circunstancias, por ejemplo, cuando el problema es de gran tamaño o cuando la GPU ejecuta varios núcleos simultáneamente. Se planea una solución para una versión futura». [Notas de la versión cuDNN 9.10.0]

    • Los usuarios que deseen ejecutar instancias P6-B200 con FP8 datos y una atención escalonada basada en productos puntuales, consideren la posibilidad de instalar Flash Attention manualmente.

Instancias P6-B200

  • Las instancias P6-B200 requieren la versión 12.8 de CUDA o superior y el controlador NVIDIA 570 o los controladores más recientes.

  • El P6-B200 contiene 8 tarjetas de interfaz de red y se puede iniciar mediante el siguiente comando CLI AWS :

aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instanace,Tags=[{Key=Name,Value=$TAG}]" \ --network-interfaces ""NetworkCardIndex=0,DeviceIndex=0,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=1,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=2,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=3,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=4,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ .... .... .... "NetworkCardIndex=7,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa"

Instancias P5/P5e

  • DeviceIndex es exclusivo de cada una NetworkCard y debe ser un número entero no negativo inferior al límite de per. ENIs NetworkCard En P5, el número de ENIs per NetworkCard es 2, lo que significa que los únicos valores válidos DeviceIndex son 0 o 1. A continuación, se muestra un ejemplo del comando de lanzamiento de una instancia de EC2 P5 en el que se utiliza awscli NetworkCardIndex para los números del 0 al 31 y DeviceIndex se muestra un 0 para la primera interfaz y un 1 para las 31 interfaces restantes.

aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instanace,Tags=[{Key=Name,Value=$TAG}]" \ --network-interfaces ""NetworkCardIndex=0,DeviceIndex=0,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=1,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=2,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=3,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=4,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ .... .... .... "NetworkCardIndex=31,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa"

Kernel

  • La versión del núcleo se fija mediante el comando:

    echo linux-aws hold | sudo dkpg -set-selections echo linux-headers-aws hold | sudo dpkg -set-selections echo linux-image-aws hold | sudo dpkg -set-selections
  • Recomendamos a los usuarios que eviten actualizar su versión del núcleo (a menos que se trate de un parche de seguridad) para garantizar la compatibilidad con los controladores y las versiones de los paquetes instalados. Si los usuarios aún desean actualizar, pueden ejecutar los siguientes comandos para desbloquear sus versiones del núcleo:

    echo linux-aws install | sudo dpkg -set-selections echo linux-headers-aws install | sudo dpkg -set-selections echo linux-image-aws install | sudo dpkg -set-selections apt-get upgrade -y
  • Para cada nueva versión de DLAMI, se utiliza el último núcleo compatible disponible.

PyTorch Obsolescencia del canal Anaconda

A partir de la PyTorch versión 2.6, PyTorch ha dejado de ser compatible con Conda (consulte el anuncio oficial). Como resultado, la versión PyTorch 2.6 y las versiones posteriores pasarán a utilizar entornos virtuales de Python. Para activar el PyTorch venv, utilice la fuente/opt/pytorch/bin/activate

Fecha de lanzamiento: 03/06/2020

Nombre de AMI: Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.7 (Ubuntu 22.04) 20250602

Added

  • Versión inicial de la serie Deep Learning AMI GPU PyTorch 2.7 (Ubuntu 22.04). Incluye un entorno virtual Python pytorch (source/opt/pytorch/bin/activate) complementado con el controlador NVIDIA R570, CUDA=12.8, CUDNN=9.10, NCCL=2.26.5 y EFA=1.40.0. PyTorch

Problemas conocidos

  • «Con la capacidad de cálculo sm10.0 (arquitectura Blackwell) GPUs, el FP8 tipo de datos con atención escalada a productos puntuales contiene un punto muerto que provoca que el núcleo se bloquee en algunas circunstancias, como cuando el tamaño del problema es grande o la GPU ejecuta varios núcleos simultáneamente. Se planea una solución para una versión futura». [Notas de la versión cuDNN 9.10.0]

    • Los usuarios que deseen ejecutar instancias P6-B200 con FP8 datos y una atención escalonada basada en productos puntuales, consideren la posibilidad de instalar Flash Attention manualmente.