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

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Deep-Learning-OSS-AMI-GPU PyTorch 2.7 (Ubuntu 22.04)

Hilfe zu den ersten Schritten finden Sie unterErste Schritte mit DLAMI.

AMI-Namensformat

  • Deep Learning OSS Nvidia-Treiber AMI GPU PyTorch 2.7 (Ubuntu 22.04) $ {YYYY-MM-DD}

EC2 Unterstützte Instanzen

Das AMI umfasst Folgendes:

  • Unterstützter AWS Service: Amazon EC2

  • Betriebssystem: Ubuntu 22.04

  • Rechenarchitektur: x86

  • Linux-Kernel: 6.8

  • NVIDIA-Treiber: 570.133.20

  • NVIDIA CUDA 12.8-Stapel:

    • CUDA-, NCCL- und cuDDN-Installationsverzeichnisse:/-12.8/ usr/local/cuda

    • Ort der NCCL-Tests:

      • all_reduce, all_gather und reduce_scatter:

        /usr/local/cuda-12.8/efa/test-cuda-12.8/
      • Um NCCL-Tests auszuführen, wurde LD_LIBRARY_PATH bereits mit den benötigten Pfaden aktualisiert.

        • Häufig verwendete Dateien wurden bereits zu LD_LIBRARY_PATH hinzugefügt: PATHs

          /opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:/usr/local/lib:/usr/lib
        • LD_LIBRARY_PAT wurde mit CUDA-Versionspfaden aktualisiert:

          /usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cuda/targets/x86_64-linux/lib
    • Kompilierte NCCL-Version:

      • Für das CUDA-Verzeichnis von 12.8, kompilierte NCCL-Version 2.26.2+. CUDA12

    • Standard-CUDA: 12.8

      • PATH//usr/local/cudazeigt auf CUDA 12.8

      • Die folgenden Umgebungsvariablen wurden aktualisiert:

        • LD_LIBRARY_PATH soll/haben usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib

        • PATH, um//zu haben usr/local/cuda/bin/:/usr/local/cuda/include

  • EFA-Installationsprogramm: 1.40.0

  • Nvidia GDRCopy: 2.5

  • Nvidia-Transformer-Engine: 1.11.0

  • AWS OFI NCCL: 1.14.2-aws

    • Installationspfad:/wird zu LD_LIBRARY_PATH hinzugefügt opt/amazon/ofi-nccl/. Path /opt/amazon/ofi-nccl/lib

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

  • EBS-Volumetyp: gp3

  • Nvidia-Container-Toolkit: 1.17.7

    • Versionsbefehl: -V nvidia-container-cli

  • Docker: 28.2.2

  • Python:/usr/bin/python3.12

  • AMI-ID mit SSM-Parameter abfragen (Beispielregion ist 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
  • AMI-ID abfragen mit AWSCLI (Beispielregion ist 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

Hinweise

Flash, Achtung

  • Flash Attention hat noch keine offizielle Version für PyTorch 2.7. Aus diesem Grund wird es vorübergehend aus diesem AMI entfernt. Sobald eine offizielle Version für PyTorch 2.7 veröffentlicht wurde, werden wir sie in dieses AMI aufnehmen.

  • Ohne Flash Attention verwendet die Transformer Engine standardmäßig cuDNN Fused Attention. Derzeit sind Probleme mit Fused Attention und GPUs Blackwell bekannt, z. B. bei P6-B200-Instances.

    • „Bei der Rechenkapazität sm10.0 (Blackwell-Architektur) enthält der FP8 Datentyp mit skalierter Aufmerksamkeit auf Punktprodukte einen Deadlock GPUs, der dazu führt, dass der Kernel unter bestimmten Umständen hängen bleibt, z. B. wenn das Problem groß ist oder wenn auf der GPU mehrere Kernel gleichzeitig ausgeführt werden. Ein Fix ist für eine future Version geplant.“ [CuDNN 9.10.0 Versionshinweise]

    • Benutzer, die P6-B200-Instances mit FP8 Daten und skalierter Aufmerksamkeit auf Punktprodukte ausführen möchten, sollten erwägen, Flash Attention manuell zu installieren.

P6-B200-Instanzen

  • P6-B200-Instanzen erfordern CUDA Version 12.8 oder höher und NVIDIA-Treiber 570 oder neuere Treiber.

  • P6-B200 enthält 8 Netzwerkschnittstellenkarten und kann mit dem folgenden AWS CLI-Befehl gestartet werden:

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"

P5/P5e-Instanzen

  • DeviceIndex ist für jede Variable eindeutig NetworkCard und muss eine nicht negative Ganzzahl sein, die unter dem Grenzwert von per liegt. ENIs NetworkCard Auf P5 NetworkCard ist die Anzahl von ENIs per 2, was bedeutet, dass die einzigen gültigen Werte für 0 oder 1 DeviceIndex sind. Im Folgenden finden Sie ein Beispiel für einen Befehl zum Starten einer EC2 P5-Instanz mithilfe von awscli, der NetworkCardIndex für die Zahlen 0-31 und DeviceIndex als 0 für die erste Schnittstelle und 1 für die verbleibenden 31 Schnittstellen angezeigt wird.

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

  • Die Kernel-Version wird mit dem folgenden Befehl gepinnt:

    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
  • Wir empfehlen Benutzern, die Aktualisierung ihrer Kernel-Version zu vermeiden (es sei denn, es liegt ein Sicherheitspatch vor), um die Kompatibilität mit den installierten Treibern und Paketversionen sicherzustellen. Wenn Benutzer dennoch ein Update durchführen möchten, können sie die folgenden Befehle ausführen, um ihre Kernelversionen zu entsperren:

    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
  • Für jede neue Version von DLAMI wird der neueste verfügbare kompatible Kernel verwendet.

PyTorch Veraltete Version von Anaconda Channel

Ab Version PyTorch 2.6 wird die Unterstützung für Conda eingestellt (siehe offizielle Ankündigung). PyTorch Infolgedessen werden Version PyTorch 2.6 und höher zur Verwendung von virtuellen Python-Umgebungen übergehen. Um das PyTorch Venv zu aktivieren, verwenden Sie bitte source/opt/pytorch/bin/activate

Datum der Veröffentlichung: 2025-06-03

AMI-Name: Deep Learning OSS Nvidia-Treiber AMI GPU PyTorch 2.7 (Ubuntu 22.04) 20250602

Hinzugefügt

  • Erste Version der Deep Learning AMI GPU PyTorch 2.7 (Ubuntu 22.04) -Serie. Einschließlich einer virtuellen Python-Umgebung pytorch (source/opt/pytorch/bin/activate), ergänzt mit NVIDIA-Treiber R570, CUDA=12.8, cuDNN=9.10, NCCL=2.26.5 und EFA=1.40.0. PyTorch

Bekannte Probleme

  • „Mit der Rechenkapazität sm10.0 (Blackwell-Architektur) GPUs enthält der FP8 Datentyp mit skalierter Aufmerksamkeit auf das Punktprodukt einen Deadlock, der dazu führt, dass der Kernel unter bestimmten Umständen hängen bleibt, z. B. wenn das Problem groß ist oder die GPU mehrere Kernel gleichzeitig ausführt. Ein Fix ist für eine future Version geplant.“ [CuDNN 9.10.0 Versionshinweise]

    • Benutzer, die P6-B200-Instances mit FP8 Daten und skalierter Aufmerksamkeit auf Punktprodukte ausführen möchten, sollten erwägen, Flash Attention manuell zu installieren.