本文展示了AIACC-ACSpeed的部分性能数据,相比较通过原生DDP训练模型后的性能数据,使用AIACC-ACSpeed训练多个模型时,性能具有明显提升。
背景信息
本文以AIACC-ACSpeed(简称ACSpeed)v1.0.2版本在阿里云某8卡机器上的多机性能数据为例,通过测试不同场景下的模型,展示ACSpeed的不同性能提升效果。如果您想了解更多机型性能测试效果,请联系我们。
测试版本
- ACSpeed版本:1.0.2
- Cuda版本:11.1
- torch版本:1.8.1+cu111
- 实例类型:某8卡实例
性能效果
ACSpeed在多个模型下均有相应性能提升效果,整体有5%~200%的性能增益。通过测试ACSpeed训练多个模型后的性能效果,可以看到原生DDP的扩展性(即多机线性度)不佳时,ACSpeed的提升效果越明显,且ACSpeed不会出现性能回退的现象,性能效果展示如下图所示。
涉及的主要概念如下所示:
概念 |
说明 |
ddp_acc(横坐标) |
表示PyTorch原生分布式DDP的多机多卡的扩展性。 多机多卡扩展性:即多机线性度=多机性能/单机性能/集群数,数值越低扩展性越差。 |
acc_ratio(纵坐标) |
表示ACSpeed相对于原生DDP的性能指标的提升比值。例如,1.25表示ACSpeed的性能是原生DDP性能的1.25倍,即性能提升25%。 |
圆点 |
表示具体的某个模型配置的DDP的原生性能和ACSpeed的加速效果,不同颜色表示不同集群规模。
|
典型模型性能数据
本节仅展示了部分已测试的典型模型的性能数据信息。不同场景下的模型,通信计算的占比不同也会导致端到端的性能提升有所差异。如果您需要了解更多测试模型的性能数据,请联系我们。具体测试模型的性能数据如下:
- 场景1:训练alexnet模型
- Model:alexnet
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:128
- Precision:amp
该场景下的alexnet模型训练后的性能数据如下所示:
- 场景2:训练resnet18模型
- Model:resnet18
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:16
- Precision:amp
该场景下的resnet18模型训练后的性能数据如下所示:
- 场景3:训练resnet50模型
- Model:resnet50
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:32
- Precision:amp
该场景下的resnet50模型训练后的性能数据如下所示:
- 场景4:训练vgg16模型
- Model:vgg16
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:64
- Precision:amp
该场景下的vgg16模型训练后的性能数据如下所示:
- 场景5:训练timm_vovnet模型
- Model:timm_vovnet
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:32
- Precision:amp
该场景下的timm_vovnet模型训练后的性能数据如下所示:
- 场景6:训练timm_vision_transformer模型
- Model:timm_vision_transformer
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:8
- Precision:amp
该场景下的timm_vision_transformer模型训练后的性能数据如下所示:
- 场景7:训练pytorch_unet模型
- Model:pytorch_unet
- Domain:COMPUTER_VISION
- Subdomain:CLASSIFICATION
- Batch_size:1
- Precision:amp
该场景下的pytorch_unet模型训练后的性能数据如下所示:
- 场景8:训练hf_Bart模型
- Model:hf_Bart
- Domain:NLP
- Subdomain:LANGUAGE_MODELING
- Batch_size:4
- Precision:amp
该场景下的hf_Bart模型训练后的性能数据如下所示:
- 场景9:训练hf_Bert模型
- Model:hf_Bert
- Domain:NLP
- Subdomain:LANGUAGE_MODELING
- Batch_size:4
- Precision:amp
该场景下的hf_Bert模型训练后的性能数据如下所示:
- 场景10:训练speech_transformer模型
- Model:speech_transformer
- Domain:SPEECH
- Subdomain:RECOGNITION
- Batch_size:32
- Precision:amp
该场景下的speech_transformer模型训练后的性能数据如下所示:
- 场景11:训练tts_angular模型
- Model:tts_angular
- Domain:SPEECH
- Subdomain:SYNTHESIS
- Batch_size:64
- Precision:amp
该场景下的tts_angular模型训练后的性能数据如下所示:
好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8
【扫码填写上方调研问卷】
欢迎每位来到弹性计算的开发者们来反馈问题哦~