定期分享机器学习领域原创文章,公众号内容涵盖了机器学习算法和python数据分析等文章,目前监督学习方法的文章应有尽有,非监督学习的原创文章一直在更新,欢迎机器学习爱好者和从业者的加入,互相学习,共同成长。
目录
今天看啥  ›  专栏  ›  机器学习算法那些事

GPU多卡并行训练总结(以pytorch为例)

机器学习算法那些事  · 公众号  ·  · 2024-07-01 20:01

文章预览

为什么要使用多GPU并行训练 本简单来说,有两种原因:第一种是模型在一块GPU上放不下,两块或多块GPU上就能运行完整的模型(如早期的AlexNet)。第二种是多块GPU并行计算可以达到加速训练的效果。想要成为“炼丹大师“,多GPU并行训练是不可或缺的技能。 常见的多GPU训练方法: 1.模型并行方式: 如果模型特别大,GPU显存不够,无法将一个显存放在GPU上,需要把网络的不同模块放在不同GPU上,这样可以训练比较大的网络。(下图左半部分) 2.数据并行方式: 将整个模型放在一块GPU里,再复制到每一块GPU上,同时进行正向传播和反向误差传播。相当于加大了batch_size。(下图右半部分) 在pytorch1.7 + cuda10 + TeslaV100的环境下,使用ResNet34,batch_size=16, SGD对花草数据集训练的情况如下:使用一块GPU需要9s一个epoch,使用两块GPU是5.5s, 8块是2s。这里有一个 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览