AWS 深度學習 OSS AMI GPU PyTorch 2.7 (Ubuntu 22.04) - AWS 深度學習 AMIs

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS 深度學習 OSS AMI GPU PyTorch 2.7 (Ubuntu 22.04)

如需入門說明,請參閱 DLAMI 入門

AMI 名稱格式

  • 深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.7 (Ubuntu 22.04) ${YYYY-MM-DD}

支援的 EC2 執行個體

AMI 包含下列項目:

  • 支援服務 AWS :Amazon EC2

  • 作業系統:Ubuntu 22.04

  • 運算架構:x86

  • Linux 核心:6.8

  • NVIDIA 驅動程式:570.133.20

  • NVIDIA CUDA 12.8 堆疊

    • CUDA、NCCL 和 cuDDN 安裝目錄:/usr/local/cuda-12.8/

    • NCCL 測試位置:

      • all_reduce、all_gather 和 reduce_scatter:

        /usr/local/cuda-12.8/efa/test-cuda-12.8/
      • 若要執行 NCCL 測試,LD_LIBRARY_PATH 已使用所需的路徑更新。

        • 常見 PATHs已新增至 LD_LIBRARY_PATH:

          /opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:/usr/local/lib:/usr/lib
        • LD_LIBRARY_PAT 會以 CUDA 版本路徑更新:

          /usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cuda/targets/x86_64-linux/lib
    • 編譯的 NCCL 版本

      • 對於 CUDA 目錄 12.8,編譯的 NCCL 2.26.2+CUDA12.8 版

    • 預設 CUDA:12.8

      • PATH /usr/local/cuda 指向 CUDA 12.8

      • 已更新下列 env vars:

        • LD_LIBRARY_PATH 具有 /usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib

        • 要讓 /usr/local/cuda/bin/:/usr/local/cuda/include/ 的 PATH

  • EFA 安裝程式:1.40.0

  • Nvidia GDRCopy:2.5

  • Nvidia 轉換器引擎:1.11.0

  • AWS OFI NCCL:1.14.2-aws

    • 安裝路徑:/opt/amazon/ofi-nccl/。路徑 /opt/amazon/ofi-nccl/lib 已新增至 LD_LIBRARY_PATH

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

  • EBS 磁碟區類型:gp3

  • Nvidia 容器工具組:1.17.7

    • 版本命令:nvidia-container-cli -V

  • Docker:28.2.2

  • Python:/usr/bin/python3.12

  • 使用 SSM 參數查詢 AMI-ID (範例區域為 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
  • 使用 AWSCLI 查詢 AMI-ID (範例區域為 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

注意

Flash 注意力

  • 快速關注尚未有 PyTorch 2.7 的官方版本。因此,它會暫時從此 AMI 中移除。一旦 PyTorch 2.7 正式發行,我們會將它納入此 AMI。

  • 如果不急速注意,轉換器引擎會預設為使用 cuDNN 融合注意力。融合注意力和 Blackwell GPUs 目前存在已知問題,例如 P6-B200 執行個體。

    • 「使用運算功能 sm10.0 (Blackwell-architecture) GPUs,具有縮放點產品注意力的 FP8 資料類型包含死結,在某些情況下會導致核心停止運作,例如問題大小很大或 GPU 同時執行多個核心。修正計劃用於未來的版本。」 【cuDNN 9.10.0 版本備註

    • 對於想要使用 FP8 資料和擴展的點產品注意力來執行 P6-B200 執行個體的使用者,請考慮手動安裝閃爍注意力。

P6-B200 執行個體

  • P6-B200 執行個體需要 CUDA 版本 12.8 或更新版本,以及 NVIDIA 驅動程式 570 或更新版本的驅動程式。

  • P6-B200 包含 8 張網路介面卡,可使用下列 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"

P5/P5e 執行個體

  • DeviceIndex 對每個 NetworkCard 都是唯一的,且必須是小於每個 NetworkCard 的 ENIs限制的非負整數。在 P5 上,每個 NetworkCard ENIs 數目為 2,這表示 DeviceIndex 的唯一有效值為 0 或 1。以下是使用 awscli 的 EC2 P5 執行個體啟動命令範例,將數字 0-31 的 NetworkCardIndex 和 DeviceIndex 顯示為第一個界面的 0,其餘 31 個界面的 1。

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"

核心

  • 核心版本使用 命令鎖定:

    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
  • 我們建議使用者避免更新其核心版本 (除非因為安全修補程式),以確保與已安裝的驅動程式和套件版本相容。如果使用者仍想要更新,可以執行下列命令來取消鎖定其核心版本:

    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
  • 對於每個新版本的 DLAMI,會使用最新的可用相容核心。

Anaconda 頻道的 PyTorch 棄用

從 PyTorch 2.6 開始,PyTorch 已棄用對 Conda 的支援 (請參閱官方公告)。因此,PyTorch 2.6 及更高版本將移至使用 Python Virtual Environments。若要啟用 PyTorch venv,請使用來源 /opt/pytorch/bin/activate

發行日期:2025-06-03

AMI 名稱:深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.7 (Ubuntu 22.04) 20250602

已新增

  • Deep Learning AMI GPU PyTorch 2.7 (Ubuntu 22.04) 系列的初始版本。包含 Python 虛擬環境 pytorch (source /opt/pytorch/bin/activate),搭配 NVIDIA 驅動程式 R570、CUDA=12.8、cuDNN=9.10、PyTorch NCCL=2.26.5 和 EFA=1.40.0。

已知問題

  • 「使用運算功能 sm10.0 (Blackwell-architecture) GPUs,具有縮放點產品注意力的 FP8 資料類型包含死結,在某些情況下會導致核心停止運作,例如問題大小很大或 GPU 同時執行多個核心。修正計劃用於未來的版本。」 【cuDNN 9.10.0 版本備註

    • 對於想要使用 FP8 資料和擴展的點產品注意力來執行 P6-B200 執行個體的使用者,請考慮手動安裝閃爍注意力。