Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS GPU AMI OSS con apprendimento approfondito PyTorch 2.7 (Ubuntu 22.04)
Per informazioni su come iniziare, consulta. Guida introduttiva a DLAMI
Formato del nome AMI
GPU AMI Nvidia Driver OSS con apprendimento approfondito PyTorch 2.7 (Ubuntu 22.04) $ {YYYY-MM-DD}
Istanze supportate EC2
Consulta la sezione Modifiche importanti a DLAMI
G4dn, G5, G5, Gr6, P4, P4de, P5, P5e, P5en, P6-B200
L'AMI include quanto segue:
AWS Servizio supportato: Amazon EC2
Sistema operativo: Ubuntu 22.04
Architettura di calcolo: x86
Kernel Linux: 6.8
Driver NVIDIA: 570.133.20
Pila NVIDIA CUDA 12.8:
Directory di installazione CUDA, NCCL e cuDDN:/-12.8/ usr/local/cuda
Luogo dei test NCCL:
all_reduce, all_gather e reduce_scatter:
/usr/local/cuda-12.8/efa/test-cuda-12.8/
Per eseguire i test NCCL, LD_LIBRARY_PATH è già aggiornato con i percorsi necessari.
I comuni sono già stati aggiunti 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 viene aggiornato con i percorsi della versione CUDA:
/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cuda/targets/x86_64-linux/lib
Versione NCCL compilata:
Per la directory CUDA 12.8, compilata la versione NCCL 2.26.2+ .8 CUDA12
CUDA predefinito: 12.8
PATH/usr/local/cudapunta a CUDA 12.8
-
Aggiornato di seguito le variabili di ambiente:
LD_LIBRARY_PATH da avere/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib
PERCORSO da avere//usr/local/cuda/bin/:/usr/local/cuda/include
Programma di installazione EFA: 1.40.0
GDRCopyNvidia: 2.5
Motore Nvidia Transformer: 1.11.0
AWS OFI NCCL: 1.14.2-aws
Percorso di installazione:/viene aggiunto a LD_LIBRARY_PATH opt/amazon/ofi-nccl/. Path /opt/amazon/ofi-nccl/lib
AWS CLI v2 in/usr/local/bin/aws
Tipo di volume EBS: gp3
Toolkit per contenitori Nvidia: 1.17.7
Comando di versione: -V nvidia-container-cli
Docker: 28.2.2
Python:/3.12 usr/bin/python
Interroga l'AMI-ID con il parametro SSM (la regione di esempio è 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 textInterroga l'AMI-ID con AWSCLI (la regione di esempio è 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
Note
Attenzione flash
Flash attention non ha ancora una versione ufficiale per la versione PyTorch 2.7
. Per questo motivo, viene temporaneamente rimosso da questa AMI. Una volta rilasciata la versione ufficiale della versione PyTorch 2.7, la includeremo in questa AMI. Senza l'attenzione del flash, il motore del trasformatore utilizza per impostazione predefinita l'attenzione fusa cuDNN. Attualmente sono noti problemi relativi all'attenzione fusa e alle istanze Blackwell, come le istanze P6-B200. GPUs
«Con la funzionalità di elaborazione sm10.0 (Blackwell Architecture) GPUs, il FP8 tipo di dati con attenzione scalata ai prodotti a punti contiene un punto morto che causa il blocco del kernel in alcune circostanze, ad esempio quando la dimensione del problema è grande o la GPU esegue più kernel contemporaneamente. È prevista una correzione per le future release». [Note di rilascio di cuDNN 9.10.0
] Per gli utenti che desiderano eseguire istanze P6-B200 prestando attenzione ai FP8 dati e ai prodotti a punti scalati, è consigliabile installare Flash Attention manualmente.
Istanze P6-B200
Le istanze P6-B200 richiedono la versione CUDA 12.8 o successiva e il driver NVIDIA 570 o versioni successive.
P6-B200 contiene 8 schede di interfaccia di rete e può essere avviato utilizzando il seguente comando AWS CLI:
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"
Istanze P5/P5e
DeviceIndex è unico per ciascuna NetworkCard e deve essere un numero intero non negativo inferiore al limite di per. ENIs NetworkCard In P5, il numero di ENIs per NetworkCard è 2, il che significa che gli unici valori validi per DeviceIndex sono 0 o 1. Di seguito è riportato un esempio di comando di avvio dell'istanza EC2 P5 che utilizza awscli che mostra i numeri 0-31 e DeviceIndex come 0 NetworkCardIndex per la prima interfaccia e 1 per le restanti 31 interfacce.
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 versione del kernel viene bloccata utilizzando il 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
Consigliamo agli utenti di evitare di aggiornare la versione del kernel (a meno che non sia necessaria una patch di sicurezza) per garantire la compatibilità con i driver installati e le versioni dei pacchetti. Se gli utenti desiderano comunque effettuare l'aggiornamento, possono eseguire i seguenti comandi per sbloccare le versioni del kernel:
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
Per ogni nuova versione di DLAMI, viene utilizzato il kernel compatibile più recente disponibile.
PyTorch Deprecazione di Anaconda Channel
A partire dalla versione PyTorch 2.6, PyTorch ha un supporto obsoleto per Conda (vedi annuncio ufficiale).
Data di rilascio: 2025-06-03
Nome AMI: Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.7 (Ubuntu 22.04) 20250602
Aggiunto
Versione iniziale della serie Deep Learning AMI GPU PyTorch 2.7 (Ubuntu 22.04). Include un ambiente virtuale Python pytorch (source/opt/pytorch/bin/activate) abbinato a NVIDIA Driver R570, CUDA=12.8, cuDNN=9.10, NCCL=2.26.5 ed EFA=1.40.0. PyTorch
Problemi noti
«Con la funzionalità di elaborazione sm10.0 (Blackwell Architecture) GPUs, il FP8 tipo di dati con attenzione scalata al prodotto a punti contiene un punto morto che causa il blocco del kernel in alcune circostanze, ad esempio quando la dimensione del problema è grande o la GPU esegue più kernel contemporaneamente. È prevista una correzione per le future release». [Note di rilascio di cuDNN 9.10.0
] Per gli utenti che desiderano eseguire istanze P6-B200 prestando attenzione ai FP8 dati e ai prodotti a punti scalati, è consigliabile installare Flash Attention manualmente.