当前位置: 首页 > news >正文

Megatron系列——流水线并行

内容总结自:bilibili zomi 视频大模型流水线并行 

注:这里PipeDream 1F1B对应时PP,Interleaved 1F1B对应的是VPP

1、朴素流水线并行

备注:

(1)红色三个圈都为空泡时间,GPU没有做任何计算

(2)共有4张卡,大batch size下,F0为第1次前向,依次流水线执行。所有stage完成后,再执行第1次反向B0。

(3)所有stage反向传播完计算好梯度后,所有stage同时更新参数

GPU利用率非常低。

2、Gpipe 流水线并行

解决办法:

(1)将大的batch size拆分为多个小的micro batch size,如数据1计算完了后,直接进入下一个stage device2计算,无需等待数据8执行完。

空泡率:

(1)micro  batch_size越高,空泡率越低

(2)m个micro-batch前向结束时,内存达到峰值,不断增加m可能导致内存不够。解决办法为重计算,即部分层不存储中间结果,在计算梯度时再重新计算中间结果。

(3)MFU 模型利用率提高

3、1F1B PP(非交错式)

备注:

(1)在最后一个stage,即NPU4上可以看到,1次前向1次反向,交替进行,因此叫做1F1B。这个NPU上只保存了1份激活值,即前向中间结果,及时反向后释放。而NPU1最多有4份

4、1F1B interleaving VPP(交错式)

要持续降低bubble占比,有上图两种方式,第二种方式为将每张卡上搞多个stage。

(1)如NPU1负责第1层和第5层。按照原来的1F1B的方法,若有4张卡,分4个stage,则每张卡负责连续的2层,如NPU1负责1-2层,当数据1过来,需要在NPU1上经过2层计算后才到第二张卡。反而通过本方案,数据1过来后,只要经过1层计算,马上到第二张卡,第二张卡及以后的等待时间变短了。这时第一张卡可以做数据2的计算。

完整的图如下:

(1)这里横坐标为时间线,如第1时刻,只有NPU1在做数据1的计算,第4时刻NPU1在做数据4计算,NPU4在做数据1的计算。

(2)第5时刻,NPU4已经完成数据1的计算了,按照上一张图的说法,意味着数据1已经完成了第4层的计算,这时候可以回到第一张卡做数据1的第5层前向计算了。这时NPU2还在做数据4的第一层前向计算。其他的可以见图所示。

(3)第9时刻,数据1已经完成完整的8层前向计算,在NPU4上可以做反向传播,执行1F1B了。其他的类似。

空泡率:

5、其他的流水线并行 

6、分布式PP实现方案

是所有并行中最难的,分为以下两种实现方式:

7、PP 代码实现

(1)模型实例化构建

(2)每个NPU只构建对应offset的layers

  • 每个rank的层数为:总层数//pp数,若只有一层,如何分配?
  • embedding和output layer如何分配到第一个NPU和最后一个NPU的,代码在哪里?

(3)确定执行交错式或非交错式的前向反向函数

 

这里面num_microbatches_remaining为对应rank还有多少个micro batchs没有执行完。

(3)3个步骤,接收、前向计算、发送

(4)反向传播

 

NPU0和NPU1在不断通讯,NPU1完成B1反向传播时,会将结果发给NPU0,同时等待数据2前向计算的结果。 

 

相关文章:

  • GPU SIMT架构的极限压榨:PTX汇编指令级并行优化实践
  • Ubuntu网络部署LNMP环境
  • 【笔试训练】给一个数组构建二叉树|从前序遍历与中序遍历构建二叉树|二叉树中的最大路径和
  • 用生活例子通俗理解 Python OOP 四大特性
  • 【2025最新】Vm虚拟机中直接使用Ubuntu 免安装过程直接使用教程与下载
  • kubuntu系统详解
  • Pycharm中No Conda enviroment selected
  • 本地不安装oracle,还想连oracle
  • 001大模型-认识大模型以及大模型应用场景
  • 【数据结构】map_set前传:二叉搜索树(C++)
  • Qwen:Qwen3,R1 在 Text2SQL 效果评估
  • lenis滑动插件的笔记
  • c++ 类的成员初始化
  • Android 中 Handler (创建时)内存泄漏问题及解决方案
  • js滚动条保持在最底部的方法,场景:聊天室
  • 机架式服务器是什么?机架式/塔式/刀片式三大服务器类型区别与选型全解析
  • android studio开发aar插件,并用uniapp开发APP使用这个aar
  • 大模型数据分析破局之路20250512
  • std::move 和 std::forward
  • 2025年网站安全防御全解析:应对DDoS与CC攻击的智能策略
  • 5月12日-14日,上海小升初民办初中进行网上报名
  • 外交部:愿同拉美国家共同维护多边贸易体制
  • 长江画派创始人之一、美术家鲁慕迅逝世,享年98岁
  • 加力、攻坚、借力、问效,上海为优化营商环境推出增量举措
  • 特色茶酒、非遗挂面……六安皋品入沪赴“五五购物节”
  • 中俄领导人将讨论从俄罗斯经蒙古至中国天然气管道项目?外交部回应