文章预览
在序列并行系列中,我们将详细介绍下面四种常用的框架/方法: Megatron Sequence Parallelism :本质是想通过降低单卡激活值大小的方式,尽可能多保存激活值,少做重计算,以此提升整体训练速度,一般和它家的tp配套使用。 DeepSpeed Ulysses :我们知道ds家的zero是模型并行的形式,数据并行的本质。在这个情况下,单张卡是完整地做一条序列的MHA过程的,序列长度较长时,就会对单卡显存产生压力。 所以Ulysses的解决办法是,让单张卡只算全部seq的某个/某些head的结果 ,具体实践起来就是先通过按seq维度切割卡的输入,再通过all2all通讯来做。 Ring Attention : 近似于分布式的Flash Attention V2(我个人的理解) , 它最终的效果是让每张卡只算自己所维护的那部分seq_chunk的MHA。 Megatron Context Parallelism :可以看成是增强版的sp,引入了类ring-attention的技术(在tp-pp-
………………………………