Tensor Parallelism(张量并行)

就是把一个超大矩阵切成几块,每块扔给一张 GPU 算,算完再拼起来,这样一张卡放不下的模型就能跑了。

亦作、亦称:张量并行 · TP · model parallelism · Intra-layer Parallelism · 模型并行 · 层内并行

张量并行将单个神经网络层的权重矩阵拆分到多张 GPU 上并行计算,是突破单卡显存限制、训练和推理超大规模语言模型的关键技术。由 NVIDIA Megatron-LM 团队于 2019 年系统化提出,现已成为大模型基础设施的标配。

概述

张量并行是层内模型并行的代表性方案,核心目标是让单张 GPU 无法容纳的超大层能够分布式执行。

  • 切分粒度:在单个算子(矩阵乘法、注意力计算)内部切分,而非整层或整个模型
  • 适用场景:百亿参数以上 LLM 的预训练、微调与推理
  • 核心操作:权重矩阵按列(Column-wise)或行(Row-wise)切分,配合 All-Reduce / All-Gather 通信
  • 最早系统化实现:NVIDIA Megatron-LM(2019),后被 DeepSpeed、Colossal-AI、vLLM 等广泛采用

工作原理

以 Transformer MLP 层为例,说明张量并行的前向计算流程。

  • ColumnParallelLinear:将权重矩阵 W 按列切分为 W₁, W₂, …,每卡持有一列块,输入 X 广播到各卡,各卡独立计算 XWᵢ,输出通过 All-Gather 合并
  • RowParallelLinear:将 W 按行切分,输入 X 也按列切分(即各卡持有 X 的一部分),各卡计算局部乘积后通过 All-Reduce 求和
  • 注意力头并行:多头注意力(MHA)的多个头天然可按头数分卡,通信量仅为激活值,效率较高
  • 通信量:每次前向/反向各需 2 次 All-Reduce,通信量正比于激活大小而非权重大小

类型与变体

张量并行在工程实践中衍生出多种变体与组合策略。

  • 1D 张量并行:Megatron-LM 原始方案,按单一维度切分,实现简单
  • 2D / 2.5D / 3D 张量并行:Tesseract(arXiv:2105.14500)等工作将切分扩展到更高维度,进一步降低单卡通信量
  • 序列并行(Sequence Parallelism):将 LayerNorm、Dropout 等非张量并行算子的激活按序列维度切分,与 TP 配合消除冗余激活存储
  • 3D 并行:张量并行 + 流水线并行 + 数据并行的组合,是当前万亿参数模型训练的主流架构
  • 专家并行(Expert Parallelism):MoE 模型中的专家级并行,与 TP 正交且可叠加

应用场景

张量并行广泛用于大模型全生命周期的多个阶段。

  • 大模型预训练:GPT-3、LLaMA 3、Mistral 等超大模型训练集群均采用 TP,典型 TP 度为 4~8(节点内 NVLink 互联)
  • 推理加速:vLLM、TensorRT-LLM、DeepSpeed-Inference 等框架通过 TP 降低单次 decode 延迟,将请求延迟从秒级压缩到毫秒级
  • 显存受限场景:消费级多卡服务器(如 4×RTX 4090)跑 70B 模型时常用 TP=4
  • 多模态大模型:视觉编码器与语言解码器均可独立应用张量并行

与相邻并行策略的区别

三种主流并行策略各有侧重,选型时需综合考虑模型结构和硬件拓扑。

  • vs 数据并行(DP):DP 每卡存完整模型副本,仅切分数据批次;TP 切分模型权重,解决单卡显存不足问题;两者正交可叠加
  • vs 流水线并行(PP):PP 按层/阶段切分模型,跨节点通信量小但存在「气泡」(bubble)空闲;TP 层内切分,通信频繁但无气泡,通常在节点内用 TP、跨节点用 PP
  • vs ZeRO 优化(显存优化):ZeRO 将优化器状态、梯度、权重切分到各数据并行 rank,本质仍是数据并行;TP 改变前向计算图结构,两者可同时开启
  • 核心权衡:TP 度越高,通信开销越大;通常 TP=8 是节点内 NVLink 的性价比上限

局限与误区

张量并行并非万能,使用时需注意以下常见误区和约束。

  • 通信瓶颈:TP 对带宽要求极高,跨节点使用时 InfiniBand 延迟可能抵消并行收益;通常只在节点内高带宽互联(NVLink/NVSwitch)上开启
  • 误区:TP = 模型并行:「模型并行」是广义术语,涵盖 TP 和 PP;TP 特指层内切分,两者不等价
  • 误区:TP 越大越快:TP 度过高时 All-Reduce 通信成为主要瓶颈,吞吐量可能下降而非上升
  • 算子兼容性:自定义算子或非标准层(如某些归一化层)需手动适配 TP 切分逻辑,否则结果错误
  • 负载不均:MoE 模型中不同专家的激活量差异大,单纯使用 TP 可能导致 GPU 负载不均衡

发展脉络

张量并行从概念到生产落地经历了快速演进。

  • 2019 年:NVIDIA Megatron-LM(Shoeybi 等)提出系统化 1D 张量并行方案,支持 GPT 和 BERT 类模型
  • 2021 年:Megatron-LM v2 引入序列并行(Sequence Parallelism),与 TP 联合消除激活冗余;Tesseract 提出 2D 张量并行
  • 2022 年3D 并行(TP+PP+DP)成为千亿参数模型训练标配;DeepSpeed Inference 将 TP 引入推理侧
  • 2023 年FlashAttention-2 与 TP 深度融合,推理延迟大幅降低;vLLM、TensorRT-LLM 生产化 TP 推理
  • 2024-2025 年:专家并行(EP)与 TP 组合用于 MoE 大模型;FP8 张量并行在 H100 / H200 上落地,通信量进一步压缩
  • 2026 年:超长序列(百万 token)场景下,TP 与环形注意力(Ring Attention)结合成为新热点

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「就是把一个超大矩阵切成几块,每块扔给一张 GPU 算,算完再拼起来,这样一张卡放不下的模型就能跑了。」
  • 「张量并行和流水线并行不一样——流水线是把网络按层分段,张量并行是把同一层的权重矩阵横切或纵切,两者经常组合使用。」
  • 「用张量并行通信开销比较大,因为每次前向/反向都要做 All-Reduce,所以通常只在节点内的 NVLink 高带宽链路上开 TP,跨节点走流水线并行。」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

延伸阅读

从知识库精选 2 篇文章,帮助深入理解该术语。

  1. 1

    LLM 推理加速实战:从 KV Cache 优化到推测解码

    系统梳理 LLM 推理加速的核心技术——KV Cache 管理、PagedAttention、推测解码、连续批处理,掌握生产环境推理优化的决策框架和工具链

  2. 2

    LangChain:LLM 应用开发框架

    从 Chain 到 Agent,掌握 LangChain 的核心概念与最佳实践