服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-31 更新于 2026-08-31 简米科技 3,796 字 9 分钟阅读

模型并行切分粒度如何权衡?训练效率与显存消耗的优化经验

导读没有绝对最优解,只能在显存容量、通信带宽和模型结构三者之间取平衡,实操中,先粗粒度流水线并行,再在单节点内用细粒度张量并行,几乎覆盖了大多数主流大模型的训练场景,很多人在刚开始接触大模型训练时,会直接把模型切得很碎,以为粒度越小越省显存,切分粒度越细,通信开销增长得越快,等把训练速度拖慢到接近单卡水平,省下的显……

没有绝对最优解,只能在显存容量、通信带宽和模型结构三者之间取平衡,实操中,先粗粒度流水线并行,再在单节点内用细粒度张量并行,几乎覆盖了大多数主流大模型的训练场景。

很多人在刚开始接触大模型训练时,会直接把模型切得很碎,以为粒度越小越省显存,切分粒度越细,通信开销增长得越快,等把训练速度拖慢到接近单卡水平,省下的显存反而毫无意义,模型并行切分粒度怎么选,从来不是拍脑袋决定的事,背后有三条硬约束。

模型并行切分粒度怎么选?先看这三个硬约束

显存墙:单卡装不下是起点

模型权重、优化器状态、梯度、激活值,四者叠加后显存需求远超单个GPU的容量,业内专家指出,训练一个百亿参数模型,仅参数和优化器状态就可能超过40GB,这已经逼近A100 80GB的上限,切分粒度必须先满足“能跑起来”这个前提。

如果单卡能塞下完整模型,优先不做模型并行,只有塞不下,才考虑切分,切分粒度从粗到细分别是:流水线并行(按层切)、张量并行(按权重矩阵切)、序列并行(按序列长度切),其中流水线并行最粗,张量并行中等,序列并行最细,粒度越细,对显存的释放越均匀,但通信频率也越高。

通信瓶颈:细粒度切分让GPU等数据

张量并行把一层内的矩阵乘法拆到多张卡上,每次前向和反向都需要多次All-Reduce通信,以GPT-3 175B为例,如果使用8路张量并行,每一层Transformer的通信量可达数百MB,在多节点场景下,跨机通信带宽远低于NVLink,细粒度切分会让GPU频繁处于等待状态。

行业共识认为,通信占比超过训练时间的30%时,切分粒度就已经过细了,判断标准很简单:打开NVIDIA Nsight或TensorBoard的通信统计,如果通信时间占比持续大于30%,就要考虑加大流水线并行的路数,减少张量并行的路数。

模型结构:Transformer层与注意力头的天然边界

Transformer架构天然提供了两种切分边界,层与层之间是粗粒度边界,适合流水线并行;多头注意力机制中的每个头是细粒度边界,适合张量并行,MLP部分有两个线性层,也可以按列或按行切分。

实际经验是:隐藏层维度在4096左右时,4路张量并行性价比最高;隐藏层维度到8192以上,8路张量并行才划算,如果每层只有16个注意力头,8路张量并行意味着每张卡只分到2个头,通信效率会明显下降。

模型并行切分粒度如何权衡?训练效率与显存消耗的优化经验

大模型并行策略对比:张量并行、流水线并行与数据并行

张量并行:层内切分,适合单节点内

张量并行把单个线性层的权重矩阵切成多块,分布在多卡上,比如Y = XW,把W按列切成两块,X同时发给两张卡,各自算出部分结果,再All-Reduce得到完整Y,这种切分粒度下,每张卡存一份输入,算部分输出,通信发生在每层计算后。

适合场景:单节点内4卡或8卡,使用NVLink全互联,通信延迟低,可以承受频繁的All-Reduce,如果跨节点使用张量并行,网络延迟会放大,性能衰减非常明显。

流水线并行:层间切分,跨节点更友好

流水线并行把模型按层切成多个阶段,每个阶段放在一张或一组卡上,比如GPT-3有96层,切成4段,每段24层放在一张卡上,数据按顺序流过各个阶段,每张卡只计算自己负责的层。

好处是通信量小,只要在阶段之间传递激活值和梯度,通信频率远低于张量并行,坏处是存在气泡(bubble),也就是部分GPU在等待前一个阶段算完,使用微批量(micro-batch)调度,比如一个batch拆成8个micro-batch,可以让气泡率降到10%以下。

混合并行:常见的实践组合

绝大多数实际训练任务不会只用一种并行方式,以Meta训练OPT-175B为例,他们使用了数据并行、张量并行、流水线并行三者的组合,先用流水线并行把模型切成多层组,每组内再用张量并行切分权重,最后每组复制多份做数据并行。

下表对比三者的核心区别:

并行方式 切分维度 通信频率 通信量 适用硬件
数据并行 数据批次 每步一次梯度同步 较大(全量梯度) 同构集群
张量并行 层内权重 每层多次 中(激活和梯度) 单节点NVLink
流水线并行 层间 每阶段一次 小(边界激活) 跨节点网络

切分粒度实操经验:从7B到175B的调优路径

