✏️ LLM 定价的数学原理 05:从单卡到集群——并行与互联
到目前为止,咱们一直在分析「一台 GPU 内部」发生的事——搬什么、算什么、谁等谁。但现实里前沿模型装不进一张 GPU:700B 模型在 FP8 下占 700GB,而一张 H100 只有 80GB——至少 9 张 GPU 才能装下一个完整模型。一旦涉及多卡,就有了全新的问题:这些 GPU 之间怎么协作?谁负责哪部分?它们之间怎么传消息?这一篇咱们就打开这个新维度。
前情提要:上一篇 拆开 KV cache 这个「反派」 咱们正面拆了 KV cache 的物理构成,并把所有架构创新分成了「算得快 / 经济学优化 / 硬件常数」三类。这一篇要看的「scale-up domain 加大」,本质上就是第三类——硬件常数(让物理墙整体后退)。但它解决的具体问题,跟你直觉里想的可能不一样。
一、为什么需要把模型切开?
先把动机搞清楚。一个模型可能因为三种原因需要切:
原因 1:装不下
700B 模型 ÷ 一张 H100 的 80GB = 必须切。这是物理强制。
原因 2:想跑得快
哪怕装得下,多卡并行也能加速。比如让 8 张 GPU 同时算,每张算 1/8 的工作。
原因 3:想跑得便宜(经济学)
回想第二篇的甜蜜点:B = 300 × 稀疏度倒数。要把 Batch 打到这个量级,需要足够的内存装 KV cache。单卡 80GB 装不下 5000 个用户的 KV——所以需要更多卡提供更多总内存。
二、切模型的三种维度
模型有很多「轴」可以切。打个比方,模型像一栋大楼:
- 横切:按层切。第 1-20 层在 GPU A、第 21-40 层在 GPU B → pipeline parallelism(流水线并行)
- 竖切:每层内部切。同一层的不同 head / 不同 expert 在不同 GPU → tensor parallelism / expert parallelism(张量并行 / 专家并行)
- 复制:多份完整模型,各自处理不同 batch → data parallelism(数据并行)
🔑 目前生产级 LLM 推理主流只用两种:expert parallelism 和 pipeline parallelism。Tensor parallelism 通信开销大、主要用于训练;data parallelism 在大模型推理里不再适用(每份模型都装不下)。咱们逐个看这两种。
三、Expert Parallelism——MoE 的标配
回想第四篇:MoE 模型有很多专家(比如 DeepSeek V3 有 256 个),每个 token 只激活其中几个。
🔑 关键洞察:不同专家可以放在不同 GPU 上。
GPU 0: Expert 0, Expert 1, Expert 2, Expert 3
GPU 1: Expert 4, Expert 5, Expert 6, Expert 7
GPU 2: Expert 8, Expert 9, Expert 10, Expert 11
...
GPU 63: Expert 252, Expert 253, Expert 254, Expert 255这就是 expert parallelism。每张 GPU 只装一部分专家,大幅降低单卡内存压力。
但出现了新问题:通信
一个 token 进来,router 决定「路由到 Expert 5 + Expert 100 + Expert 200」。这三个专家在三张不同的 GPU 上。这个 token 必须被发送到那三张 GPU,算完再收回来。
🔑 这就引入了「通信成本」——一个之前咱们完全没考虑过的维度。
更糟糕的是,每个 token 可能路由到任意几个专家。所以任意 GPU 都可能需要跟任意其他 GPU 通信。这种模式叫:
All-to-all 通信(全员对全员)
四、Rack 是什么——通信拓扑的物理现实
要理解 all-to-all 为什么是大事,得先认识硬件的物理形态。
物理结构
数据中心里,GPU 不是散乱摆放的,而是装在 机柜(rack) 里:
- 一个 rack 是一个几米高、一两米宽的金属框架
- 装大约 64-72 块 GPU(Blackwell 是 72)
- 限制大小的是:供电、重量、散热
两种网络
GPU 之间有两套互联系统:
Scale-up 网络(机柜内,如 NVLink)
- 在 rack 内部连接所有 GPU
- 带宽极高(~1.8 TB/s 单向,NVLink 5)
- 任意 GPU 间两跳就能通信(通过中间的 NV Switch)
Scale-out 网络(机柜间,如 InfiniBand)
- 连接不同 rack 之间
- 带宽约低 8 倍
- 跨 rack 通信要绕路、要排队
🔑 8 倍带宽差距是个关键数字——它直接决定了「什么通信模式能在 rack 内做、什么不行」。
一张图
┌─────────── Rack 0(64 GPU)───────────┐
│ │
│ GPU0──┐ │
│ GPU1──┤ │
│ GPU2──┼──[ NV Switch 中央 ]──────GPU63│
│ ... │ ←─ scale-up 网络 │
│ GPU63─┘ 全员高速互联 │
│ │ │
└────────┼──────────────────────────────┘
│
│ ←─ scale-out 网络
│ 8× 慢
│
┌────────┼──────────────────────────────┐
│ Rack 1(另外 64 GPU) │
└───────────────────────────────────────┘为什么不把所有 GPU 都塞进一个 rack?
答案出奇地物理:线缆塞不下。
- rack 中间是 NV Switch
- 每张 GPU 都要拉一根线到中央交换机
- 64 张 GPU = 64 根高密度线缆
- 想翻倍?线缆密度也得翻倍
- 实际限制因素:连接器密度、布线弯曲半径、机械结构强度、散热气流
🔑 scale-up 的物理上限不是「芯片技术」问题,是「机械工程」问题。
五、MoE 为什么「完美匹配」一个 rack
现在把 expert parallelism 和 rack 放一起看。
MoE 需要 all-to-all 通信:任何 GPU 都可能给任何 GPU 发数据。
- 在 rack 内:✅ 全员高速互联,完美匹配
- 跨 rack:❌ 8× 慢的网络成为瓶颈
🔑 结论:MoE 推理最好整个铺在一个 rack 内。
DeepSeek V3 有 256 个专家、一个 Blackwell rack 72 张 GPU——除不尽,简化用 64 张,每张装 4 个专家。这就是工程师们在白板上画的那个标准布局。
反推一个限制
这意味着:一个 rack 的容量,决定了一个 MoE 层能多大。
- Blackwell rack:72 × 192GB ≈ 13.8 TB 总内存
- 这就是 MoE 模型「总参数」的天花板——同一个 rack 装得下的极限
🔑 这解释了「为什么前沿模型直到最近才突破 1T 参数」——Hopper rack 内存装不下,Blackwell rack 才装得下。不是不想做大,是装不下。
六、Pipeline Parallelism——跨 rack 的方法
那如果模型大到一个 rack 装不下呢?或者你想用多 rack 提高吞吐?
这时候用 pipeline parallelism:按层切。
Rack 0: 第 1-20 层
Rack 1: 第 21-40 层
Rack 2: 第 41-60 层
Rack 3: 第 61-80 层一个 token 走完整个流水线,经过 4 个 rack。
为什么 pipeline 适合跨 rack?
因为它的通信模式跟 MoE 完全不同:
- MoE:all-to-all(任意 GPU 对任意 GPU)
- Pipeline:点对点(rack N 算完只把结果发给 rack N+1)
🔑 点对点通信对带宽要求低得多——而且只在 rack 边界发生一次,不像 MoE 那样每个 token 都要 all-to-all。
具体算一下:rack 0 算完一层,只需要把 token 的中间表示(几 KB)发给 rack 1。这个数据量太小,scale-out 网络 8× 慢也完全够用。
Pipeline 的代价:bubble(气泡)
但 pipeline 有个致命问题。
想象一条流水线:rack 0 → rack 1 → rack 2 → rack 3:
时刻 1:rack 0 在算第 1 个 token,rack 1/2/3 全部闲着
时刻 2:rack 1 在算第 1 个 token,rack 0 在算第 2 个 token,rack 2/3 闲着
时刻 3:rack 2 在算第 1 个 token,rack 1 在算第 2 个,rack 0 在算第 3 个,rack 3 闲
时刻 4:全部 rack 都在工作 ✅🔑 前 3 个时刻有 GPU 在干等——这就是 pipeline bubble(流水线气泡)。
解决 bubble:micro-batch
让多个 batch 像火车一样流过流水线,只要队列填满,所有 rack 同时忙:
时间 →
rack 0: B0 B1 B2 B3 B4 B5 ...
rack 1: B0 B1 B2 B3 B4 ...
rack 2: B0 B1 B2 B3 ...
rack 3: B0 B1 B2 ...
↑
这之后所有 rack 都满载🔑 这正是工程师们说的那张「火车」图——多个 micro-batch 错峰填满流水线。火车的发车间隔约 20 ms(一个 token 在一个 rack 内的处理时间),所有 rack 同步发车,把 bubble 摊销掉。
七、Scale-up 真正解决的不是容量,是带宽
现在咱们能理解一句反直觉的话:
「Scale-up 真正解决的不是容量,是带宽。容量被 pipeline 解决了。」
这句话什么意思?
回到选项:
问题:模型太大,一个 rack 装不下
- 方案 A:做更大的 rack(scale-up 加大)
- 方案 B:用 pipeline,跨多个 rack
哪个方案解决「装不下」问题?
🔑 方案 B 解决得很好。Pipeline 让你把模型按层切到多个 rack,容量瓶颈消失。所以「装不下」不是 scale-up 加大的真正动机。
那 scale-up 加大到底解决什么?
回到推理的根本瓶颈:搬参数的时间。
如果你把模型切到 64 张 GPU(一个 Blackwell rack),64 张 GPU 同时并行地搬各自负责的那部分参数 → 总带宽 = 64 × 单卡带宽。
如果你把模型切到 8 张 GPU(Hopper 时代一组 NVLink 域),只有 8 张 GPU 并行 → 总带宽 = 8 × 单卡带宽。
🔑 scale-up 越大 → 单次「搬参数」用更多卡并行 → 等效 BW 越大 → T_memory 越短 → 延迟下界越低、Batch 经济学越好。
为什么 pipeline 不能解决带宽?
因为 pipeline 的不同阶段是串行的——rack 0 算完才轮到 rack 1。所以 pipeline 让你有更多内存容量,但并不让搬参数变快(任何时刻只有一个 rack 在为某 token 工作)。
🔑 一表总结:
资源 谁解决 内存容量(装下大模型) Pipeline 内存带宽(让搬参数快) Scale-up domain 大小 这就是 NVIDIA 拼命做大 rack 的真正原因——不是为了装更大的模型,是为了让现有模型跑得更快、Batch 经济学成立。
八、把这一切串起来——为什么 1T 模型直到最近才出现
现在你可以自己回答一个谜题了。GPT-4(2023)据传 1.8T 参数,但之后两年模型规模似乎卡住了,直到 2025 才开始动。为什么?
拼图各块
- MoE 模型的最大规模 = 一个 rack 能装下的总参数(因为要避免跨 rack 的 all-to-all)
- Hopper 时代:8 卡 NVLink 域 = 8 × 80GB = 640GB——能装 ~500B 参数,但 Batch 经济学很紧张
- Blackwell 时代:72 卡 rack = 72 × 192GB ≈ 14 TB——能装 1-2T 模型,且能 batch 出像样的甜蜜点
- 更大的 scale-up = 更大的等效带宽 = 推理经济学成立
🔑 结论:1T+ 模型不是「现在才能训」,而是「现在才能经济地推理」。
训练可以用更复杂的并行方案凑合,但推理对延迟敏感、对成本敏感,必须 scale-up domain 足够大才能让经济学成立。所以前沿模型规模等着 Blackwell 部署后才开始往上推。
📌 应用到选模型 / 选 provider:模型规模 + 时代 + 硬件代际是耦合的。一个 2024 年前训练的 1T 模型,跑在 Hopper 集群上,经济学可能根本不成立——它「能跑」,但单位成本会很高。同样模型跑在 Blackwell 上,可能直接降本 3-5 倍。这影响你评估一个新模型 provider 的报价合不合理——它的硬件代际决定了它的成本底线。
九、一段话总结
这一篇的关键事实:
- 模型可以按层切(pipeline)或按宽度切(expert / tensor)
- Rack 是物理单元:64-72 张 GPU,由 NVLink 等 scale-up 网络全员高速互联
- Scale-up(NVLink)比 scale-out(InfiniBand)快约 8×,限制因素是机械工程(线缆密度)
- MoE 需要 all-to-all → 偏好放在一个 rack 内
- Pipeline 需要点对点 → 适合跨 rack;用 micro-batch(火车)摊销 bubble
- Scale-up 真正解决的是「带宽」,不是「容量」——容量由 pipeline 解决
- 1T 模型不是现在才能训,而是现在才能经济地推理——所以它等着 Blackwell 才登场
十、留几个可以自己想的问题
- 某 startup 宣称用自研互联技术做了一个 256-GPU 的 scale-up domain(远超 Blackwell 的 72)。它说要专门服务「超大 MoE 模型」。这个产品定位技术上合不合理?商业上呢——它的真正客户是谁?
- OpenAI / Anthropic 这种公司有自有应用层(ChatGPT / Claude.ai),用户量极大。一个独立 inference provider(Together AI / Fireworks 等)主要服务 API 客户。为什么大厂能用 1T+ 模型,而独立 provider 更倾向于服务 70B-200B 这种「中等规模」模型? 提示:结合第三篇的规模经济 + 本篇的 rack 经济。
- 如果有一天 NVLink 的物理上限被突破,单 rack 能装 200 张 GPU,哪类模型会立刻受益最多?是 1T 稠密模型、5T MoE,还是别的什么?为什么?
- Pipeline parallelism 适合「容量瓶颈」;scale-up 加大适合「带宽瓶颈」。一个 70B 稠密模型在 Blackwell 单 rack 上跑——它的主要瓶颈是哪个?换成 Hopper 8 卡呢?
下一篇预告:到现在为止咱们都在看「一个模型怎么部署」。下一篇咱们离开「单个模型」的视角,去看一家 AI 公司的总算力账本——预训练、RL、推理三者的算力如何平衡、那个神秘的「6ND 公式」是怎么来的、为什么 GPT-5 级模型相对 Chinchilla optimal 过训了约 100 倍、以及它对产业意味着什么。代数密度会上一个台阶,但你前五篇打下的工具完全够用。