LLM Distributed Training Collectives(分布式训练与集体通信)

Weave 显示 MoE expert parallel 的重叠粒度已从 collective/kernel 边界下沉到 persistent megakernel 内部:通信 SM 数和 chunk 可按层、按 GPU 动态选择,空闲通信 SM 还能临时执行 GEMM tile。 Mixture-of-Kittens 进一步把该路径钉在 NVL72:pull/push 选型 + 512–32k token 粒度 + 设备环缓冲,相对最强公开基线最高 2.37×、生产 512 GPU 1.41×。Purlin 则从推理侧把集体 SNAC 编排 与代际 Atom datapath 拆开(延迟最高 5.14×)。

arch-study 并行篇 Day 27:H&P Ch.6 + Ch.10——当模型装不进单芯片(GPT-3 175B ≫ WSE 44 GB SRAM),通信成为训练主瓶颈。经典 MPI 五算法见 AllReduce;本页聚焦 LLM 训练配方与复杂度直觉。

Source: arch-study-30d-day-27.md

Collective 原语(训练侧)

原语语义LLM 用法
AllReduce每人得全局和DP/TP 梯度或 activation 同步
Reduce仅 root 得和主节点收集
AllGather每人得拼接全集权重/分片拼回
Broadcast主节点下发初始化/checkpoint
All-to-All每人与每人交换分片MoE token 重排、Attention 重排

DP 训练每 step:forward → backward → AllReduce(grads) → update。

Ring AllReduce:为何工程胜出

两阶段,各 N−1 步:

  1. Reduce-Scatter:环上传递并累加,每人最终持有全局和的 1/N
  2. AllGather:环上传递完整分片,每人持有全集
RingBinary TreeParameter Server
每 worker 传输量≈2D(与 N 近似无关)~D·log₂NMaster 2D(热点)
步数2(N−1)log₂NO(1) 轮次但串行
大消息带宽最优根拥塞Master 瓶颈
小消息步数多 → 延迟敏感常更好—

粗算:256 GPU、1 GB、~100 Gb/s → Ring ~200 ms 量级;GPT-3 级梯度 ~700 GB 时 AllReduce 可占 step 时间 30–50%+。

四种并行策略

DPTPPPEP
切法batch张量维(Megatron)模型层MoE expert
原语AllReduce 梯度每层 AllReduce 部分和P2P act/gradAll-to-All
频率每 step每层×2每 micro-batch每层
适用模型 ≤ 单卡单层太大必须切层MoE
瓶颈互联带宽NVLink/带宽bubble 10–30%All-to-All

推理侧 DP↔TP 切换点见 Parallelism Transition Point。

分布式 Roofline 直觉

T_train ≈ T_compute + T_comm(DP/TP/PP/EP)
T_compute ≫ T_comm → 堆算力 / 大批次
T_comm ≫ T_compute → 压互联、压缩梯度、重叠通信

弱 scaling 大模型:常出现 T_comm / T_compute > 1(笔记例:~3.7×)→ GPU 大量时间等通信。

经典 Hockney 只写 T = pα + qS/B。 Synchronization Tax 把集体墙钟拆成 wait + transfer:先到 barrier 的 rank 空等最慢 rank,这段 τ 与互连带宽无关。增广式 T = pα + qS/B + τ。8-GPU NVLink 域上 τ 可占通信时间 >50%;中位 rank 可把 >80% 的 TP 通信花在等。GEMM 跨 rank 差驱动 78% 的 GPU 计算差异。因此把 T_comm 全算成「带宽不够」会高估 scale-up 该配的 B。

Wafer-Scale 如何改写故事

GPU 集群单 WSE
AllReduce 介质NVLink / IB2D mesh NoC
延迟量级ms–s(大消息)μs 级 hop 积
限制模型仍须多卡SRAM 装不下全模 → 多 wafer / Rack-Scale

片上集体算法谱系见 WSE Reduce Algorithms;量化见 WSE Quantitative Architecture Analysis。跨 wafer fabric ≈ 新的「长延迟 NoC」——Rack-Scale 核心命题。

