zero3。它是纵向切分权重(intra-layer,每一层的权重切成n块)。但是这样会增加通讯时间。你可以根据自己的模型,估算下切分后的通讯量和通讯时间。其次,pipeline并行一般指横向切分权重(inter-layer,每一层放在一块卡上,有n层就放n张卡),所以它和zero3的切分不是一个类型的。总结一下,zero3可以帮你切权重,但不是pipeline的那种切法,zero3切分权重后会增加通讯量,进而增加训练时间。
megatron+deepspeed 实现3D并行。效率更高。:megatron提供tp,deepspeed 提供dp和pp。
参考资料:
https://huggingface.co/blog/zh/bloom-megatron-deepspeed
图解大模型训练之:数据并行下篇( DeepSpeed ZeRO,零冗余优化) - 知乎
https://huggingface.co/blog/zh/megatron-training
文章讨论了Zero3的纵向切分策略(intra-layer)及其对通讯时间和训练效率的影响,与Megatron-DeepSpeed的横向pipeline并行(inter-layer)进行对比,强调了megatron的TP和deepspeed的DP和PP在3D并行中的高效性,以及数据并行的优化方法——零冗余优化(ZeroRedundancyOptimizer)。
16万+

被折叠的 条评论
为什么被折叠?