小规模实验先定基准

不要直接在大模型上尝试切分方案,先拿一个7B模型,在单机8卡上跑通不同粒度的组合,记录每步耗时、显存峰值、通信占比,通常的做法是固定数据并行大小,从4路张量并行+2段流水线开始,逐步调整比例。

模型并行切分粒度如何权衡?训练效率与显存消耗的优化经验

具体操作路径:

  • 使用Megatron-LM的脚本,修改--tensor-model-parallel-size--pipeline-model-parallel-size参数。
  • 在8卡机器上测试两组配置:张量并行8路无流水线,张量并行4路+流水线2段。
  • 对比显存峰值和训练吞吐(吞吐=处理的token数/秒)。
  • 选择吞吐更高的配置作为后续基线。

监控通信占比与气泡率

训练过程中,用nvidia-smi dmon查看GPU利用率,如果某张卡利用率持续低于80%,它很可能在等通信,再结合torch.profiler或者Megatron自带的Log,查看每个通信算子的耗时。

流水线气泡率可以通过日志中的“pipe_bubble_time”字段查看,行业常见的优化目标是气泡率低于15%,如果气泡率过高,增加micro-batch数量,或者调整各阶段的层数分配,尽量让每个阶段计算时间接近。

常见错误与规避方法

  • 偏爱张量并行:把张量并行路数调得过大,导致通信瓶颈,大多数情况下,单节点内张量并行路数不超过8。
  • 忽略激活值重计算:切分粒度不变时,开启激活重计算可以省下大量显存,根据实际测试,激活重计算能让显存峰值下降约一半,但训练时间增加20%到30%。
  • 流水线阶段负载不均:不同层计算量不同,比如嵌入层和损失函数层比Transformer层轻,手动分配层数时,按实际计算时间调整,而不是平均分。

张量并行和流水线并行区别在哪儿?核心差异决定了适用场景

切分维度不同

张量并行是“一人算一半”,把一层拆开,多卡合作完成同一层,流水线并行是“接力跑”,每张卡负责整层的计算,算完传给下一站,前者改变的是层内计算方式,后者改变的是层间执行顺序。

通信频率与量级差异

张量并行每一次矩阵乘都要同步一次,通信次数多,但每次通信数据量为该层的隐藏维度大小,流水线并行只在阶段边界通信,次数少,但传输的是整个序列的激活值,数据量可能达到几十MB,整体上,流水线并行的总通信量远小于张量并行。

对显存碎片的影响

张量并行因为每张卡只存一部分权重,显存分配更均匀,碎片少,流水线并行中,每一张卡完整存下自己负责的层,显存占用集中在几个大张量上,碎片化现象更轻,但流水线并行的阶段边界会额外存储边界激活值,增加了显存压力。

模型并行切分粒度如何权衡?训练效率与显存消耗的优化经验

针对不同场景的切分粒度建议

单机多卡场景

在8卡机器上训练30B以下模型,推荐4路张量并行+2段流水线,加8路数据并行,如果模型只有7B,直接用8路数据并行,必要时开张量并行2路。

如果遇到模型并行显存不够的情况,优先打开激活重计算,其次才考虑增加张量并行路数,因为在8卡内,从4路张量并行提升到8路,通信时间可能翻倍,但显存节省比例有限。

多节点集群场景

当训练模型超过100B,需要跨多节点,此时节点之间使用流水线并行,节点内部使用张量并行,每一组内用4路或8路张量并行,然后每个GPU组作为一个流水线阶段,网络带宽低于100Gbps时,避免使用跨节点的张量并行。

推理服务场景

推理时的切分粒度和训练不同,推理对延迟敏感,张量并行可以降低单卡显存占用,提高吞吐,但流水线并行会增大首token延迟,不适合在线服务,常见的做法是只使用张量并行,并行度等于单卡能容纳的层数所需,例如70B模型用8卡张量并行,每卡存约9B参数,延迟可控制在百毫秒级。

Q&A:模型并行切分粒度常见问题

模型并行切分粒度影响训练速度吗?

影响非常大,切分粒度决定通信量与计算量的比率,粒度越细,通信占比越高,单步训练时间越长,在100Gbps网络环境下,8路张量并行比4路张量并行的通信开销大约多出两倍,对于单步训练时间,通信占比从10%升到25%,整体吞吐下降约两成。

为什么张量并行比流水线并行通信压力大?

张量并行需要对每个Transformer层的输出做All-Reduce,假设模型有100层,每层通信两次,总共200次同步操作,流水线并行只有阶段边界需要通信,例如4个阶段只需3次边界传输,即使每次传输的数据量更大,但总通信量和频率都低得多,因此对网络带宽的占用更小。

模型并行显存不够该怎么调?

首先确认已经开启激活重计算,然后按顺序调整三层参数:第一,增加流水线并行段数,把更多层放到不同卡上;第二,若显存依然不够,增加张量并行路数;第三,降低batch size或使用梯度累积,最后再考虑使用更小的模型变体或量化手段,这个顺序遵循了通信代价从低到高的原则,能最大程度保住训练速度。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