
Hivemind ist eine Pytorch -Bibliothek für dezentrales tiefes Lernen im Internet. Die beabsichtigte Verwendung besteht darin, ein großes Modell für Hunderte von Computern von verschiedenen Universitäten, Unternehmen und Freiwilligen zu trainieren.
Weitere Informationen zu den Ideen hinter dieser Bibliothek finden Sie in der vollständigen Liste unserer Artikel unten.
In diesem Abschnitt werden Projekte aufgeführt, die Hivemind für eine dezentrale Schulung nutzen. Wenn Sie ein Modell erfolgreich geschult oder mit Hilfe unserer Bibliothek ein nachgeschaltetes Repository erstellt haben, können Sie eine Pull -Anfrage senden, die Ihr Projekt dieser Liste hinzufügt.
Stellen Sie vor der Installation sicher, dass Ihre Umgebung Python 3.8+ und Pytorch 1.9.0 oder neuer enthält. Sie können entweder nativ oder mit Anaconda installiert werden.
Sie können die neueste Version mit PIP oder Hivemind aus Quelle erstellen.
Wenn Ihre Versionen von Python und Pytorch den Anforderungen entsprechen, können Sie Hivemind von PIP installieren:
pip install hivemind
Wenn Sie während der Datenübertragung eine blockweise 8-Bit-Komprimierung von BitsandBytes verwenden möchten, können Sie sie mit pip install hivemind[bitsandbytes] . Danach können Sie die BlockwiseQuantization Quantisationsklasse in hivemind.comPression verwenden
Um HIVemind aus der Quelle zu installieren, führen Sie einfach Folgendes aus:
git clone https://github.com/learning-at-home/hivemind.git
cd hivemind
pip install .
Wenn Sie überprüfen möchten, ob Ihre Installation ordnungsgemäß funktioniert, können Sie stattdessen mit pip install .[dev] Dann können Sie die Tests mit pytest tests/ .
Standardmäßig verwendet Hivemind die vorkompilierte Binärin der Go-LIBP2P-DAemon-Bibliothek. Wenn Sie sich mit Kompatibilitätsproblemen befassen oder die Binärdatoren selbst aufbauen möchten, können Sie es durch Ausführen von pip install . --global-option="--buildgo" . Stellen Sie vor dem Ausführen der Zusammenstellung sicher, dass Ihre Maschine eine aktuelle Version von Go Toolchain hat (1.15 oder 1.16 werden unterstützt).
Wenn Sie Fragen zur Installation und Verwendung von Hivemind haben, können Sie sie in unserem Discord -Chat stellen oder ein Problem einreichen.
Hivemind befindet sich derzeit in der aktiven Entwicklungsphase und begrüßen alle Beiträge. Alles, von Fehlerbehebungen und Verbesserungen der Dokumentation bis hin zu völlig neuen Funktionen, wird geschätzt.
Wenn Sie zu Hivemind beitragen möchten, aber nicht wissen, wo Sie anfangen sollen, sehen Sie sich die ungelösten Probleme an. Öffnen Sie ein neues Problem oder schließen Sie sich unserem Chatraum bei, falls Sie neue Funktionen besprechen oder einen möglichen Fehler melden möchten. Fehlerbehebungen sind immer willkommen, aber neue Funktionen sollten vorzugsweise im Voraus mit den Betreuern besprochen werden.
Wenn Sie mit dem Quellcode von Hivemind mitmachen möchten, finden Sie zuerst die beitragenden Richtlinien. Um mehr über andere Möglichkeiten zu erfahren, um einen Beitrag zu leisten, lesen Sie unseren Leitfaden.
Wenn Sie Hivemind oder seine zugrunde liegenden Algorithmen für Ihre Forschung nützlich gefunden haben, geben Sie bitte die folgende Quelle an:
@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 }
}Außerdem können Sie das Papier zitieren, das die Erstellung dieser Bibliothek inspiriert hat (Prototyp-Implementierung von Hivemind bei Mryab/Learning-at-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: Kommunikationsdeffizientes dezentrales Training auf heterogenen unzuverlässigen Geräten"
@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 }
}"Verteilt Deep Learning in offenen Kooperationen"
@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 }
}"Sicheres verteiltes Training im Maßstab"
@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 }
}"Gemeinsam Transformatoren trainieren"
@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 }
}"Blütenblätter: kollaborative Inferenz und Feinabstimmung großer Modelle"
@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 } ,
}"Schwarmparallelität: Das Training großer Modelle kann überraschend kommunikatwirtschaftlich sein"
@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 }
}"Verteilte Inferenz und Feinabstimmung großer Sprachmodelle über das Internet"
@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 }
}Wir verwalten auch eine Liste verwandter Projekte und Anerkennungen.