
تحذير: لا يتم الحفاظ على هذا المشروع حاليًا ، بسبب إعادة تنظيم الشركة.
Bagua هو إطار تسريع التدريب على التعلم العميق لـ Pytorch تم تطويره بواسطة منصة AI@Kuaishou Technology و DS3 Lab@eth Zürich. يدعم Bagua حاليًا:
.step() على طبقات متعددة. يمكن تطبيقه على مُحسِّن Pytorch التعسفي ، على عكس نهج Nvidia Apex ، حيث يتم تنفيذ بعض الأمثل المحددة فقط.strategy=BaguaStrategy في مدربك. يمكّنك ذلك من الاستفادة من مجموعة من خوارزميات التدريب المتقدمة ، بما في ذلك الأساليب اللامركزية ، والطرق غير المتزامنة ، وضغط الاتصال ، ومجموعاتها!تم تقييم فعاليتها في سيناريوهات مختلفة ، بما في ذلك VGG و Resnet على ImageNet ، Bert كبير والعديد من التطبيقات الصناعية في Kuaishou.
أداء الأنظمة والخوارزميات المختلفة على VGG16 مع 128 وحدات معالجة الرسومات تحت نطاق النطاق الترددي لشبكة مختلفة.
وقت عصر Bert-Large Finetune في ظل ظروف شبكة مختلفة للأنظمة المختلفة.
للحصول على نتائج أكثر شمولاً وحدثًا ، راجع صفحة Bagua القياسية.
العجلات (الحزم الثنائية المسبقة) متاحة لـ Linux (x86_64). تختلف أسماء الحزم اعتمادًا على إصدار مجموعة أدوات CUDA الخاصة بك (يتم عرض إصدار مجموعة أدوات CUDA في nvcc --version ).
| إصدار مجموعة أدوات 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 للاطلاع على دليل البدء السريع والمزيد من خيارات التثبيت.
بفضل Images Machine Images (AMI) ، يمكننا توفير طريقة سهلة لنشر وتشغيل Bagua على مجموعات AWS EC2 بحجم مرن من الآلات ومجموعة واسعة من أنواع GPU. يمكن للمستخدمين العثور على صورة Bagua التي تم تثبيتها مسبقًا على EC2 بواسطة AMI-ID الفريد الذي ننشره هنا. لاحظ أن AMI هو مورد إقليمي ، لذا يرجى التأكد من أنك تستخدم الآلات في نفس Reginon مثل AMI لدينا.
| نسخة باجوا | ami id | منطقة |
|---|---|---|
| 0.6.3 | AMI-0E719D0E3E42B397E | الولايات المتحدة-East-1 |
| 0.9.0 | AMI-0F01FD14E9A742624 | الولايات المتحدة-East-1 |
لإدارة مجموعة EC2 بشكل أكثر كفاءة ، نستخدم StarCluster كمجموعة أدوات لمعالجة المجموعة. في ملف config الخاص بـ StarCluster ، هناك بعض التكوينات التي يجب إعدادها من قبل المستخدمين ، بما في ذلك بيانات اعتماد AWS ، وإعدادات الكتلة ، وما إلى ذلك. يمكن العثور على مزيد من المعلومات المتعلقة بتكوين StarCluster في هذا البرنامج التعليمي.
على سبيل المثال ، نقوم بإنشاء مجموعة EC2 مع 4 آلات ، كل منها لديه 8 V100 وحدات معالجة الرسومات ( 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مع الإعداد أعلاه ، أنشأنا مجموعتين متطابقين لقياس مهمة تصنيف الصور المترتبة على 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 }
}