TL;DR
可操作结论:4D 并行没有通用模板,正确做法是“占比分解 + 原语频次驱动的拓扑映射 + 长上下文下把 CP 纳入 mesh”。先用 profiler 量 attention 时间占比:>30% 先开 SP [4];>50% 或 L≥32K 时,把 CP 当作并行维度而不是 kernel 优化(Ring/Ulysses/USP)[5][6][7]。拓扑放置按原语频次从内到外:TP 的 per-layer all-reduce [2] 与 MoE 的 EP all-to-all [3] 优先占 NVLink;PP 的 P2P 可跨 IB,并默认用 zero-bubble 1F1B 把 bubble 压到接近 0 [8];DP/FSDP 同步最外层跨 pod [1]。公开证据上,>10K GPU 的手工 4D 仍最可复现 [1];auto-parallel 在较小规模可用,但缺少 100B+、>1K GPU 的 matched-scale MFU/拓扑对照 [9][10];FSDP-only 缺少 dense 预训练封顶的公开定量 [12][13]。2026 年合理 MFU 带:dense 40–55%(MegaScale 报告 55.2%)[1];MoE 25–45%(公开 MoE 系统报告常落在此区间)[26]。低于该带优先排查 mesh/拓扑映射与 schedule/内核对齐,而不是先怪硬件。
核心断言
§1 把 4D 并行还原成两个输入:占比(profile)与频次(primitive)
工程上最稳的建模方式是:并行维度不是“功能标签”,而是通信原语的组合;决策输入不是“模型有多大”,而是 (1) 端到端时间占比(compute share)和 (2) 原语调用频次(per-step primitive frequency)。TP 的核心通信是 per-layer all-reduce / reduce-scatter / all-gather,频次随 layer 数线性增长 [2];MoE 的 EP 引入 per-layer 或 per-block all-to-all,也是高频原语 [3]。因此 TP/EP 默认应放在最低延迟、最高带宽的 NVLink/NVSwitch 内圈;把它们移到跨 IB,通常会把“每层一次”的延迟累积放大为端到端瓶颈。
与之相对,PP 通信是 stage 间 P2P,频次由 stage 数和 microbatch schedule 决定,但不必每层触发;因此 PP 更适合跨 IB 扩展。MegaScale 将这一分层固化为可复现配置:TP=8 固定在 NVLink 域、PP 跨 IB、DP/FSDP 跨 pod,并在 >10K GPU 上报告 dense 175B 55.2% MFU [1]。这类结果的价值不在“数字好看”,而在提供可对照的排障基线:当 MFU 明显低于 40–55% 区间时,优先检查 mesh→topology 映射、collective 实现与 overlap,而不是先改模型或归因硬件 [1]。
长上下文维度(SP/CP)更依赖占比输入:Korthikanti et al. [4] 将 SP 做成不改变通信量级的系统手段,并把重算开销从约 36% 压到约 2%,使“attention 占比上升时先开 SP”成为低风险动作 [4]。当 attention 占比继续上升,CP 才从优化项变成形态项(见 §2)。
并行维度的默认放置不是按“模型大小”,而是按“每步通信原语的频次”:每层一次的 TP/EP 住 NVLink,stage 间的 PP 才适合跨 IB。[2][3][1]
§2 长上下文下的形态切换:SP 先行,CP 入 mesh
把 SP 与 CP 统称为“长序列优化”会把工程路径带偏:SP 主要把 activation/重算压力从显存中移出,CP 则把 KV/attention 的数据分布形态扩展到多卡。Korthikanti et al. [4] 的关键做法是:沿 sequence 切分部分 activation,并通过 all-gather/reduce-scatter 维持通信量级;再用 selective recomputation 将重算开销从约 36% 降到约 2% [4]。因此,当 profiler 显示 attention 时间占比超过约 30% 时,SP 通常是“先做不后悔”的选择:它先解除显存与重算造成的 microbatch 约束,进而间接降低 PP bubble 与通信暴露。
但当 attention 占比继续上升(经验阈值 >50%)或 L≥32K,瓶颈会从“显存/重算”切换为“KV 必须分布式持有”。Ring Attention 沿 ring 传递 KV block,并与本地 attention 重叠 [5];Ulysses 用 head-axis all-to-all 组织 attention 的计算/通信 [6]。两者都把 CP 提升为并行维度,而不是单卡 kernel 补丁:即使 FlashAttention-2/3 加速了单卡 attention [15][16],一旦 KV 规模超过单卡可承载范围,跨设备 KV 分布与通信调度仍然必要。
USP 的贡献是把“选 Ring 还是 Ulysses”改写为“按拓扑参数选择通信形态”:由 head 数与 NVLink/IB 带宽比驱动选择或混合 [7]。这也说明 CP 应进入 mesh:一旦 CP 成为维度,拓扑映射(NVLink 内圈 vs IB 外圈)就能像 TP/PP 一样显式决策,而不是隐含在 kernel 中。当前公开证据仍缺少 Ring vs Ulysses vs USP/Untied-Ulysses 的系统性 breakpoint 图(按 L、heads、带宽比),因此更稳的阈值策略是用 attention 时间占比触发,而不是只看 L(见 open questions)。
| 维度/方法 | 主要解决的瓶颈 | 核心通信形态 | 更稳的触发器(经验) | 代表引用 |
|---|---|---|---|---|
| SP(Sequence Parallelism) | activation 显存与重算导致的 microbatch 受限 | all-gather / reduce-scatter(量级不变) | attention 时间占比 >30% 时先开;重算开销可从 ~36%→~2% | |
| CP-Ring(Ring Attention) | KV 规模超过单卡可承载,需要分布式持有 | ring 传递 KV block + 与计算重叠 | attention 时间占比 >50% 或 L≥32K 时纳入 mesh | |
| CP-Ulysses(head-axis) | 极长上下文下的 attention 扩展与拓扑匹配 | head-axis all-to-all | 同上;更依赖 all-to-all 在 NVLink 域内的可用带宽 | |
| USP(拓扑感知选择) | 把 CP 方案选择显式参数化为拓扑决策 | 在 ring 与 all-to-all 间按带宽比/heads 选或混合 | 当 CP 进入 mesh 后,用带宽比驱动选型更稳 |
§3 PP 的默认值正在收敛:zero-bubble 取代 interleaved 1F1B
PP 的争论过去常卡在“bubble 是不是二阶项”。更稳的判据是:当 stage 数 P 较大、microbatch 数 M 又受显存限制时,bubble 就是一阶损失;长上下文/大 activation 往往正是限制 M 的原因。Zero Bubble Pipeline Parallelism 给出一个可验证构造:把 backward 拆成 input-grad 与 weight-grad 两类 stage 并独立调度(ZB-H2),在精确语义下把同步 bubble 压到 0 [8]。因此,zero-bubble 更接近“默认 schedule”,而不是“额外复杂度”。
与早期 pipeline 系统(例如 PipeDream)相比,zero-bubble 的关键不是异步权重或一致性取舍,而是拆开依赖图后重新排列,在同步训练语义下消除空转 [17][8]。后续工作继续系统化 PP 调参:Pipeline Parallelism with Controllable Memory 把 schedule 表达为可组合 building block,并显式刻画显存生命周期与 bubble 的权衡 [18];Seq1F1B 把 1F1B 的单位推到 sequence 级,直接面向 32K–128K 长上下文下的 pipeline 效率 [19]。
放回 4D 决策,一个更务实的默认是:只要用了 PP,就先把 zero-bubble 作为 baseline;如果 MFU 仍低于健康带,再检查 PP stage 切分是否与 SP/CP 导致的 microbatch 上限冲突,以及 P2P 是否被错误放到更外层拓扑(例如跨 pod)。MegaScale 的可复现配置也隐含这一点:PP 跨 IB、DP/FSDP 跨 pod [1],避免把高频同步放到最外圈。
§4 自动化与低侵入路线的边界:缺的不是算法,是 matched-scale 公开对照
auto-parallel 与 FSDP-only 的吸引力是降低工程门槛:少写并行代码,少做 mesh sweep。Alpa 用 cost model + 搜索统一 DP/OP/PP 计划 [9];GSPMD 将 sharding 传播与 SPMD 生成编译化 [10],并在 TPU/pjit 路线中成为事实标准。FSDP 把参数/梯度/optimizer state 分片做成框架能力,强调低侵入与 overlap [12];veScale-FSDP 进一步强调结构感知与 runtime 优化 [13]。
但把这些路线与手工 4D 放到同一张工程账上时,核心缺口不是理念,而是可对照的公开证据:MegaScale 给出 >10K GPU 的拓扑绑定与 MFU 基线 [1],而 auto-parallel/FSDP-only 公开材料更常见的是中等规模或不同硬件栈结果。这使两个实际问题仍难回答:在 100B+、>1K GPU、同拓扑约束下,自动计划能否稳定达到手工 4D 的 90–95% 吞吐;以及 dense 预训练中 FSDP-only 的 MFU 封顶与拐点在哪里。
因此更稳的工程定位是把它们当作“零件”而不是“替代品”:在 <100B 或拓扑较简单(单 pod、NVSwitch 域大)的场景,auto-parallel 的收益更直接;在需要快速迭代模型结构时,FSDP 的低侵入更省人力。但一旦进入高频原语(TP/EP)必须绑定 NVLink、PP 必须跨 IB、且 CP 进入 mesh 的 regime,手工拓扑映射仍是最可复现的路径 [2][3][1][5][6]。这不是否定自动化,而是收紧它的成功标准:能否在固定拓扑约束下复现同等 MFU,并把计划解释成可审计的 primitive placement。
时间线
- Megatron-LM 把 TP 的 per-layer collective 代价写清楚[2]
- PaLM/Pathways 把 EP all-to-all 固化为 MoE 训练的关键原语[3]
- SP + selective recomputation:重算开销 ~36%→~2%[4]
- Ulysses 把 CP 作为并行维度(head-axis all-to-all)[6]
- Ring Attention 用 ring KV 传递把长上下文扩展到多卡[5]
- Zero-bubble 给出 bubble→0 的构造(ZB-H2)[8]
- MegaScale 在 >10K GPU 上给出可复现的 4D 拓扑绑定与 55.2% MFU[1]
- USP 把 Ring/Ulysses 统一为拓扑感知选择空间[7]
- veScale-FSDP 强调 FSDP 性能取决于 runtime/结构感知实现[13]
研究立场对比
阵营 A:手工 4D + 拓扑感知映射(Megatron/MegaScale 路线)
立场 — 把 TP/EP/PP/DP(FSDP)/CP 当作通信原语的分层放置问题:高频(TP/EP)绑定 NVLink,PP 跨 IB,DP/FSDP 跨 pod;长上下文下 CP 进入 mesh,并用 schedule(zero-bubble)与 kernel 对齐把 MFU 推到可预期区间。
反方 — 代价是工程复杂度与人肉 sweep:mesh 形状、拓扑绑定、schedule、kernel 需要显式决策;当模型结构快速变化(异构 MoE、长上下文混合)时,手工计划的维护成本会抬升。
判词 — 在 100B+ 或 >1K GPU、且需要可复现吞吐上限时,把手工 4D 作为默认基线更稳;自动化与 FSDP 更适合作为局部替换件,前提是能解释成可审计的 primitive placement,并在固定拓扑约束下复现 MFU 带 [1]。
阵营 B:auto-parallel(Alpa / GSPMD / 编译器搜索路线)
立场 — 把并行计划编译化:用户给少量 sharding annotation,cost model + 搜索自动决定 sharding、PP 切分与 placement,计划可随拓扑变化自动适配,目标是在 <100B 逼近手工吞吐并显著降低工程门槛。
反方 — 修正 c-b301c4c17a / c-76982c2425 / c-c512acfaf7:公开材料仍缺少 100B+、>1K GPU、同拓扑约束下与手工 4D 的 matched-scale MFU 对照;此外 cost model 对混合精度(FP8/低精度 attention)、异构 MoE 的刻画常不足,导致计划可解释性与可审计性弱于手工拓扑绑定。
判词 — 在单 pod 或中等规模,把 auto-parallel 作为“快速拿到可跑 baseline”的工具更务实;进入多 pod、TP/EP 必须绑定 NVLink、且 CP 进入 mesh 的 regime 时,仍需要手工可审计的拓扑映射作为主路径,auto-parallel 的价值转为“生成候选计划 + 提供 cost model 诊断”。
阵营 C:FSDP-only / ZeRO-only(低侵入优先)
立场 — 尽量只用 DP/FSDP(或 ZeRO 系列)解决显存与扩展性,把复杂度留在框架层;通过 overlap、结构感知与 runtime 优化把性能推到可接受水平,避免引入 TP/PP/CP 对模型代码与算子实现的侵入。
反方 — 反驳 c-225cae10ca / 修正 c-1f3caad103:当 TP/PP/CP 变成必需维度时,FSDP-only 往往把瓶颈推到跨节点同步与碎片化/调度开销上;在长上下文下,CP 解决的是 KV 分布形态而非参数显存,FSDP 无法替代 [5][6]。公开证据也仍缺少 dense 预训练的 MFU 封顶与拐点(何时必须引入 TP/PP/CP)的量化对照 [12][13]。
判词 — 把 FSDP 作为外层 DP 的默认实现很合理;把 FSDP-only 当作 100B+ 或长上下文的终局方案不稳。更务实的做法是:先用 FSDP 降低状态显存与工程侵入,再在 profiler 指示的瓶颈处引入 TP/PP/CP,并按频次把高频原语放回 NVLink 内圈 [2][1]。
阵营 D:经典 3D(DP+TP+PP)足够;SP/CP 只是可选优化
立场 — 坚持成熟的 3D 配方:TP 解决算子内并行,PP 解决深度切分,DP/FSDP 解决吞吐;长上下文更多依赖更快的 attention kernel 或更好的 PP 调度,SP/CP 只在极端场景启用。
反方 — 反驳 c-ab68e1f89c / c-ac979a61a5 / c-4086500505:当 attention 占比上升到 >30% 时,SP 往往先于 CP 成为低风险收益项 [4];当 attention>50% 或 L≥32K 时,CP 解决的是“KV 必须分布式持有”的形态问题,kernel 只能推迟拐点 [5][6]。因此把 SP/CP 当作“可选补丁”会在长上下文 regime 下把问题拖到 OOM 或低 MFU 才暴露。
判词 — 3D 仍是短上下文与中等规模的稳默认,但需要加两个“触发器”:attention>30% 先开 SP [4];attention>50% 或 L≥32K 时把 CP 纳入 mesh 并按拓扑选 Ring/Ulysses/USP [5][6][7]。这样 3D 才能平滑过渡到 4D,而不是靠临时补丁救火。
实践要点
可执行清单(H100/B200,2026-04):
1) 先量占比再选维度:用 profiler 量 attention 时间占比;attention>30% 先开 SP [4],不要只看 L。
2) 把 CP 设成“阈值触发的并行维度”:attention>50% 或 L≥32K 时,把 CP 纳入 mesh;不要指望只靠更快的单卡 attention kernel 解决分布式形态问题 [5][6][7][15][16]。
3) mesh→拓扑按原语频次从内到外:TP 与(MoE 时)EP 放 NVLink;PP 跨 IB;DP/FSDP 最外层跨 pod [2][3][1]。不要把 TP/EP 拉到跨节点当作“省 PP”的替代。
4) PP 默认用 zero-bubble 1F1B:先把 ZB-H2 当 baseline,再讨论 partition 或更复杂 schedule;不上 ZB 往往等价于白丢 2–5 个 MFU 点 [8]。
5) 3D 的“退出条件”要写死:当长上下文导致 microbatch 被压到很小、bubble 变成一阶项时,优先改形态(SP/CP + zero-bubble),不要只加 PP stage 或只换 kernel [4][8][5]。
6) auto-parallel 用作候选生成器而不是裁判:在 <100B 或单 pod 先用 Alpa/GSPMD 快速拿可跑计划,但上线前要把计划还原成 primitive placement 并做拓扑约束审计 [9][10][1]。
7) FSDP 作为外层 DP 的默认实现,但别押注 FSDP-only 的封顶:缺少公开 dense 预训练封顶与拐点对照时,遇到 MFU 低于 40%(dense)先引入 TP/PP/CP 的形态修正,再优化 sharding 细节 [12][13][1]。
8) 用 MFU 带做排障门槛:dense 40–55%、MoE 25–45;显著低于此带,先查拓扑映射(TP/EP 是否在 NVLink)、schedule(是否 zero-bubble)、以及 attention 形态(是否需要 CP)[1][8][7][26]。
悬而未决的问题
- Q1.是否存在公开的 >1K GPU 或 100B+ matched-scale 对照:手工 4D vs auto-parallel,且 MFU 与拓扑约束可比?目前 Alpa/GSPMD [9][10] 与 MegaScale [1] 难以直接对齐。
- Q2.FSDP/ZeRO-only 的公开 dense 预训练 MFU 封顶是多少?拐点在模型规模、序列长度、还是拓扑(跨 pod)上出现?现有 FSDP 经验 [12][13] 多缺少与 TP/PP/CP 的同条件对照。
- Q3.在 FlashAttention-2/3 [15][16] 这类现代 kernel 下,SP 从“可选”变成“必要”的具体阈值应如何定义:按 L、按 attention 时间占比、还是按 microbatch 上限?需要公开的 controlled experiment。
- Q4.Ring vs Ulysses vs USP/Untied-Ulysses 的 breakpoint 是否有公开 head-to-head:按 L、heads、NVLink/IB 带宽比报告吞吐与显存曲线?当前更多是各自论文内的局部对照 [5][6][7][25]。
- Q5.rematerialization/checkpointing 是否能在长上下文下替代 SP/CP?Rabe and Staats [24] 说明 attention 可降内存阶,但系统层面仍可能先被通信与 schedule 限制;缺少与 CP 形态的同条件对照。
- [1]Ziheng Jiang, Haibin Lin, Yinmin Zhong, Qi Huang, Yangrui Chen. MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs. arXiv, 2024论文
- [2]Mohammad Shoeybi, Mostofa Patwary, Raul Puri, Patrick LeGresley, Jared Casper. Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism. arXiv, 2019论文
- [3]Aakanksha Chowdhery, Sharan Narang, Jacob Devlin, Maarten Bosma, Gaurav Mishra, et al.. PaLM: Scaling Language Modeling with Pathways. arXiv, 2022论文
- [4]Vijay Korthikanti, Jared Casper, Sangkug Lym, Lawrence McAfee, Michael Andersch, Mohammad Shoeybi. Reducing Activation Recomputation in Large Transformer Models. arXiv, 2022论文
- [5]Hao Liu, Matei Zaharia, Pieter Abbeel. Ring Attention with Blockwise Transformers for Near-Infinite Context. arXiv, 2023论文
- [6]Sam Ade Jacobs, Masahiro Tanaka, Chengming Zhang, Minjia Zhang, Shuaiwen Leon Song. DeepSpeed Ulysses: System Optimizations for Enabling Training of Extreme Long Sequence Transformer Models. arXiv, 2023论文
- [7]Jiarui Fang, Shangchun Zhao. USP: A Unified Sequence Parallelism Approach for Long Context Generative AI. arXiv, 2024论文
- [8]Penghui Qi, Xinyi Wan, Guangxing Han, Shengen Yan, Yang You. Zero Bubble Pipeline Parallelism. arXiv, 2023论文
- [9]Lianmin Zheng, Zhuohan Li, Hao Zhang, Yonghao Zhuang, Zhifeng Chen, et al.. Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning. arXiv, 2022论文
- [10]Yuanzhong Xu, HyoukJoong Lee, Dehao Chen, Blake Hechtman, Yanping Huang, et al.. GSPMD: General and Scalable Parallelization for ML Computation Graphs. arXiv, 2021论文
- [11]Chris Lattner, Mehdi Amini, Uday Bondhugula, Albert Cohen, Andy Davis, et al.. MLIR: A Compiler Infrastructure for the End of Moore's Law. arXiv, 2020论文
- [12]Yanli Zhao, Andrew Gu, Rohan Varma, Liang Luo, Chien-Chin Huang, et al.. PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel. arXiv, 2023论文
- [13]Zezhou Wang, Youjie Li, Zhiqi Lin, Jiacheng Yang, Cong Xie. veScale-FSDP: Flexible and High-Performance FSDP at Scale. arXiv, 2026论文
- [14]Qiaoling Chen, Qinghao Hu, Guoteng Wang, Yingtong Xiong, Ting Huang, et al.. AMSP: Reducing Communication Overhead of ZeRO for Efficient LLM Training. arXiv, 2023论文
- [15]Tri Dao. FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning. arXiv, 2023论文
- [16]Jay Shah, Ganesh Bikshandi, Ying Zhang, Vijay Thakkar, Pradeep Ramani, et al.. FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision. arXiv, 2024论文
- [17]Aaron Harlap, Deepak Narayanan, Amar Phanishayee, Vivek Seshadri, Nikhil Devanur, et al.. PipeDream: Fast and Efficient Pipeline Parallel DNN Training. arXiv, 2018论文
- [18]Penghui Qi, Xinyi Wan, Nyamdavaa Amar, Min Lin. Pipeline Parallelism with Controllable Memory. arXiv, 2024论文
- [19]Ao Sun, Weilin Zhao, Xu Han, Cheng Yang, Xinrong Zhang, et al.. Seq1F1B: Efficient Sequence-Level Pipeline Parallelism for Large Language Model Training. arXiv, 2024论文
- [20]BigScience Workshop, Teven Le Scao, Angela Fan, Christopher Akiki, et al.. BLOOM: A 176B-Parameter Open-Access Multilingual Language Model. arXiv, 2022论文
- [21]Ebtesam Almazrouei, Hamza Alobeidli, Abdulaziz Alshamsi, Alessandro Cappelli, Ruxandra Cojocaru, et al.. The Falcon Series of Open Language Models. arXiv, 2023论文
- [22]Aaron Grattafiori, Abhimanyu Dubey, Abhinav Jauhri, Abhinav Pandey, Abhishek Kadian, et al.. The Llama 3 Herd of Models. arXiv, 2024论文
- [23]Weiyang Wang, Manya Ghobadi, Kayvon Shakeri, Ying Zhang, Naader Hasani, et al.. Rail-only: A Low-Cost High-Performance Network for Training LLMs with Trillion Parameters. arXiv, 2023论文
- [24]
- [25]Ravi Ghadia, Maksim Abraham, Sergei Vorobyov, Max Ryabinin. Untied Ulysses: Memory-Efficient Context Parallelism via Headwise Chunking. arXiv, 2026论文
- [26]