すべてのプロダクト
Search
ドキュメントセンター

Elastic GPU Service:AIACC-ACSpeedパフォーマンスデータ

最終更新日:Aug 01, 2024

ネイティブPyTorch DistributedDataParallel (DDP) を使用してトレーニングされたモデルと比較して、AIACC-ACSpeed (ACSpeed) を使用してトレーニングされたモデルは、大幅に改善されたパフォーマンスを提供します。 このトピックでは、モデルトレーニングにおけるACSpeedのパフォーマンスデータを示します。

設定のテスト

  • ACSpeed: ACSpeed V1.0.2

  • CUDA: CUDA V11.1

  • トーチ: トーチ1.8.1 + cu111

  • インスタンス仕様: 8つのGPUを搭載したGPU高速化インスタンス

テスト結果

このトピックでは、さまざまなシナリオでモデルトレーニングを実行するためにAlibaba Cloud GPUアクセラレーションインスタンスでACSpeedを使用した場合のACSpeedのパフォーマンスデータを示します。 このトピックでは、ACSpeed V1.0.2が使用されます。 各GPU高速化インスタンスには8つのGPUが搭載されています。

テスト結果は、ACSpeedが複数のモデルのパフォーマンスを向上させ、全体的なパフォーマンスが5% 〜200% 向上することを示しています。 ACSpeedは、ネイティブPyTorch DDPのスケーラビリティが低いシナリオでパフォーマンスを大幅に向上させます。 ACSpeedのパフォーマンスも一貫しています。 次の図は、テスト結果を示しています。性能提升

次の表に、図の要素を示します。

要素

説明

ddp_acc (x軸)

マルチサーバーおよびマルチGPUトレーニングにおけるネイティブPyTorch DDPのスケーラビリティ。

マルチサーバーおよびマルチGPUトレーニングにおけるPyTorch DDPのスケーラビリティは、マルチサーバーの線形性によって示されます。 より低い線形性値は、より低いスケーラビリティを示す。 マルチサーバ線形性は、以下の式に基づいて計算される。マルチサーバ線形性=マルチサーバ性能 /単一サーバ性能 /サーバ数。

acc_ratio (y軸)

パフォーマンス指標によって測定されたPyTorch DDPに対するACSpeedの改善率。 例えば、値1.25は、ACSpeedによって提供される性能がPyTorch DDPによって提供される性能の1.25倍であることを示す。 これは、ACSpeedがPyTorch DDPと比較して25% パフォーマンスを向上させることを意味します。

DDPスケーラビリティVS AcSpeed Acc (ドット)

ドットは、PyTorch DDPによって提供されるモデル性能およびACSpeedによって提供される改善されたモデル性能に対応する。 異なる色は、サーバーの数が異なることを示します。

  • 蓝色.jpg: 1つのサーバー

  • 橙色.jpg: 2つのサーバー

  • 红色.jpg: 4つのサーバー

  • 绿色.jpg: 8つのサーバー

モデル性能データ

テスト対象の共通モデルのパフォーマンスデータのみを示します。 パフォーマンスの向上は、シナリオによってモデルの通信コンピューティングの比率によって異なります。

説明

他のサーバーのパフォーマンステストデータを取得する場合は、DingTalkグループ33617640に参加してテクニカルサポートを行います。 ダウンロードページからDingTalkをダウンロードできます。

シナリオ1: alexnetモデルのトレーニング

  • モデル: alexnet

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 128

  • 精度: 自動混合精度 (AMP)

次の図は、トレーニングシナリオでのalexnetモデルのパフォーマンスデータを示しています。模型1

シナリオ2: resnet18モデルのトレーニング

  • モデル: resnet18

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 16

  • 精度: AMP

次の図は、トレーニングシナリオでのresnet18モデルのパフォーマンスデータを示しています。模型2

シナリオ3: resnet50モデルのトレーニング

  • モデル: resnet50

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 32

  • 精度: AMP

次の図は、トレーニングシナリオでのresnet50モデルのパフォーマンスデータを示しています。模型3

シナリオ4: vgg16モデルのトレーニング

  • モデル: vgg16

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 64

  • 精度: AMP

次の図は、トレーニングシナリオにおけるvgg16モデルのパフォーマンスデータを示しています。模型4

シナリオ5: timm_vovnetモデルのトレーニング

  • モデル: timm_vovnet

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 32

  • 精度: AMP

次の図は、トレーニングシナリオでのtimm_vovnetモデルのパフォーマンスデータを示しています。模型5

シナリオ6: timm_vision_transformerモデルのトレーニング

  • モデル: timm_vision_transformer

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 8

  • 精度: AMP

次の図は、トレーニングシナリオにおけるtimm_vision_transformerモデルのパフォーマンスデータを示しています。模型6

シナリオ7: pytorch_unetモデルのトレーニング

  • モデル: pytorch_unet

  • ドメイン: COMPUTER_VISION

  • サブドメイン: CLASSIFICATION

  • Batch_size: 1

  • 精度: AMP

次の図は、トレーニングシナリオでのpytorch_unetモデルのパフォーマンスデータを示しています。模型7

シナリオ8: hf_Bartモデルのトレーニング

  • モデル: hf_Bart

  • ドメイン: NLP

  • サブドメイン: LANGUAGE_MODELING

  • Batch_size: 4

  • 精度: AMP

次の図は、トレーニングシナリオでのhf_Bartモデルのパフォーマンスデータを示しています。模型8

シナリオ9: hf_Bertモデルのトレーニング

  • モデル: hf_Bert

  • ドメイン: NLP

  • サブドメイン: LANGUAGE_MODELING

  • Batch_size: 4

  • 精度: AMP

次の図は、トレーニングシナリオでのhf_Bertモデルのパフォーマンスデータを示しています。模型9

シナリオ10: speech_transformerモデルのトレーニング

  • モデル: speech_transformer

  • ドメイン: SPEECH

  • サブドメイン: RECOGNITION

  • Batch_size: 32

  • 精度: AMP

次の図に、トレーニングシナリオでのspeech_transformerモデルのパフォーマンスデータを示します。模型10

シナリオ11: tts_angularモデルのトレーニング

  • モデル: tts_angular

  • ドメイン: SPEECH

  • サブドメイン: 合成

  • Batch_size: 64

  • 精度: AMP

次の図は、トレーニングシナリオにおけるtts_angularモデルのパフォーマンスデータを示しています。模型11