
คำเตือน: โครงการนี้ยังไม่ได้รับการบำรุงรักษาเนื่องจากการปรับโครงสร้างองค์กร
Bagua เป็นกรอบการเร่งความเร็วการฝึกอบรมการเรียนรู้อย่างลึกซึ้งสำหรับ Pytorch ที่พัฒนาโดยแพลตฟอร์ม AI@Kuaishou Technology และ DS3 Lab@Eth Zürich ปัจจุบันแบกแดดสนับสนุน:
.step() ในหลาย ๆ เลเยอร์ สามารถนำไปใช้กับเครื่องมือเพิ่มประสิทธิภาพ pytorch โดยพลการตรงกันข้ามกับวิธีการของ Nvidia Apex ซึ่งมีการปรับให้เหมาะสมบางอย่างเท่านั้นstrategy=BaguaStrategy ในเทรนเนอร์ของคุณ สิ่งนี้ช่วยให้คุณสามารถใช้ประโยชน์จากอัลกอริธึมการฝึกอบรมขั้นสูงที่หลากหลายรวมถึงวิธีการกระจายอำนาจวิธีการแบบอะซิงโครนัสการบีบอัดการสื่อสารและชุดค่าผสมของพวกเขา!ประสิทธิภาพของมันได้รับการประเมินในสถานการณ์ต่าง ๆ รวมถึง VGG และ Resnet บน Imagenet, Bert Large และแอพพลิเคชั่นอุตสาหกรรมมากมายที่ Kuaishou
ประสิทธิภาพของระบบและอัลกอริทึมที่แตกต่างกันใน VGG16 ด้วย 128 GPU ภายใต้แบนด์วิดท์เครือข่ายที่แตกต่างกัน
ช่วงเวลาของ Bert-large finetune ภายใต้เงื่อนไขเครือข่ายที่แตกต่างกันสำหรับระบบที่แตกต่างกัน
สำหรับผลลัพธ์ที่ครอบคลุมและทันสมัยมากขึ้นโปรดดูที่หน้าเกณฑ์มาตรฐานของ Bagua
ล้อ (แพ็คเกจไบนารีที่คอมไพล์ล่วงหน้า) มีให้สำหรับ Linux (x86_64) ชื่อแพ็คเกจแตกต่างกันไปขึ้นอยู่กับรุ่น CUDA Toolkit ของคุณ (รุ่น CUDA Toolkit จะแสดงใน nvcc --version )
| Cuda Toolkit เวอร์ชัน | คำสั่งการติดตั้ง |
|---|---|
| > = 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 to pip install เพื่อติดตั้งเวอร์ชันก่อนการเปิดตัว (การพัฒนา) ดูแบบฝึกหัด Bagua สำหรับคู่มือเริ่มต้นอย่างรวดเร็วและตัวเลือกการติดตั้งเพิ่มเติม
ต้องขอบคุณ Amazon Machine Images (AMI) เราสามารถให้ผู้ใช้ได้วิธีที่ง่ายในการปรับใช้และเรียกใช้ Bagua บนกลุ่ม AWS EC2 ที่มีขนาดของเครื่องจักรที่ยืดหยุ่นและประเภท GPU ที่หลากหลาย ผู้ใช้สามารถค้นหาอิมเมจ Bagua ที่ติดตั้งไว้ล่วงหน้าบน EC2 โดย AMI-ID ที่ไม่ซ้ำกันที่เราเผยแพร่ที่นี่ โปรดทราบว่า AMI เป็นทรัพยากรระดับภูมิภาคดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณใช้เครื่องจักรใน reginon เดียวกับ AMI ของเรา
| รุ่นบาบาวะ | ami id | ภูมิภาค |
|---|---|---|
| 0.6.3 | AMI-0E719D0E3E42B397E | US-East-1 |
| 0.9.0 | AMI-0F01FD14E9A742624 | US-East-1 |
ในการจัดการคลัสเตอร์ EC2 ได้อย่างมีประสิทธิภาพมากขึ้นเราใช้ StarCluster เป็นชุดเครื่องมือในการจัดการคลัสเตอร์ ในไฟล์ config ของ StarCluster มีการกำหนดค่าบางอย่างที่จำเป็นต้องตั้งค่าโดยผู้ใช้รวมถึงข้อมูลรับรอง AWS การตั้งค่าคลัสเตอร์ ฯลฯ ข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า starcluster สามารถพบได้ในบทช่วยสอนนี้
ตัวอย่างเช่นเราสร้างคลัสเตอร์ EC2 ที่มี 4 เครื่องซึ่งแต่ละเครื่องมี 8 V100 GPU ( p3.16xlarge ) คลัสเตอร์ขึ้นอยู่กับ Bagua AMI ที่เราติดตั้งไว้ล่วงหน้าในภูมิภาค us-east-1 จากนั้นไฟล์ config ของ StarCluster จะเป็น:
# 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ด้วยการตั้งค่าข้างต้นเราได้สร้างกลุ่มที่เหมือนกันสองกลุ่มเพื่อเปรียบเทียบการจัดหมวดหมู่ภาพที่สังเคราะห์ขึ้นเหนือบาบาวและ 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 }
}