
Hivemind adalah perpustakaan Pytorch untuk pembelajaran mendalam yang terdesentralisasi di internet. Penggunaan yang dimaksudkan adalah melatih satu model besar pada ratusan komputer dari berbagai universitas, perusahaan, dan sukarelawan.
Untuk mempelajari lebih lanjut tentang ide -ide di balik perpustakaan ini, lihat daftar lengkap makalah kami di bawah ini.
Bagian ini mencantumkan proyek -proyek yang memanfaatkan Hivemind untuk pelatihan terdesentralisasi. Jika Anda telah berhasil melatih model atau membuat repositori hilir dengan bantuan perpustakaan kami, jangan ragu untuk mengirimkan permintaan tarik yang menambahkan proyek Anda ke daftar ini.
Sebelum menginstal, pastikan lingkungan Anda memiliki Python 3.8+ dan Pytorch 1.9.0 atau lebih baru. Mereka dapat dipasang baik secara asli atau dengan Anaconda.
Anda bisa mendapatkan rilis terbaru dengan PIP atau membangun Hivemind dari Sumber.
Jika versi Python dan Pytorch Anda cocok dengan persyaratan, Anda dapat menginstal Hivemind dari Pip:
pip install hivemind
Juga, jika Anda ingin menggunakan kompresi 8-bit blockwise dari bitsandbytes selama transfer data, Anda dapat menginstalnya dengan pip install hivemind[bitsandbytes] . Setelah itu, Anda dapat menggunakan kelas BlockwiseQuantization di hivemind.
Untuk menginstal Hivemind dari sumber, cukup jalankan yang berikut:
git clone https://github.com/learning-at-home/hivemind.git
cd hivemind
pip install .
Jika Anda ingin memverifikasi bahwa instalasi Anda berfungsi dengan baik, Anda dapat menginstal dengan pip install .[dev] sebagai gantinya. Kemudian, Anda dapat menjalankan tes dengan pytest tests/ .
Secara default, Hivemind menggunakan biner yang dikompilasi dari perpustakaan Go-Libp2p-Daemon. Jika Anda menghadapi masalah kompatibilitas atau ingin membangun biner sendiri, Anda dapat mengkompilasi ulang dengan menjalankan pip install . --global-option="--buildgo" . Sebelum menjalankan kompilasi, pastikan mesin Anda memiliki versi terbaru dari GO Toolchain (1.15 atau 1.16 didukung).
Jika Anda memiliki pertanyaan tentang menginstal dan menggunakan Hivemind, jangan ragu untuk bertanya di obrolan perselisihan kami atau mengajukan masalah.
Hivemind saat ini berada di tahap pengembangan aktif, dan kami menyambut semua kontribusi. Semuanya, dari perbaikan bug dan peningkatan dokumentasi hingga fitur yang sama sekali baru, dihargai.
Jika Anda ingin berkontribusi pada Hivemind tetapi tidak tahu harus mulai dari mana, lihatlah masalah yang belum terselesaikan. Buka masalah baru atau bergabunglah dengan ruang obrolan kami jika Anda ingin membahas fungsionalitas baru atau melaporkan kemungkinan bug. Perbaikan bug selalu diterima, tetapi fitur baru harus lebih disukai dibahas dengan pengelola sebelumnya.
Jika Anda ingin mulai berkontribusi pada kode sumber Hivemind, silakan lihat pedoman yang berkontribusi terlebih dahulu. Untuk mempelajari lebih lanjut tentang cara lain untuk berkontribusi, baca panduan kami.
Jika Anda menemukan Hivemind atau algoritma yang mendasarinya berguna untuk penelitian Anda, silakan kutip sumber berikut:
@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 }
}Juga, Anda dapat mengutip makalah yang menginspirasi pembuatan perpustakaan ini (implementasi prototipe Hivemind yang tersedia di 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: pelatihan desentralisasi yang hemat komunikasi pada perangkat yang tidak dapat diandalkan yang heterogen"
@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 }
}"Pembelajaran mendalam yang didistribusikan dalam kolaborasi terbuka"
@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 }
}"Pelatihan Terdistribusi yang Aman dalam Skala"
@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 }
}"Transformer pelatihan bersama"
@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 }
}"Kelopak: Inferensi Kolaboratif dan Penyetelan Model Besar"
@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 } ,
}"Paralelisme Swarm: Melatih Model Besar Dapat Mengejutkan Efisien Komunikasi"
@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 }
}"Inferensi Terdistribusi dan Penyetelan Model Bahasa Besar melalui 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 }
}Kami juga memelihara daftar proyek terkait dan ucapan terima kasih.