250326 Dualpipe understanding

news/2025/3/31 13:01:21/文章来源:https://www.cnblogs.com/wunyje/p/18798207

250326 Dualpipe Understanding

这里的Dualpipe可能作为解决上述Challenges 3中流水线停顿问题的算法层面解决方案。

图4展示了如何重新排列这些组件,调整GPU SM用于通信和计算的比例,使得all-to-all和PP通信都能被隐藏
img

图5展示了DualPipe的完整调度,采用了双向流水线调度,同时从管道两端输入微批次,并行执行,显著减少了通信的延迟。
img

For DeepSeek-V3, the communication overhead introduced by cross-node expert parallelism results in an inefficient computation-to-communication ratio of approximately 1:1. To tackle this challenge, we design an innovative pipeline parallelism algorithm called DualPipe, which not only accelerates model training by effectively overlapping forward and backward computationcommunication phases, but also reduces the pipeline bubbles.  The key idea of DualPipe is to overlap the computation and communication within a pair of individual forward and backward chunks. To be specific, we divide each chunk into four components: attention, all-to-all dispatch, MLP, and all-to-all combine. Specially, for a backward chunk, both attention and MLP are further split into two parts, backward for input and backward for weights, like in ZeroBubble (Qi et al., 2023b). In addition, we have a PP communication component. As illustrated in Figure 4, for a pair of forward and backward chunks, we rearrange these components and manually adjust the ratio of GPU SMs dedicated to communication versus computation. In this overlapping strategy, we can ensure that both all-to-all and PP communication can be fully hidden during execution. Given the efficient overlapping strategy, the full DualPipe scheduling is illustrated in Figure 5. It employs a bidirectional pipeline scheduling, which feeds micro-batches from both ends of the pipeline simultaneously and a significant portion of communications can be fully overlapped. This overlap also ensures that, as the model further scales up, as long as we maintain a constant computation-to-communication ratio, we can still employ fine-grained experts across nodes while achieving a near-zero all-to-all communication overhead.

Example by deepseek

以下通过传统流水线并行DualPipe策略的对比示例,结合图4的组件分解,说明其优化特点:


场景假设

假设有4个设备(Device 0-3),处理一个微批次(Micro-batch)的前向和反向传播,涉及以下操作:

  • 计算:注意力(ATTN)、MLP(基于权重W)
  • 通信:All-to-all分发(Dispatch)、All-to-all聚合(Combine)、流水线通信(PP)
  • 反向传播拆分为两部分:输入梯度(绿色)、权重梯度(蓝色)

传统流水线并行流程(非DualPipe)

传统方法中,前向和反向阶段严格串行执行,且通信与计算无法重叠,导致显著的空闲时间(红色屏障)。以下是分步流程:

  • 前向阶段
  1. Device 0

    • 计算:ATTN(F) → MLP(W)
    • 通信:Dispatch(将数据分发给其他设备)
    • 空闲:等待Device 1完成后续前向计算(红色屏障)
  2. Device 1

    • 计算:ATTN(F) → MLP(W)
    • 通信:Dispatch
    • 空闲:等待Device 2完成计算
  3. Device 2

    • 计算:ATTN(F) → MLP(W)
    • 通信:Dispatch
    • 空闲:等待Device 3完成计算
  4. Device 3

    • 计算:ATTN(F) → MLP(W)
    • 通信:Combine(聚合所有设备数据)
    • 空闲:等待反向传播开始
  • 反向阶段
  1. Device 3

    • 计算:ATTN(B_input) → MLP(B_input)
    • 通信:Dispatch(发送梯度)
    • 空闲:等待Device 2完成反向计算
  2. Device 2

    • 计算:ATTN(B_input) → MLP(B_input)
    • 通信:Dispatch
    • 空闲:等待Device 1完成计算
  3. Device 1

    • 计算:ATTN(B_input) → MLP(B_input)
    • 通信:Dispatch
    • 空闲:等待Device 0完成计算
  4. Device 0

    • 计算:ATTN(B_input) → MLP(B_input)
    • 通信:Combine(聚合梯度)
    • 空闲:等待下一次微批次

关键问题

  • 计算与通信完全串行,设备空闲时间(红色屏障)占比高。
  • All-to-all和PP通信未隐藏,占据总时间的50%以上。

DualPipe优化策略(基于图4)

DualPipe通过细粒度组件拆分与双向调度,实现计算与通信的完全重叠。以下是同一场景的优化流程:

前向与反向阶段重叠执行

  1. Device 0​(前向)

    • 计算:ATTN(F)
    • 并行操作
      • 通信:Dispatch(分发数据给Device 1)
      • 计算:MLP(W)(利用剩余GPU SMs)
    • 通信:Combine(与Device 1的PP通信重叠)
  2. Device 1​(反向)

    • 计算:ATTN(B_input)(与Device 0的MLP计算重叠)
    • 并行操作
      • 通信:Dispatch(发送梯度给Device 0)
      • 计算:MLP(B_weights)(利用剩余SMs)
    • 通信:Combine(聚合梯度)
  3. Device 2 & 3​(镜像对称操作)

    • 类似Device 0 & 1,但反向微批次从流水线另一端注入。

关键优化

  1. 消除红色屏障

    • 前向的Combine操作(紫色)与反向的ATTN(B_input)(绿色)​同时执行​(见图4的Device 0与1对齐列)。
    • 例如:Device 0的MLP(W)(橙色)与Device 1的ATTN(B_input)(绿色)​共享时间窗口
  2. 通信完全隐藏

    • All-to-all(Dispatch/Combine)和PP通信(紫色)被计算覆盖(见图4中紫色块嵌入橙色/绿色块之间)。
  3. 双向流水线

    • 前向微批次从Device 0向Device 3流动,反向微批次从Device 3向Device 0流动,形成对称调度(图5的黑框重叠区域)。

