第二部分 · 基础设施
封面/第二部分 · 基础设施
PART 2 · 6 章 · 基础设施

第二部分 · 基础设施

V4 的"骨" —— MegaMoE 通信、TileLang 内核、批不变与确定性、FP4 QAT、训练 / 推理框架。架构定了形,基础设施决定它能不能在真实集群上跑起来。

章节数6 章(Ch7–Ch12) 预计阅读50–70 分钟 难度★★★☆☆ – ★★★★☆ 前置MoE 专家并行、CUDA / TileLang DSL、ZeRO 与 CP、KV cache 与 PagedAttention、FP8 / FP4 数值格式
▸ LEARNING OBJECTIVES

读完这部分,你将能够

  • 用一行不等式(C/B ≤ 6144 FLOPs/Byte)说出 MegaMoE 的"硬件协设公式",并解释超过这个值堆带宽为什么没用。
  • 解释 TileLang 替掉 ATen 的三个动机:host 开销、SMT 求解、位级可复现。
  • 区分"批不变"与"确定性"是两件事,并说出 V4 是怎么在 Attention / MatMul / Sparse Attn / MoE 反向里分别保证的。
  • 画出 FP4 QAT 的"FP32 master → FP4 → FP8 反量化 → forward"信号链,说出为什么 FP4→FP8 反量化是无损的。
  • 说清 Muon + ZeRO 冲突的根因,以及 V4 是怎么"稠密 / MoE 二分 + FP32→BF16 SR 通信"折中的。
  • 对比 PagedAttention 与 V4 的 State Cache + Block Cache 二分,列出至少 3 处不能共用的原因。
  • 面对一个新模型的部署问题,能从"通信、内核、数值、梯度切分、KV 布局"五个维度独立诊断。

本部分章节路线图

如何阅读这部分

如果你做训练 infra,Ch7 / Ch11 / Ch9 优先; 如果你做推理部署,Ch12 / Ch10 / Ch9 优先; 如果你想理解 V4 的"工程主义",Ch9(确定性)是隐藏 MVP —— 它让前面的所有奇技淫巧可被复现、可被调试。

读完 6 章后,回来看这里

本部分小结

▾ KEY TAKEAWAYS

核心要点回顾

  • 通信(Ch7 · MegaMoE):把 dispatch / L1 / act / L2 / combine 切 wave 流水,通信完全藏在计算下;C/B ≤ 6144 FLOPs/Byte 是硬件协设的目标线。
  • 内核(Ch8 · TileLang):用 DSL 替手写 CUDA,host 开销 <1µs,Z3 SMT 入编译器,bit-identical 与 CUDA 对齐。
  • 可重放(Ch9 · 批不变 + 确定性):放弃 split-K / atomicAdd 等非结合优化,换来 train / RL / infer 三段 bit 一致。
  • 数值(Ch10 · FP4 QAT):FP32 master → FP4 → FP8 反量化无损 → forward;推理直接吃真 FP4 权重。
  • 训练(Ch11 · ZeRO + CP):稠密 / MoE 二分切;FP32→BF16 stochastic rounding 减半通信;mHC 融合 kernel + DualPipe overlap,把开销压到 6.7%;二阶段 CP 跨压缩边界。
  • 推理(Ch12 · KV 异构):State Cache 装位置敏感的 SWA / 尾巴,Block Cache 装压缩 KV;盘上 KV 给共享前缀复用。

关键参数 / 公式速查

位置关键值 / 公式含义
MegaMoE 协设C/B ≤ 2d = 6144 FLOPs/Byte每 GBps 互联养 6.1 TFLOP/s
TileLang host 开销< 1 µs从 ATen 的几十~几百 µs 砍下来
FP4 sub-block1 × 32(FP4 E2M1)scale 比值落在 FP8 E4M3 动态范围内
FP8 量化块128 × 128(FP8 E4M3)与 FP4 sub-block 嵌套,反量化无损
Indexer 提速2× / 99.7% recallFP4 QK + BF16 score
mHC wall-time 开销6.7%融合 kernel + DualPipe overlap 后
二阶段 CP 输出长度s/m + 1压缩边界 + 1 token 同步

设计直觉地图

  • 架构层(Part 1)的每个新元素,在基础设施层都对应一项"代价":mHC → 融合 kernel + 张量级 ckpt;CSA → 二阶段 CP + 盘上 KV;FP4 → 反量化嵌套;Muon → 混合 ZeRO + SR。
  • Ch9 的"批不变 + 确定性"是看不见但最关键的护城河 —— 没有它,前面所有 trick 都不可调试。
  • "硬件协设"不只是 Ch7 的 6144 FLOPs/Byte:FP4 嵌套、TileLang 与 SMT、KV 异构布局,都是同一个"软硬协同"姿态。

自检题

Q1. C/B ≤ 6144 FLOPs/Byte 这个阈值的物理含义是什么?为什么超过它再堆带宽是浪费?

查看参考答案

它给出的是"通信完全能被计算覆盖"的临界点:每通信 1 字节,对应的计算时间够掩盖通信时间。低于此值,瓶颈在通信,加带宽有用;高于此值,瓶颈在计算,加带宽不会让训练更快。

Q2. Muon 与传统 ZeRO 为什么冲突?V4 是怎么折中的?

查看参考答案

Muon 需要完整梯度矩阵做 NS 正交化,而 ZeRO 按维度切梯度会让每个 rank 看不到完整矩阵。V4 的做法:稠密参数限制最大 ZeRO 并行度 + 背包均衡 + padding;MoE 参数按专家独立切;通信用 FP32→BF16 stochastic rounding 减半。

Q3. 为什么 V4 不能直接用 PagedAttention?至少给出 3 个原因。

查看参考答案

(1) PagedAttention 假设所有层共享同种 KV,但 V4 有 SWA / CSA / HCA / Indexer 四种;(2) SWA 有窗口外即丢的过期策略,与 paged 通用回收不兼容;(3) 压缩注意力 kernel 对 cache line 对齐有要求,需要 lcm(m, m') 分块;(4) 各层 KV ratio 不一样。

Q4. FP4 → FP8 反量化为什么是无损的?

查看参考答案

FP4 sub-block (1×32) 与 FP8 量化块 (128×128) 的 scale 比值刚好落在 FP8 E4M3 的动态范围内,所以反量化时 scale 本身能精确表达,不引入舍入误差。这是 V4 把"训练用模拟 FP4 / 推理用真 FP4"无缝衔接的关键。

预留位:MegaMoE wave 调度甘特图、FP4 量化数值演示、KV 布局可视化。读到具体位置时再确定。