跳转至

Tensor Parallel 推理

推理张量并行把单层计算切到多卡,使模型可跨 GPU 加载和执行。它与训练张量并行类似地切分权重与激活,但推理更关注高并发下的时延表现,而非吞吐的绝对提升。

推理张量并行沿用 Megatron-LM 的列切分、行切分思路,在 vLLM 等推理引擎中用于「模型单卡放不下」的场景。与训练的关键区别在于目标指标:训练看单步吞吐,推理看目标并发下的 TTFT 与 TPOT 分位值。由于推理的 decode 阶段每生成一个 token 都要在 TP 组内做一次 all-reduce,这一固定开销会被「逐 token 生成」反复放大,因此 TP 域的网络延迟在推理中比训练更敏感。

快速开始

优先将 TP group 放在高速互联内,压测真实并发而非只看单请求。建议步骤:

  1. 确定 TP 度,把 TP group 的 rank 放在同一台机器或 NVLink 域内。
  2. 加载模型并确认单层权重正确切分到各卡。
  3. 用单个请求验证输出与单卡(若能放下)一致。
  4. 在真实并发和真实 prompt 长度下压测,记录 TTFT 和 TPOT 的分位值,而非只看单请求延迟。

验证成功:输出正确,目标并发下时延满足要求,通信没有成为主要瓶颈。

案例

模型单卡放不下时用 4 卡 TP,使其可跨卡加载。运行后发现跨节点通信使 TPOT 上升:每生成一个 token 都要在 TP 组内做 all-reduce,跨节点延迟被逐 token 放大。此时应缩小 TP 域(如改为同机 2 卡 TP),或采用流水线分层,把跨节点的开销从「每个 token 都发生」降为「仅在 stage 边界发生」。

选择哪种方案取决于模型规模和集群拓扑:能放进同机的部分优先用 TP,跨机的部分优先用流水线。

相关主题