对比总结

维度 传统流水线 DualPipe
执行顺序 前向→反向严格串行 前向与反向双向重叠
空闲时间 高(红色屏障频繁) 零(通过组件拆分消除屏障)
通信隐藏 无法隐藏,占50%时间 完全隐藏(与计算重叠)
资源利用率 低(GPU SMs闲置) 高(手动分配SMs,通信与计算并行)
适用场景 小规模模型 大规模MoE模型(跨节点专家并行)

直观示例

假设每个操作耗时1单位时间:

  • 传统流程总耗时
    4(前向) + 4(反向) = 8单位,其中4单位为空闲。
  • DualPipe总耗时
    4单位(前向与反向完全重叠),空闲时间为0。

通过这种重叠策略,DualPipe在相同硬件下实现2倍加速,同时支持更大规模的模型扩展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907174.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HS6621CM-C是一款集成32 bit CPU、Flash和BLE/2.4G 的多模无线SoC芯片

HS6621CM-C是一款集成32 bit CPU、Flash和Audio的BLE/2.4G 的多模无线SoC芯片,内置64kB SRAM、512kB Flash以及GPIO、SPI、I2C、UART、语音ADC,SAR ADC等多种接口与设备,在单颗芯片上集成了各种2.4GHz物联网标准所需的所有特性和功能, 32pin 5x5 QFN封装; 架构特征如下:内…

NI Multisim14.3软件下载与安装教程

‌Multisim14.3‌是一款由美国国家仪器公司(NI)开发的电路仿真软件,主要用于电子电路的设计、仿真和分析。它适用于工程师、设计师、学生和电子爱好者,帮助他们进行电路设计、测试和验证。 主要功能和应用场景 Multisim14.3具有以下主要功能和应用场景:‌电路仿真‌:支持…

解锁阿里云 ESA 技术,揭秘游戏安全加速与低延时的实现路径

全方位面向游戏行业的安全加速解决方案阿里云 ESA 打造高质量的游戏体验。 如今,游戏行业正处于蓬勃发展与深刻变革的关键时期。根据中国国际数字娱乐产业大会(CDEC)发布的《2024年1-6月中国游戏产业报告》显示2024年上半年国内游戏市场实际销售收入达 1472.67 亿元 ,同比…

全球化运营平台:SAP BTP如何用AI+集成能力破解供应链与合规难题?

在全球经济深度融合的今天,企业如何打破内外业务壁垒,构建高效、智能的全球化运营体系?SAP BTP(业务技术云平台)凭借其一体化技术架构与AI创新能力,正成为企业全球化战略的核心引擎。 SAP BTP:全球化运营的“创新底座” 全球化运营的复杂性不仅在于多地域业务协同,更需…

PostgreSQL技术大讲堂 - 第84讲:重讲PostgreSQL流复制部署

PostgreSQL技术大讲堂 - 第84讲,主题:重讲PostgreSQL流复制部署主讲老师: CUUG数据库老陈,PG中文社区委员、CCF数据库专委会委员 时间:2025年03月29日19:30 地址:钉钉群直播 (群号:89285006175) 欢迎持续关注CUUG PostgreSQL技术大讲堂。

devexpress老版本部署在Linux下gdip问题修复

RUN ln -s /usr/lib/x86_64-linux-gnu/libgdiplus.so.0 /usr/lib/libgdiplus.so

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案!

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案! 稳联技术Profinet转CANopen网关应运而生——它如同一座智能桥梁☺,打通两大主流工业协议,让异构网络无缝互联,助您释放设备潜力,实现真正的“万物互联”!为什么选择稳联技术Profinet转CANopen网关? 1、协议转换…

spice环境测试

spice环境测试1、在pve上部署windows操作系统,开机能够正常登录 2、通过ssh登录pve终端中,将虚拟机对应vid配置文件添加以下参数cd /etc/pve/qemu-server 进入pve虚拟机配置文件目录下将对应vid文件添加参数 args: -spice port=61107,addr=0.0.0.0,seamless-migration=on,dis…

apisix~hmac-auth插件的使用

hmac-auth插件需要和 Consumer 一起使用,API 的使用者必须将密匙添加到请求头中以验证其请求,下面介绍它的主要用法 参数algorithm 算法 默认hmac-sha256 ["hmac-sha1", "hmac-sha256", "hmac-sha512"],客户端请求头X-HMAC-ALGORITHM=hmac-sh…

[PNPM Workspace] 搭建Monorepo工程

pnpm + workspace 前置知识 思考🤔:什么是工作空间? 答案:工作空间可以看作是一个共享的区域,所有用于工作的资源都可以从这个区域获取到。 生活中工作空间 在这个工作空间中,通常会包含与工作相关的所有工具和资源,比如办公桌、电脑、文具和文件柜等。这个工作空间是一…

欧拉22.03系统freerdp安装

欧拉22.03系统freerdp安装 1、按照欧拉22.03版本最小化安装,系统安装后安装xfce桌面环境 使用默认yum源,不用更新系统 1)安装字库 # dnf install dejavu-fonts liberation-fonts gnu-*-fonts google-*-fonts2)安装Xorg # sudo dnf install xorg-*3)安装XFCE及组件 # sudo …