日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

AIACC-ACSpeed體驗示例

AIACC-ACSpeed(簡稱ACSpeed)作為阿里云自研的AI訓練加速器,在提高訓練效率的同時能夠降低使用成本,可以實現無感的分布式通信性能優化。ACSpeed軟件包中已為您提供了適配DDP的示例代碼,您可以參考本文快速體驗使用ACSpeed進行模型分布式訓練的過程以及性能提升效果。

操作步驟

本文以原生DDP的啟動方式運行Pytorch_ddp_benchmark.py文件,以模型為resnet50的amp混合精度訓練為例,通過適配ACSpeed v1.0.2來體驗單機8卡和多機多卡實例類型的分布式訓練過程和性能提升效果。

重要

在操作前,確保您已創建具有初始Python環境的阿里云GPU實例。

  1. 執行如下命令,安裝指定版本的PyTorch。

    本示例以torch 1.9.1為例。

    pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
  2. 安裝和啟用ACSpeed。

    具體操作,請參見安裝和使用AIACC-ACSpeed

  3. 執行如下命令,進入ACSpeed示例代碼目錄。

    cd `python -c "import acspeed; print(acspeed.__path__[0]+'/examples/')"`
    說明

    ACSpeed代碼相比原始的DDP基線代碼只是增加一行import acspeed,注釋掉該代碼行,即為原始的DDP基線代碼。

  4. 啟動訓練。

    以下示例為單機8卡和多機多卡模型訓練的啟動命令。其中,單機8卡在ecs.ebmgn7t.32xlarge和ecs.ebmgn6t.24xlarge機型上的提升效果比較顯著。

    單機8卡模型

    • 啟動命令

      NP=8
      ADDR=localhost
      PORT=6006
      model=resnet50
      python -m torch.distributed.run --nnodes 1 --node_rank 0 --nproc_per_node ${NP} --master_addr ${ADDR} --master_port ${PORT} Pytorch_ddp_benchmark.py --model ${model} --precision amp
    • 訓練結果

      通過原始的DDP基線代碼訓練后,訓練結果如下所示:

      8 GPUs --    1M/8G:  p50:  0.073s     440/s  p75:  0.073s     438/s  p90:  0.073s     437/s  p95:  0.073s     436/s

      通過ACSpeed代碼訓練后,訓練結果如下所示:

      8 GPUs --    1M/8G:  p50:  0.054s     597/s  p75:  0.054s     592/s  p90:  0.056s     569/s  p95:  0.056s     568/s
    • 效果對比

      相比較通過原始的DDP基線代碼訓練模型,使用ACSpeed代碼訓練單機8卡模型時性能提升35%,即(597-440)/440=35%。

    多機多卡模型

    • 啟動命令

      # node0
      python -m torch.distributed.run --nnodes 2 --node_rank 0 --nproc_per_node 8 --master_addr <node1_ip> --master_port <port> Pytorch_ddp_benchmark.py --model resnet50 --precision amp
      
      # node1
      python -m torch.distributed.run --nnodes 2 --node_rank 1 --nproc_per_node 8 --master_addr <node1_ip> --master_port <port> Pytorch_ddp_benchmark.py --model resnet50 --precision amp
    • 訓練結果

      通過原始的DDP基線代碼訓練后,訓練結果如下所示:

      16 GPUs --    2M/16G:  p50:  0.091s     351/s  p75:  0.091s     349/s  p90:  0.092s     348/s  p95:  0.092s     347/s

      通過ACSpeed代碼訓練后,訓練結果如下所示:

      16 GPUs --    2M/16G:  p50:  0.071s     449/s  p75:  0.072s     442/s  p90:  0.073s     436/s  p95:  0.074s     432/s
    • 效果對比

      相比較通過原始的DDP基線代碼訓練模型,使用ACSpeed代碼訓練多機多卡模型時性能提升27%,即(449-351)/351=27%。

相關文檔

使用AIACC-ACSpeed訓練多個模型時,其性能可顯著提升。如需了解更多機型的性能測試效果,請參見AIACC-ACSpeed性能數據