
Hivemind هي مكتبة Pytorch للتعلم العميق اللامركزي عبر الإنترنت. استخدامه المقصود هو تدريب نموذج كبير على مئات أجهزة الكمبيوتر من مختلف الجامعات والشركات والمتطوعين.
لمعرفة المزيد حول الأفكار الكامنة وراء هذه المكتبة ، راجع القائمة الكاملة لأوراقنا أدناه.
يسرد هذا القسم المشاريع التي تستفيد من Hivemind للتدريب اللامركزي. إذا قمت بنجاح بتدريب نموذج أو إنشاء مستودع في اتجاه المصب بمساعدة مكتبتنا ، فلا تتردد في تقديم طلب سحب يضيف مشروعك إلى هذه القائمة.
قبل التثبيت ، تأكد من أن بيئتك لديها Python 3.8+ و Pytorch 1.9.0 أو الأحدث. يمكن تثبيتها إما أصليًا أو مع Anaconda.
يمكنك الحصول على أحدث إصدار مع PIP أو بناء Hivemind من المصدر.
إذا كانت إصداراتك من Python و Pytorch تتطابق مع المتطلبات ، فيمكنك تثبيت Hivemind من PIP:
pip install hivemind
أيضًا ، إذا كنت ترغب في استخدام ضغط 8 بت من bitsandbytes أثناء نقل البيانات ، فيمكنك تثبيته باستخدام pip install hivemind[bitsandbytes] . بعد ذلك ، يمكنك استخدام فئة BlockwiseQuantization في hivemind.compression
لتثبيت Hivemind من المصدر ، ما عليك سوى تشغيل ما يلي:
git clone https://github.com/learning-at-home/hivemind.git
cd hivemind
pip install .
إذا كنت ترغب في التحقق من أن التثبيت الخاص بك يعمل بشكل صحيح ، فيمكنك التثبيت مع pip install .[dev] بدلاً من ذلك. بعد ذلك ، يمكنك إجراء الاختبارات باستخدام pytest tests/ .
بشكل افتراضي ، يستخدم Hivemind الثنائي المسبق لمكتبة GO-LIBP2P-Daemon. إذا كنت تواجه مشكلات التوافق أو ترغب في بناء الثنائي بنفسك ، فيمكنك إعادة ترجمة ذلك عن طريق تشغيل pip install . --global-option="--buildgo" . قبل تشغيل التجميع ، يرجى التأكد من أن جهازك يحتوي على إصدار حديث من Go Toolchain (1.15 أو 1.16 مدعوم).
إذا كانت لديك أي أسئلة حول تثبيت Hivemind واستخدامها ، فلا تتردد في طرحها في دردشة Discord أو تقديم مشكلة.
Hivemind حاليًا في مرحلة التطوير النشطة ، ونحن نرحب بجميع المساهمات. كل شيء ، من إصلاحات الأخطاء وتحسينات الوثائق إلى ميزات جديدة تمامًا.
إذا كنت ترغب في المساهمة في Hivemind ولكن لا تعرف من أين تبدأ ، فقم بإلقاء نظرة على القضايا التي لم يتم حلها. افتح مشكلة جديدة أو انضم إلى غرفة الدردشة الخاصة بنا في حال كنت ترغب في مناقشة الوظائف الجديدة أو الإبلاغ عن خطأ محتمل. نرحب دائمًا بإصلاحات الأخطاء ، ولكن ينبغي مناقشة ميزات جديدة مع المشرفين مسبقًا.
إذا كنت ترغب في البدء في المساهمة في مدونة المصدر لـ Hivemind ، فيرجى الاطلاع على الإرشادات المساهمة أولاً. لمعرفة المزيد حول طرق أخرى للمساهمة ، اقرأ دليلنا.
إذا وجدت Hivemind أو خوارزمياتها الأساسية مفيدة لبحثك ، فيرجى الاستشهاد بالمصدر التالي:
@misc { hivemind ,
title = { {H}ivemind: {D}ecentralized {D}eep {L}earning in {P}y{T}orch } ,
author = { Max Ryabinin and Alexander Borzunov and Michael Diskin and Anton Gusev and Denis Mazur and Vsevolod Plokhotnyuk and Alexey Bukhtiyarov and Pavel Samygin and Anton Sinitsin and Artem Chumachenko } ,
month = apr,
year = 2020 ,
address = { Online } ,
url = { https://github.com/learning-at-home/hivemind }
}أيضًا ، يمكنك الاستشهاد بالورقة التي ألهمت إنشاء هذه المكتبة (تنفيذ النموذج الأولي لـ Hivemind المتاحة في Mryab/Learning-Home):
@inproceedings { ryabinin2020crowdsourced ,
title = { Towards Crowdsourced Training of Large Neural Networks using Decentralized Mixture-of-Experts } ,
author = { Ryabinin, Max and Gusev, Anton } ,
year = 2020 ,
booktitle = { Advances in Neural Information Processing Systems } ,
volume = 33 ,
url = { https://proceedings.neurips.cc/paper/2020/file/25ddc0f8c9d3e22e03d3076f98d83cb2-Paper.pdf }
}"Moshpit SGD: التدريب اللامركزي الموفرة للاتصال على الأجهزة غير المتجانسة غير الموثوقة"
@inproceedings { ryabinin2021moshpit ,
title = { Moshpit SGD: Communication-Efficient Decentralized Training on Heterogeneous Unreliable Devices } ,
author = { Ryabinin, Max and Gorbunov, Eduard and Plokhotnyuk, Vsevolod and Pekhimenko, Gennady } ,
year = 2021 ,
booktitle = { Advances in Neural Information Processing Systems } ,
volume = 34 ,
url = { https://proceedings.neurips.cc/paper/2021/file/97275a23ca44226c9964043c8462be96-Paper.pdf }
}"توزيع التعلم العميق في التعاون المفتوح"
@inproceedings { diskin2021distributed ,
title = { Distributed Deep Learning In Open Collaborations } ,
author = { Michael Diskin and Alexey Bukhtiyarov and Max Ryabinin and Lucile Saulnier and Quentin Lhoest and Anton Sinitsin and Dmitry Popov and Dmitriy Pyrkin and Maxim Kashirin and Alexander Borzunov and Albert Villanova del Moral and Denis Mazur and Ilia Kobelev and Yacine Jernite and Thomas Wolf and Gennady Pekhimenko } ,
year = 2021 ,
booktitle = { Advances in Neural Information Processing Systems } ,
url = { https://openreview.net/forum?id=FYHktcK-7v }
}"تدريب موزع آمن على نطاق واسع"
@inproceedings { gorbunov2022secure ,
title = { Secure Distributed Training at Scale } ,
author = { Gorbunov, Eduard and Borzunov, Alexander and Diskin, Michael and Ryabinin, Max } ,
year = 2022 ,
month = { 17--23 Jul } ,
booktitle = { Proceedings of the 39th International Conference on Machine Learning } ,
series = { Proceedings of Machine Learning Research } ,
volume = 162 ,
url = { https://proceedings.mlr.press/v162/gorbunov22a.html }
}"محولات التدريب معا"
@misc { borzunov2022training ,
title = { Training Transformers Together } ,
author = { Alexander Borzunov and Max Ryabinin and Tim Dettmers and Quentin Lhoest and Lucile Saulnier and Michael Diskin and Yacine Jernite and Thomas Wolf } ,
year = 2022 ,
eprint = { 2207.03481 } ,
archiveprefix = { arXiv } ,
primaryclass = { cs.LG }
}"بتلات: الاستدلال التعاوني وضبط النماذج الكبيرة"
@inproceedings { borzunov-etal-2023-petals ,
title = { Petals: Collaborative Inference and Fine-tuning of Large Models } ,
author = { Borzunov, Alexander and Baranchuk, Dmitry and Dettmers, Tim and Ryabinin, Max and Belkada, Younes and Chumachenko, Artem and Samygin, Pavel and Raffel, Colin } ,
year = 2023 ,
month = jul,
booktitle = { Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations) } ,
publisher = { Association for Computational Linguistics } ,
address = { Toronto, Canada } ,
pages = { 558--568 } ,
doi = { 10.18653/v1/2023.acl-demo.54 } ,
url = { https://aclanthology.org/2023.acl-demo.54 } ,
editor = { Bollegala, Danushka and Huang, Ruihong and Ritter, Alan } ,
}"التوازي السرب: تدريب النماذج الكبيرة يمكن أن يكون فعالًا بشكل مدهش في الاتصال"
@inproceedings { ryabinin2023swarm ,
title = { {SWARM} Parallelism: Training Large Models Can Be Surprisingly Communication-Efficient } ,
author = { Ryabinin, Max and Dettmers, Tim and Diskin, Michael and Borzunov, Alexander } ,
year = 2023 ,
month = { 23--29 Jul } ,
booktitle = { Proceedings of the 40th International Conference on Machine Learning } ,
publisher = { PMLR } ,
series = { Proceedings of Machine Learning Research } ,
volume = 202 ,
pages = { 29416--29440 } ,
url = { https://proceedings.mlr.press/v202/ryabinin23a.html } ,
editor = { Krause, Andreas and Brunskill, Emma and Cho, Kyunghyun and Engelhardt, Barbara and Sabato, Sivan and Scarlett, Jonathan } ,
pdf = { https://proceedings.mlr.press/v202/ryabinin23a/ryabinin23a.pdf }
}"الاستدلال الموزعة وضبط نماذج اللغة الكبيرة عبر الإنترنت"
@inproceedings { borzunov2023distributed ,
title = { Distributed Inference and Fine-tuning of Large Language Models Over The Internet } ,
author = { Alexander Borzunov and Max Ryabinin and Artem Chumachenko and Dmitry Baranchuk and Tim Dettmers and Younes Belkada and Pavel Samygin and Colin Raffel } ,
year = 2023 ,
booktitle = { Thirty-seventh Conference on Neural Information Processing Systems } ,
url = { https://openreview.net/forum?id=XmN7ZNbUAe }
}نحافظ أيضًا على قائمة بالمشاريع ذات الصلة والاعتراف.