AIACC-ACSpeed性能数据

相比较通过原生DDP训练模型后的性能数据,使用AIACC-ACSpeed训练多个模型时,性能具有明显提升。本文为您展示了AIACC-ACSpeed的部分典型模型的训练性能数据。

测试版本

  • ACSpeed版本:1.0.2

  • Cuda版本:11.1

  • torch版本:1.8.1+cu111

  • 实例类型:某8卡GPU实例

训练性能效果

本文以AIACC-ACSpeed(简称ACSpeed)v1.0.2版本在阿里云某8卡机器上的多机性能数据为例,通过测试不同场景下的模型,展示ACSpeed的不同性能提升效果。

ACSpeed在多个模型下均有相应的性能提升效果,整体有5%~200%的性能增益。通过测试ACSpeed训练多个模型后的性能效果,可以看到原生DDP的扩展性(即多机线性度)不佳时,ACSpeed的提升效果越明显,且ACSpeed不会出现性能回退的现象,性能效果展示如下图所示。性能提升

涉及的主要概念如下所示:

概念

说明

ddp_acc(横坐标)

表示PyTorch原生分布式DDP的多机多卡的扩展性。

多机多卡扩展性:即多机线性度=多机性能/单机性能/集群数,数值越低扩展性越差。

acc_ratio(纵坐标)

表示ACSpeed相对于原生DDP的性能指标的提升比值。例如,1.25表示ACSpeed的性能是原生DDP性能的1.25倍,即性能提升25%。

DDP Scalability VS AcSpeed Acc(圆点)

表示具体的某个模型配置的DDP的原生性能和ACSpeed的加速效果,不同颜色表示不同集群规模。

  • 蓝色.jpg:表示集群数量为1。

  • 橙色.jpg:表示集群数量为2。

  • 红色.jpg:表示集群数量为4。

  • 绿色.jpg:表示集群数量为8。

典型模型性能数据

本节仅展示了部分已测试的典型模型的性能数据信息。不同场景下的模型,通信计算的占比不同也会导致端到端的性能提升有所差异。具体测试模型的性能数据如下:

说明

如果您想了解更多机型性能测试效果,欢迎使用钉钉搜索群号33617640加入阿里云神龙AI加速AIACC外部支持群(钉钉通讯客户端下载地址)。

场景1:训练alexnet模型

  • Model:alexnet

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:128

  • Precision:amp

该场景下的alexnet模型训练后的性能数据如下所示:模型1

场景2:训练resnet18模型

  • Model:resnet18

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:16

  • Precision:amp

该场景下的resnet18模型训练后的性能数据如下所示:模型2

场景3:训练resnet50模型

  • Model:resnet50

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:32

  • Precision:amp

该场景下的resnet50模型训练后的性能数据如下所示:模型3

场景4:训练vgg16模型

  • Model:vgg16

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:64

  • Precision:amp

该场景下的vgg16模型训练后的性能数据如下所示:模型4

场景5:训练timm_vovnet模型

  • Model:timm_vovnet

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:32

  • Precision:amp

该场景下的timm_vovnet模型训练后的性能数据如下所示:模型5

场景6:训练timm_vision_transformer模型

  • Model:timm_vision_transformer

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:8

  • Precision:amp

该场景下的timm_vision_transformer模型训练后的性能数据如下所示:模型6

场景7:训练pytorch_unet模型

  • Model:pytorch_unet

  • Domain:COMPUTER_VISION

  • Subdomain:CLASSIFICATION

  • Batch_size:1

  • Precision:amp

该场景下的pytorch_unet模型训练后的性能数据如下所示:模型7

场景8:训练hf_Bart模型

  • Model:hf_Bart

  • Domain:NLP

  • Subdomain:LANGUAGE_MODELING

  • Batch_size:4

  • Precision:amp

该场景下的hf_Bart模型训练后的性能数据如下所示:模型8

场景9:训练hf_Bert模型

  • Model:hf_Bert

  • Domain:NLP

  • Subdomain:LANGUAGE_MODELING

  • Batch_size:4

  • Precision:amp

该场景下的hf_Bert模型训练后的性能数据如下所示:模型9

场景10:训练speech_transformer模型

  • Model:speech_transformer

  • Domain:SPEECH

  • Subdomain:RECOGNITION

  • Batch_size:32

  • Precision:amp

该场景下的speech_transformer模型训练后的性能数据如下所示:模型10

场景11:训练tts_angular模型

  • Model:tts_angular

  • Domain:SPEECH

  • Subdomain:SYNTHESIS

  • Batch_size:64

  • Precision:amp

该场景下的tts_angular模型训练后的性能数据如下所示:模型11