全球计算机一起炼丹是怎样的体验?

博客介绍了Hivemind,一个用于跨网络Pytorch分布式训练的开源库,它允许多人协作训练大规模深度学习模型。该库的特点包括无主节点、容错性、参数平均化和支持任意大小的神经网络。安装简单,通过官方样例可快速上手。Hivemind使得全球的开发者能够利用各自的硬件资源共同训练模型,降低了分布式训练的门槛。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4970c70489e60106d66798247c2e90c2.png

你好,我是黑泪。最近在逛全球最大交友网站Github时,无意中发现了一个“宝库”:hivemind[1],短短时间内已经积攒了840多个🌟,这个仓库可以实现“跨网络Pytorch分布式训练”。

简单来说,它可以实现不同大学、公司和个人的数百台计算机上合作训练一个基于Pytorch框架的大型深度学习模型。

仔细想想觉得还挺有意思的,以前大家都是独自炼丹,现在全球的小伙伴可以跨越种族与地域合作,大家各自提供硬件设备,共同训练一个超大模型。

一、主要特点

跨网络分布式训练主要有以下4个特点:

1)“人人都是主角”:分布式训练不存在主节点,每台设备都很重要,因为底层的分布式哈希表允许在一个分散的网络中连接计算机;

2)“眼里可以容沙子”:反向传播具有容错性,即使一些节点没有反应或反应时间过长,前向传播和反向传播也能成功;

3)“雨露均沾”:模型参数的平均化分散进行,逐步地迭代聚合来自多个计算机的参数更新,而不需要在整个网络中同步[2];

4)“有容乃大”:可以训练任意大小的神经网络,其部分网络层可以分布在具有Decentralized Mixture-of-Experts[3]功能的计算机之间。

二、安装方法

在满足Python 3.7+ 和 PyTorch>=1.6.0的环境下,可以直接pip install安装:

pip install hivemind

或者从源码安装:

git clone https://github.com/learning-at-home/hivemind.git
cd hivemind
pip install .

安装后如果需要验证是否成功,可以运行一下命令

pip install .[dev]pytest tests/

三、使用方法

官方库提供了基于CIFAR-10数据集训练简单神经网络的样例[4]以及基于WikiText103数据集训练ALBERT-large-v2的样例[5]。

我按照教程的代码运行了一下CIFAR-10的训练样例,进程会先下载CIFAR-10的数据集,然后开始训练,此时这个库会在网络上搜索小伙伴。

ed4a6fc60201a1eba8698b2e62089f1a.png

由于这是官方教程,大概率同一时刻只有我自己在训练。所以我新增了一个同样的训练进程,按照教程修改了关键部分的代码,来演示是否真的可以做到分布式训练。

96843bbcb2111e8792e46f04b9fde1b3.png

可以看到命令行输出变成了2个小伙伴,这两个进程的损失会进行平均化,于是我又新增了一个训练进程。

cc44f369fecaecaa4a3625ef443f3792.png

果不其然,命令行输出变成3个小伙伴了,也就意味着,哪怕你的伙伴在国外,只要你们的网络能连接上,能互相提供“唯一的任务识别ID”,就能一起训练了,就算你只有CPU,只要他有GPU不就行了30f2207b0b21afb4dacfebadb50efaf4.png

40f329048f8f1505e67ba4d938c61c6e.png

四、小结

分布式训练ALBERT-large-v2就不在这里演示啦,感兴趣的小伙伴可以去官方库实操一下,官方样例只需要在优化器那里改动一下即可,使用起来还是很方便的。

这个库整体挺有意思的,我之前接触的分布式训练最多是基于torch的多机多卡,这个库直接把深度学习训练整成了社群,就像蚁群一样,努力实现共同的目标。

参考链接

[1]https://github.com/learning-at-home/hivemind

[2]https://arxiv.org/abs/2103.03239

[3]https://arxiv.org/abs/2002.04013

[4]https://learning-at-home.readthedocs.io/en/latest/user/quickstart.html

[5]https://github.com/learning-at-home/hivemind/tree/master/examples/albert

觉得还不错就给我一个小小的鼓励吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值