通信-计算重叠

不必串行等 AllReduce:用 async AllReduce + 下一层/下一 micro-batch 计算 掩盖;PP 用 1F1B 等调度减 bubble。重叠率受链路与 kernel 粒度限制。

Sequence Parallelism / Ulysses All-to-All(2026-09 增量)

长上下文训练把序列切开后,attention 常需 All-to-All 把头维重排(DeepSpeed-Ulysses)。BASP 在 (N=KB) 时把全局 N-way A2A 拆成 B 组并行 K-way,每 GPU 仍 (BS/N) tokens;8×A100 上相对 Ulysses 端到端 1.17–1.32×,大 B 时 A2A 墙钟可降约 85×(端到端收益会被 ZeRO 集体吃掉一部分)。Einsummable 从另一端自动搜 join-agg 分解,可在 128K 单序列上自动落到类似 Ulysses 的头/token 切分,且通信用合成 exchange 而非罐头 NCCL。

存储与集体共享 Fabric(2026-09)

Sharing a Fabric(NTU/LLNL)在 Slingshot-11 上拆出两种代价:重尾 DataLoader stall(主),以及存储与 NCCL/RCCL 同 traffic class 时 all-reduce 被拖到最高 145×(次)。DYAD 节点本地 NVMe staging 整 epoch vs Lustre 7.4×。提醒:集体墙钟的外生项不只是集群拥塞 pattern(REACT),还有 I/O 是否还在那张网上。

Entwine(中科院)把重叠从「整核后再集体」推进到 tile 产出顺序 + 细粒度 SM 通信核 + 资源预算:A800 NVLink 上 GEMM–ReduceScatter vs cuBLAS+NCCL geomean 1.232×(最高 1.433×),相对 FlashOverlap/Async-TP/FLUX 等再高 3.1–9.8%。

书 Ch.6–7、10:分层、环/树、就绪偏差(2026-09)

Ch.6 / Ch.7 / Ch.10 把集体从「记得 Ring」推进到可算的路径:

  • 环 (T=2(n-1)\alpha+2(n-1)M/(nB));未分段树 (2\log_2 n(\alpha+M/B))。H100 八卡、(\alpha=0.822) μs、450 GB/s/dir,交点约 680 KiB。decode 10 KiB 偏启动/树;prefill 80 MiB 偏环。
  • 分层梯度:16 rank、192 MiB。连续环跨机 720 MiB/1 NIC;分层 384 MiB/8 NIC。发送总量可相同,出口不同。
  • NCCL busbw=2(n-1)M/(nT) ≠ 每 NIC 线速。重叠必须测并发,不能独占时间相减。
  • 关键路径从数据就绪起:三人 0 ms、一人 2 ms + 0.4 ms 交换 = 2.4 ms;对齐就绪到 0.4 ms(与 Synchronization Tax 的 (\tau) 同构)。MegaScale:带宽稳、rank 越来越晚到。
  • 1024 卡、TP8×DP128:超节点 8→64 且出口随卡增长,步时间 0.939→0.690 s(+36% tok/s);再大收益 <2%。同条件仍选 TP8。
  • 训练状态 16 B/param;ZeRO 减复制不自动减峰值激活。checkpoint (\epsilon\approx C/I+\lambda(I/2+R))。

相关页面

Flux:集体通信时刻表驱动光电路(2026-09-25)

Flux 不改 AllReduce/TP 算法本身,而是让 OCS 电路日程对齐训练图中的通信就绪时刻,避免「无电路却已生产」造成的 NIC 堆积。摘要相对周期 OCS 调度:iteration 最高 10×、峰值 NIC buffer >三个数量级(Llama 3 8B、8 GPU、2 OCS 仿真)。

MoK × Purlin(2026-10-01)

  • Mixture-of-Kittens — NVL72 MoE 训练 megakernel;vs 最强公开基线最高 2.37×;生产 e2e 1.41×
  • Purlin — 语义/SNAC/Atom 解耦;集体延迟最高 5.14×、带宽 4.50×;SGLang 在线交互最高 2.85×

