原文链接:详解MegatronLM序列模型并行训练(Sequence Parallel) 1. 背景介绍 MegatronLM的第三篇论文【Reducing Activation Recomputation in Large Transformer Models】是2022年出的。在大模型训练过程中显存占用过大往往成为瓶颈,一般会通过recomputation重计算的方式降低显存占用,但会带来额外的计算代价。这篇论文提出了两...
这点有点反直觉,换而言之,SP+ZeRO2的内存效率仍然低于使用张量并行(这里张量并行是用Megatron Sequence Parallel的版本,表中TP-sp,Megatron-SP是作为一种很强的扩展序列方式,但是它必须和TP一起使用,而SP可以不和TP一起使用)。但是,使用序列并行(SP)结合ZeRO-3可以训练与张量并行(TP)相似的序列长度。 5. TP和...
Megatron Sequence Parallelism:本质是想通过降低单卡激活值大小的方式,尽可能多保存激活值,少做重计算,以此提升整体训练速度,一般和它家的 tp 配套使用。 DeepSpeed Ulysses:我们知道 ds 家的 zero 是模型并行的形式,数据并行的本质。在这个情况下,单张卡是完整地做一条序列的 MHA 过程的,序列长度较长时,就会对单...
序列并行技术(Sequence Parallel):一个Transformer层内的dropout和layer-norm等部分参数切分到不同GPU上,从而支持训练更大的模型。 模型并行技术(Model Parallel):在多个GPU上存放一套模型参数的不同分片,从而支持训练更大的模型。 流水并行技术(Pipeline Parallel):模型内不同Transformer层切分到不同的GPU上; ...
Tensor parallelism(层内并行)通过拆分算子,将计算分布在多个设备上,降低显存需求。然而,它涉及大量通信,通常在同一个节点内部进行,限制了TP大小。Megatron根据注意力头进行切分,同时sequence parallel配合selective checkpointing用于优化重复的计算。Selective checkpointing通过优化后向中的计算,减少显存...
Megatron-LM 中提供了张量并行(Tensor Parallel,TP,把大乘法分配到多张卡并行计算)、流水线并行(Pipeline Parallel,PP,把模型不同层分配到不同卡处理)、序列并行(Sequence Parallel, SP,序列的不同部分由不同卡处理,节约显存)、DistributedOptimizer 优化(类似 DeepSpeed Zero Stage-2,切分梯度和优化器参数...
Megatron-Core MoE支持专家并行(Expert Parallel),这是一种专门为MoE模型设计的并行方法。在这种并行化策略中,不同的 Rank 负责处理其中一个或多个专家的计算。 此外,Megatron-Core MoE还支持3D并行(Data Parallel, Tensor Parallel, Pipeline Parallel, Sequence Parallel)。对于更大的MoE模型, Megatron-Core MoE也支...
分布式训练的规模 tensor-model-parallel-size:指定张量模型并行的规模,指定为1则不使用该并行模式 pipeline-model-parallel-size:指定流水线并行的规模,指定为1则不使用该并行模式 sequence-parallel:指定是否使用序列模型并行 数据并行的规模不需要指定,Megatron会根据用户提供的计算卡总数量自动进行计算 ...
args = [ input, weight, bias, gradient_accumulation_fusion, async_grad_allreduce, sequence_parallel_enabled, ] # 这部分检查是否已经发出警告。函数使用一个类级别变量warned来记住是否已经向用户显示了警告。 if not linear_with_grad_accumulation_and_async_allreduce.warned: # 这部分检查环境变量CUDA_...
如上图,当使用序列并行激活切分(sequence-parallel activation sharding)时,张量并行需要引入额外的Reduce-Scatter(图中绿色RS部分)以及All-Gather(图中绿色AG部分)通信。对于那些无计算依赖的TP通信(即黄色框内的部分),Megatron默认采用批式方法对其进行重叠,而对于有计算依赖的其它TP通信(红色框内的线性层与TP通信对)...