一、概念的区分
分布式:是指多台机器的多块GPU,也就是多机多卡。
并行:指的一台机器上的多个GPU。也就是单机多卡。
同步更新:是指所有的GPU都计算完梯度之后,累加到一起求均值进行参数更新,再进行下一轮。
rank表示全局进程序号,local_rank表示本机子的进程序号。world_size表示全局进程个数。
举个例子,三台机器,每台机器四张卡全部用上,那么有group=1,world size=12
机器一:node=0 rank=0,1,2,3 local_rank=0,1,2,3 这里的node=0,rank=0的就是master
机器二:node=1 rank=4,5,6,7 local_rank=0,1,2,3
机器三:node=2 rank=8,9,10,11 local_rank=0,1,2,3
二、DP和DDP(pytorch内的)
DP(DataParallel)模

博客主要介绍深度学习中分布式、并行、同步更新等概念的区分,还阐述了PyTorch内DP和DDP模式的特点及差异,DP支持单机多卡,DDP支持多机多卡且无全局解释器锁限制。此外,讲解了SyncBN可解决标准BN因batch_size小影响模型收敛的问题。


被折叠的 条评论
为什么被折叠?



