分布式训练 — 理论基础

本文介绍了深度学习分布式训练的基础,包括模型并行和数据并行,同步更新与异步更新的策略,以及Parameter Server算法与Ring AllReduce算法的比较。重点讨论了不同并行方式在训练大规模模型时的优缺点,提出了Ring AllReduce算法在通信效率上的优势。
摘要由CSDN通过智能技术生成

起初为调用大规模的模型训练,单卡GPU是不够使用的,需要借用服务器的多GPU使用。就会涉及到单机多卡,多机多卡的使用。在这里记录一下使用的方式和踩过的一些坑。文中若有不足,请多多指正。

由于分布式的内容较多,笔者准备分几篇来讲一次下深度学习的分布式训练,深度学习的框架使用的是Pytorch框架。

----1.分布式训练的理论基础

----2.GPU训练

----3.单机多卡的使用 DP,DDP

----4.多机多卡的使用 DDP

分布式训练的需求和重要性不需要多说,最近新提出的预训练模型,普通的16G的显存已经不足以支撑深度学习模型训练的要求了,这时候就需要用到分布式训练来提高效率。

总的来说,分布式训练分为这几类:

按照并行方式来分:模型并行 vs 数据并行
按照更新方式来分:同步更新 vs 异步更新
按照算法来分:Parameter Server算法 vs AllReduce算法

模型并行VS数据并行

假设我们有n张GPU:

  1. 模型并行:不同的GPU输入相同的数据,运行模型的不同部分,比如多层网络的不同层;
  2. 数据并行:不同的GPU输入不同的数据,运行相同的完整的模型。

在这里插入图片描述
当模型非常大,一张GPU已经存不下的时

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值