AMI de deep learning da AWS com GPU PyTorch 2.4 (Ubuntu 22.04)
Se precisar de ajuda para começar, consulte Conceitos básicos da DLAMI.
Formato do nome da AMI
-
AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.${PATCH_VERSION} (Ubuntu 22.04) ${YYYY-MM-DD}
Instâncias do EC2 com suporte
-
Consulte Alterações importantes no DLAMI.
-
O aprendizado profundo com driver OSS Nvidia é compatível com G4dn, G5, G6, Gr6, P4, P4de, P5, P5e e P5en.
A AMI inclui o seguinte:
-
Serviço da AWS compatível: EC2
-
Sistema operacional: Ubuntu 22.04
-
Arquitetura de computação: x86
-
Python: /opt/conda/envs/pytorch/bin/python
-
Driver NVIDIA:
-
Driver OSS Nvidia: 550.144.03
-
-
Pilha NVIDIA CUDA12.1:
-
Caminho de instalação de CUDA, NCCL e cuDDN: /usr/local/cuda-12.4/
-
CUDA padrão: 12.4
-
PATH /usr/local/cuda direciona para /usr/local/cuda-12.4/
-
Variáveis de ambiente atualizadas abaixo:
-
LD_LIBRARY_PATH para ter /usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cuda/targets/x86_64-linux/lib
-
PATH para ter /usr/local/cuda/bin/:/usr/local/cuda/include/
-
-
-
Versão NCCL do sistema compilado presente em /usr/local/cuda/: 2.21.5
-
Versão NCCL compilada pelo PyTorch no ambiente conda: 2.20.5
-
-
Local dos testes NCCL:
-
all_reduce, all_gather and reduce_scatter: /usr/local/cuda-xx.x/efa/test-cuda-xx.x/
-
Para executar testes NCCL, o LD_LIBRARY_PATH já está atualizado com os caminhos necessários.
-
PATHs comuns já foram adicionados a LD_LIBRARY_PATH:
-
/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/aws-ofi-nccl/lib:/usr/local/lib:/usr/lib
-
-
-
LD_LIBRARY_PATH é atualizado com caminhos de versão CUDA
-
/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cud/targets/x86_64-linux/lib
-
-
-
Instalador do EFA: 1.34.0
-
Nvidia GDRCopy: 2.4.1
-
Nvidia Transformer Engine: v1.11.0
-
Plug-in OFI NCCL da AWS: é instalado como parte do EFA Installer-aws
-
Caminho de instalação: /opt/aws-ofi-nccl/ . O caminho /opt/aws-ofi-nccl/lib foi adicionado a LD_LIBRARY_PATH.
-
Caminho de testes para ring, message_transfer: /opt/aws-ofi-nccl/tests
-
Observação: o pacote PyTorch inclui o plug-in AWS OFI NCCL vinculado dinamicamente, fornecido também como o pacote conda aws-ofi-nccl-dlc, e o PyTorch utilizará esse pacote em vez do AWS OFI NCCL do sistema.
-
-
AWS CLI v2 como aws2 e AWS CLI v1 como aws
-
Tipo de volume do EBS: gp3
-
Versão do Python: 3.11
-
Consulte o AMI-ID com o parâmetro SSM (a região de exemplo é us-east-1):
-
Driver OSS Nvidia:
aws ssm get-parameter --regionus-east-1\ --name /aws/service/deeplearning/ami/x86_64/oss-nvidia-driver-gpu-pytorch-2.4-ubuntu-22.04/latest/ami-id \ --query "Parameter.Value" \ --output text
-
-
Consulte o AMI-ID com o parâmetro SSM (a região de exemplo é us-east-1):
-
Driver OSS Nvidia:
aws ec2 describe-images --regionus-east-1\ --owners amazon \ --filters 'Name=name,Values=Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.4.? (Ubuntu 22.04) ????????' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text
-
Avisos
Instâncias P5/P5e
-
DeviceIndex é exclusivo para cada NetworkCard e deve ser um número inteiro não negativo menor que o limite de ENIs por NetworkCard. Em P5, o número de ENIs por NetworkCard é 2, o que significa que os únicos valores válidos para DeviceIndex são 0 ou 1. Veja a seguir o exemplo de comando de inicialização de uma instância P5 do EC2 usando o awscli, mostrando o NetworkCardIndex de 0 a 31, com DeviceIndex como 0 para a primeira interface e DeviceIndex como 1 para as demais 31 interfaces.
aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instance,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"
Data de lançamento: 2025-02-17
Nome da AMI: AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.1 (Ubuntu 22.04) 20250216
Atualização
-
Atualização do NVIDIA Container Toolkit da versão 1.17.3 para 1.17.4.
-
Consulte mais informações na página de notas de versão aqui: https://github.com/NVIDIA/nvidia-container-toolkit/releases/tag/v1.17.4
-
No NVIDIA Container Toolkit versão 1.17.4, a montagem das bibliotecas compatíveis com CUDA agora está desabilitada. Para garantir a compatibilidade com várias versões do CUDA em fluxos de trabalho de contêiner, atualize o LD_LIBRARY_PATH para incluir as bibliotecas compatíveis com CUDA, conforme mostrado no tutorial Se você usa uma camada de compatibilidade com CUDA.
-
Data de lançamento: 2025-01-21
Nome da AMI: AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.1 (Ubuntu 22.04) 20250119
Atualização
-
Atualização do driver Nvidia da versão 550.127.05 para 550.144.03 para corrigir as CVEs presentes no NVIDIA GPU Display Driver Security Bulletin de janeiro de 2025
.
Data de lançamento: 2024-11-18
Nome da AMI: AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.1 (Ubuntu 22.04) 20241116
Fixed
-
Devido a uma alteração no kernel do Ubuntu para solucionar defeitos na funcionalidade de Randomização do Layout do Espaço de Endereçamento do Kernel (KASLR), as instâncias G4Dn/G5 não conseguem inicializar corretamente o CUDA no driver OSS Nvidia. Para mitigar esse problema, esse DLAMI inclui uma funcionalidade que carrega dinamicamente o driver proprietário para instâncias G4Dn e G5. Aguarde um breve período de inicialização desse carregamento para garantir que as instâncias funcionem corretamente.
-
Para conferir o status e a integridade desse serviço, use estes comandos:
-
sudo systemctl is-active dynamic_driver_load.serviceactive
Data de lançamento: 2024-10-16
Nome da AMI: AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.1 (Ubuntu 22.04) 20241016
Adição
-
Adição do Nvidia TransformerEngine v1.11.0 para acelerar os modelos tipo transformador (consulte mais detalhes em https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/index.html
)
Data de lançamento: 2024-09-30
Nome da AMI: AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.1 (Ubuntu 22.04) 20240929
Atualização
-
Atualização do Nvidia Container Toolkit da versão 1.16.1 para a 1.16.2, solucionando a vulnerabilidade de segurança CVE-2024-0133
.
Data de lançamento: 2024-09-26
Nome da AMI: AMI do driver OSS Nvidia para aprendizado profundo com GPU PyTorch 2.4.1 (Ubuntu 22.04) 20240925
Adição
-
Lançamento inicial da série da AMI de deep learning com GPU PyTorch 2.4.1 (Ubuntu 22.04). Incluindo um ambiente conda pytorch complementado com driver NVIDIA R550, CUDA=12.4.1, cuDNN=8.9.7, PyTorch NCCL=2.20.5 e EFA=1.34.0.