第四部分:多卡 / 多机协同
4.1 卡间通信瓶颈
| 通信路径 | 带宽 | 速度量级 |
|---|---|---|
| GPU 内部(计算单元 ↔ HBM) | 3 TB/s | 最快 |
| 同机内卡间(NVLink/NVSwitch) | 400 GB/s (某型号) | 中等 |
| 跨机卡间(InfiniBand) | 50-100 GB/s | 慢 |
| CPU 内存(PCIe) | 64 GB/s | 慢 |
关键事实:
- 同机两张卡之间走 NVLink,比走 PCIe 快 6 倍
- 跨机两张卡之间走 IB,比同机内 NVLink 慢 4-8 倍
多卡部署的核心原则:通信量大的操作,尽量放在同机内;通信量小的操作,可以跨机。这个原则决定下面所有的并行策略。
4.2 某型号卡的 NVLink 阉割版
| 版本 | NVLink 带宽 | 说明 |
|---|---|---|
| H100 | 900 GB/s | 不能卖到中国 |
| 某型号 SXM | 400 GB/s | 阉割掉一半多 |
| 某型号 PCIe | 无 NVLink | 只能走 PCIe 64 GB/s |
明天必须问工程侧的第一个问题:某型号卡是 SXM 还是 PCIe 版本?这决定整个架构怎么搭。
4.3 四种并行方式
切法 1:Tensor Parallelism (TP, 张量并行)
怎么切:把每个矩阵沿宽度方向切开,分到多张卡。每次 forward pass,多张卡同时算各自的部分,然后 all-reduce 合并。
关键特点:
- 通信极其频繁(每一层都要 all-reduce)
- 要求卡间带宽高(只能同机内)
- 常见配置:TP=2 / TP=4 / TP=8
某型号卡上的实际后果:
- H100 上 TP=8 最快(NVLink 足够)
- 某型号卡上 TP=8 通信瓶颈明显,TP=4 可能比 TP=8 更划算
- PCIe 版某型号卡建议 TP=2 上限
什么时候用:单卡装不下模型时。能装下就别用 TP,通信开销纯亏。
切法 2:Pipeline Parallelism (PP, 流水线并行)
怎么切:模型按层切,前 16 层在卡 A,后 16 层在卡 B。请求像流水线一样依次过卡 A、卡 B。
关键特点:
- 卡间通信少,可以跨机
- 天然缺点:流水线气泡(开头和结尾的 idle)
什么时候用:模型太大需要跨机部署。某业务场景下用得很少。
切法 3:Expert Parallelism (EP, 专家并行)
专为 MoE 模型设计。Qwen3.6 和 GLM-5.1 都是 MoE,非常重要。
怎么切:把不同专家放到不同卡上。每个 token 根据 router 决定,被发到对应的卡上去算。
关键特点:
- 每个 token 要"传输到对应卡",通信量较大
- 要求 NVLink 互联,跨机做 EP 开销大
- MoE 部署一般是 TP + EP 混合
例:Qwen3-235B 在 16 卡的典型配置 TP=8, EP=8, DP=2 —— 8 卡组成一个 TP+EP 副本,部署 2 个副本。
切法 4:Data Parallelism (DP, 数据并行)
怎么切:根本不切模型。直接部署多个完整模型副本,请求按负载分发。
关键特点:
- 简单粗暴
- 吞吐线性扩展
- 副本之间完全独立,没有通信开销
什么时候用:模型能装下单卡或单机时,首选。能用 DP 就不要用 TP/PP/EP。
四种方式优先级
DP > EP > TP > PP(按优先级,能用简单的就不用复杂的)
| 切法 | 切什么 | 通信开销 | 跨机 OK? | 什么时候用 |
|---|---|---|---|---|
| TP | 矩阵切宽度 | 极高 | 只能同机 | 单卡装不下模型 |
| PP | 按层切 | 低 | 是 | 模型超大需跨机 |
| EP | 专家分卡 | 中 | 同机更好 | MoE 模型 |
| DP | 不切,多副本 | 0 | 完全独立 | 模型能装下,首选 |
4.4 分离式部署(Disaggregated Serving)
2025-2026 年生产级 MaaS 的标配,32 台某型号卡规模真正能拉开差距的地方。
核心洞察
- Prefill 是 compute-bound,吃算力
- Decode 是 memory-bound,吃带宽和显存
这两件事对硬件需求完全不同。混在一起做注定低效。
传统做法的问题
每张卡同时承担 Prefill 和 Decode。问题:
- Prefill 和 Decode 互相干扰
- 一个长 Prompt 的 Prefill 会拖慢所有正在 Decode 的用户
- 硬件配置妥协
分离式部署的做法
Prefill 节点池 Decode 节点池
┌─────────────┐ ┌──────────────────────┐
│ 8张卡 │ KV Cache │ 24张卡 │
│ 专做 │ ──────────→ │ 专做后续 Decode │
│ 用户输入 │ 传输 │ │
│ Prefill │ │ │
└─────────────┘ └──────────────────────┘
好处
- 硬件可以差异化:Prefill 节点可以用算力强但显存小的卡(甚至 A100);Decode 节点必须某型号卡/H100
- 各自调到最优:Prefill 节点 batch 大点;Decode 节点不会被长 Prompt 卡住
- 单 token 成本降 30-50%
工业实现
- NVIDIA Dynamo(2025 年开源)
- vLLM 0.6+ 原生支持
- SGLang 已支持
- Mooncake(某公司):架构上就是为分离式设计的
对某业务的关键意义:256 卡某型号卡如果不做分离式部署,等于浪费 30-50% 的硬件投资。这是你能给某业务方的最高价值架构建议。
4.5 InfiniBand(IB)是什么
IB = 一种专门为高性能计算设计的网络协议和硬件。简单说:就是一种网线和网卡,但比普通以太网快得多。
| 网络类型 | 带宽 | 时延 |
|---|---|---|
| 普通以太网 (10 GbE) | 10 Gbps | ~50 μs |
| 高速以太网 (100 GbE) | 100 Gbps | ~10 μs |
| InfiniBand HDR | 200 Gbps | ~1 μs |
| InfiniBand NDR | 400 Gbps | ~1 μs |
IB 的核心黑科技:RDMA
RDMA = Remote Direct Memory Access。A 机器的网卡直接读 B 机器的内存,完全绕过 CPU 和操作系统。
类比:
- 普通网络 = 寄快递(要装箱、登记、转运、签收)
- RDMA = 你的助理直接进对方家里把东西拿走
用在 GPU 上叫 GPUDirect RDMA:GPU 显存 → 网卡 → IB → 对端网卡 → 对端 GPU 显存,全程不经过 CPU。
为什么对 LLM 推理重要
场景:分离式部署的 KV Cache 传输
32K 上下文的 KV Cache 约 10 GB
用 100 GbE 以太网传:10GB / 12.5 GB/s ≈ 800 毫秒(卡顿) 用 400Gb IB 传:10GB / 50 GB/s ≈ 200 毫秒(可接受)
不上 IB,分离式部署的好处会被网络吃光。
RoCE:IB 的便宜替代
RoCE = RDMA over Converged Ethernet。用便宜的以太网硬件跑接近 IB 的性能,但配置更复杂、性能略差。国内很多 AI 集群用 RoCE,因为 IB 贵。
明天必须确认
- 某数量台某型号卡之间用什么网络?IB / RoCE / 普通以太网?
- IB 是几代?带宽多少?
- IB 拓扑是什么结构?Fat-tree 还是其他?
修订记录
| 日期 | 改了什么 | 为什么 | 谁 |
|---|---|---|---|
| 2026-08-05 | 从整篇拆成第 5/6 章,正文未改动 | 整篇 44 分钟读不完,拆成每章 20 分钟以内 | 工程 |