
警告:由于公司的重组,目前尚未维护该项目。
Bagua是由AI Platform@Kuaishou Technology和DS3 Lab@ethZürich开发的Pytorch的深度学习培训加速框架。 Bagua目前支持:
.step()操作来改善优化器的性能。与Nvidia Apex的方法相比,它可以应用于任意Pytorch优化器,在该方法中,仅实现了一些特定的优化器。strategy=BaguaStrategy在教练中使用Bagua。这使您可以利用一系列高级培训算法,包括分散的方法,异步方法,通信压缩及其组合!在各种情况下,对其有效性进行了评估,包括Kuaishou的ImageNet,Bert大型和许多工业应用程序上的VGG和Resnet。
在不同的网络带宽下具有128 GPU的VGG16上不同系统和算法的性能。
在不同系统的不同网络条件下,Bert-large Finetune的时期时间。
有关更全面和最新的结果,请参阅Bagua基准页面。
车轮(预编译二进制软件包)可用于Linux(X86_64)。软件包名称不同于您的CUDA工具包版本( nvcc --version中显示了CUDA Toolkit版本)。
| CUDA工具包 | 安装命令 |
|---|---|
| > = V10.2 | pip install bagua-cuda102 |
| > = V11.1 | pip install bagua-cuda111 |
| > = V11.3 | pip install bagua-cuda113 |
| > = V11.5 | pip install bagua-cuda115 |
| > = V11.6 | pip install bagua-cuda116 |
添加--pre到pip install命令以安装预释放(开发)版本。有关快速启动指南和更多安装选项,请参见Bagua教程。
多亏了Amazon Machine Images(AMI),我们可以为用户提供一种简便的方法,可以在AWS EC2群集上部署和运行Bagua,该簇具有灵活的机器和广泛的GPU类型。用户可以在这里发布的独特的Ami-ID在EC2上找到我们预装的Bagua图像。请注意,AMI是一种区域资源,因此请确保您正在使用与AMI同一雷金顿的机器。
| bagua版本 | ami id | 地区 |
|---|---|---|
| 0.6.3 | AMI-0E719D0E3E42B397E | US-EAST-1 |
| 0.9.0 | AMI-0F01FD14E9A742624 | US-EAST-1 |
为了更有效地管理EC2群集,我们将StarCluster用作工具包来操纵群集。在StarCluster的config文件中,需要通过用户设置一些配置,包括AWS凭据,集群设置等。有关StarCluster配置的更多信息,请参见本教程。
例如,我们创建一个带有4台计算机的EC2群集,每台机器都有8个V100 GPU( p3.16xlarge )。该集群基于我们在us-east-1地区预装的Bagua ami。然后,星空的config文件将是:
# region of EC2 instances, here we choose us_east_1
AWS_REGION_NAME = us-east-1
AWS_REGION_HOST = ec2.us-east-1.amazonaws.com
# AMI ID of Bagua
NODE_IMAGE_ID = ami-0e719d0e3e42b397e
# number of instances
CLUSTER_SIZE = 4
# instance type
NODE_INSTANCE_TYPE = p3.16xlarge使用上述设置,我们创建了两个相同的群集,分别通过Bagua和Horovod对合成的图像分类任务进行基准测试。这是该实验的屏幕录制视频。

% System Overview
@misc { gan2021bagua ,
title = { BAGUA: Scaling up Distributed Learning with System Relaxations } ,
author = { Shaoduo Gan and Xiangru Lian and Rui Wang and Jianbin Chang and Chengjun Liu and Hongmei Shi and Shengzhuo Zhang and Xianghong Li and Tengxu Sun and Jiawei Jiang and Binhang Yuan and Sen Yang and Ji Liu and Ce Zhang } ,
year = { 2021 } ,
eprint = { 2107.01499 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.LG }
}
% Theory on System Relaxation Techniques
@book { liu2020distributed ,
title = { Distributed Learning Systems with First-Order Methods: An Introduction } ,
author = { Liu, J. and Zhang, C. } ,
isbn = { 9781680837018 } ,
series = { Foundations and trends in databases } ,
url = { https://books.google.com/books?id=vzQmzgEACAAJ } ,
year = { 2020 } ,
publisher = { now publishers }
}