比Data parallel的通信量大幅减少;
优点:填满pipeline,减少机时浪费;
GPipe:

PipeDream:

知识点:pipeline并行,throughtput取决于最慢的那个节点层;
混合并行:层与层用Pipeline Parallel,层内部用Data Parallel
自动划分:先在单卡上试探性跑一会儿("Profiling run"),拿到计算时间、通信时间等实际数据,再结合可以静态计算出的理论计算量、理论通信时间,决定分几节,每节多少个Data-parallel node;

难点1: Backward时,还要使用Forward时那同一份weights;
解决:Forward完立即暂存("Stash")下来weights, 供该batch Backward阶段使用;
难点2:同一个batch,在每层使用的weights, 总共更新的次数(版本号),是不同的;但因为对效果影响小,可忽略。
本文探讨了深度学习中减少通信量的策略,如GPipe和PipeDream,它们通过pipeline并行实现计算效率提升,避免机时浪费。混合并行将PipelineParallel与DataParallel结合,自动划分提高效率。主要挑战在于权重同步和版本控制,解决方案包括权重暂存和忽略微小的权重更新差异。
760

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



