模型并行可以将每张GPU上的有效 batch 大小,减小到小于 1。使流水线并行,即使在小 batch 下,仍可以隐藏流水线 bubble overhead。通过跨节点使用流水线并行性,可以让流水线每个阶段的数据并行节点之间的独立进行通信,与其它流水线并行进行。实际上,在高端 GPU 集群中常见的,完全连接的网络拓扑中,对可用于数据并行训练的有效通信带宽,具有重要意义。流水线阶段中的每个节点,都可以与其对应的数据并行节点,并行通信,有效的通信带宽与流水线阶段数成正比。通过设置64个并行流水线,有效带宽将变为往返单个节点的带宽的 64 倍。流水线并行带给数据并行,如此大的有效带宽,使数据并行在计算与通信比率非常低的小 batch 情况下,实现高效扩展。
数据并行怎样影响计算效率呢?难道数据并行不是需要每张 GPU,都有大 batch 才能保持高效吗?
最新推荐文章于 2024-07-25 18:39:37 发布