PCIe EP 与异构 MoE 规划(2026-10-02)

  • ThunderEP — 无 P2P 消费卡上把 host 当作共享通信介质;dispatch/combine vs NCCL 2.00×/1.53×;prefill 最高 1.66×
  • HAPMoE — MoE×异构集群六维自动并行;e2e 训练吞吐最高 3.2×,非均匀 PP 再最高 +78%

MoE megakernel 倾斜与 GPU 发起 RDMA(2026-10-05)

  • MegaFlux — megakernel 内运行时热专家复制;前向/反向几何均值 1.45×/1.28×;反向隐藏权重传输+副本梯度归约 91–100%
  • GPU-Initiated Communication Dissected — IBGDA vs CPU proxy;最小 GPU 路径发起 0.7 µs/完成 4.0 µs;与 bulk 共享队列延迟升 1–3 个数量级;~3000 连接 all-to-all 丢 59% NIC 消息率

EP all-to-all:Rail 均衡 + incast 波次(2026-10-06)

  • RailWave — DeepEP 之下源端 RailBalance + 循环置换波次 + 标定选择器;专家负载不均对 Rail 不均线性解释力仅 R² 0.019/0.296;同需求仅改并发顺序延迟 +67.1%;GLM-4.5-Air 回放 P50 通信 H800 2.02–5.84×、H20 1.74–4.36× vs Native。与 Multi-Plane Clos 的多平面负载均衡同源。

集体通信的 SM 账与布局迁移原语(2026-10-08)

  • T-CCL:节点内集体的搬运和规约都交给 Hopper TMA;128 MB AllGather 平均活跃 SM 6.60 vs NCCL 23.76,受限 CTA 预算下 vs NCCL 最高 3.42×;GEMM 重叠收益 TP=2 从 1.12× 升到 1.25×。说明重叠的瓶颈常是”通信占了多少 SM”,而非链路带宽。
  • NCCL M2N:RL 训练→rollout 的权重重分片成为一等集体原语;跨 NVLink 域只传一份、域内复制;DeepSeek-V3 256 GB200 权重同步 5.78→2.77 s,step −12.7%。

Citations

[1] arch-study-30d-day-27.md — H&P Ch.6/10 + LLM collectives(Day 27) [2] Synchronization_Tax_GPU_Scale_Up_Domains_2026.pdf — Devraj et al., arXiv:2608.22503;τ 与 B 无关 [3] BASP_Batch_Aware_Sequence_Parallelism_2026.pdf — BASP;Ulysses 子组 A2A [4] Einsummable_Multi_GPU_Parallelism_2026.pdf — Einsummable;自动 intra-op 并行 [5] CIERA_Cross_Iteration_Exponent_Reuse_Allgather_2026.pdf — CIERA;无损指数复用 Allgather [6] REACT_Tuning_Collective_Patterns_Shared_AI_Clusters_2026.pdf — REACT;拥塞感知集体 pattern [7] Sharing_Fabric_Collective_Storage_Penalties_2026.pdf — Wang et al., arXiv:2609.06506;存储×集体 fabric 争用 [8] Entwine_Tiled_Computation_Fine_Grained_GPU_Comm_2026.pdf — Ma et al., arXiv:2609.11562;tile 级 GEMM–RS 重叠 [9] Ch.6–7 manuscripts — 李博杰《AI Infra》 [10] AI-Infra-Book.pdf [11] Flux_OCS_Scheduling_LLM_Training_2026.pdf — Flux;OCS MILP vs RotorNet/BvN [12] MixtureOfKittens_MoE_Megakernel_NVL72_2026.pdf — MoK [13] Purlin_Collectives_Orchestration_Datapath_2026.pdf — Purlin [14] arXiv:2609.40093 — ThunderEP [15] arXiv:2609.39350 — HAPMoE [16] arXiv:2610.00671 — MegaFlux [17] arXiv:2610.01380 — GPU-Initiated Communication Dissected [18] arXiv:2610.03415 — RailWave [19] arXiv:2610.07098 — T-CCL [20] arXiv:2610.07516 — NCCL M2N