
警告:由於公司的重組,目前尚未維護該項目。
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 }
}