Virtual pipeline通信隐藏技术

在开启virtual pipeline的流水线并行场景,PP并行不同stage之间发送激活值数据在整个训练的关键路径上,造成额外的通信开销,而在大规模跨机柜场景,PP维度通信抖动造成通信开销会更大。

在virtual pipeline的1F1B阶段,每个micro batch的forward和backward计算时,异步接受上一个stage产生的forward/backward的输出,并且异步发送上一个forward/backward的输出到下一个stage,即存在forward和backward两个计算,send_prev/send_next/recv_prev/recv_next四个通信算子。

可以通过forward计算的同时,并行执行backward阶段的send_prev/recv_next,在backward阶段,并行执行forward阶段的recv_prev/sent_next,以此做大更大程度的通信隐藏,提升step的端到端性能。