深言速舟 · 学习站

第四部分:多卡 / 多机协同

LLM 推理加速:从 0 到 1 教学手册第四部分:多卡 / 多机协同约 7 分钟更新于 2026-08-05

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。问题:

  1. Prefill 和 Decode 互相干扰
  2. 一个长 Prompt 的 Prefill 会拖慢所有正在 Decode 的用户
  3. 硬件配置妥协

分离式部署的做法

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 分钟以内工程