在大规模模型的训练过程中,数据并行策略被普遍采用。在梯度更新阶段,传统方法要求数据并行组内的通信操作必须在反向传播计算完全结束后才启动,这种串行执行模式导致计算与通信流程中存在明显的空闲等待期,从而降低了整体执行效率。
为解决上述问题,引入了计算与通信任务的并行执行策略,通过流水线技术来实现计算与通信的流水掩盖,有效提升资源利用率。
通过对比不同流程,可以观察到在启用--overlap-param-gather后,计算与通信完全并行,极大地提高了计算与通信的并行效率,从而显著提升了模型训练的效率。
在采用数据并行策略的训练场景下,推荐启用此特性。
--overlap-param-gather
--use-distirbuted-optimizer --overlap-grad-reduce