大模型训练并行技术理解-DP/TP/PP/SP/EP

  1. 单个GPU卡内存有限,从而引发的各种问题,可分为两个维度来看:
    1. 数据维度:对于小模型而言,虽然单卡能放下一个模型,但没法放下一个batch所要的全部数据,所以数据得切分到不同卡上计算最终汇总,从而引入数据并行DP
    2. 模型维度:对于大模型而言,单卡无法放下一个模型,必须将模型切分到多张卡上,由此引入了除DP之外的各种并行(TP/PP/EP/SP),可统称为模型并行
  2. 换句话而言,如果模型又小,单个batch数据不多,一张卡跑就够了,也不需要各种并行。
  3. 如果模型一张卡能放下,但单个batch的数据放不下,那只需要DP,这样计算效率最高。在这种情况下再加入其他并行策略反而拖累训练效率。
  4. 只有在模型单卡也放不下的时候,这时才必须考虑DP之外的并行。不同的并行策略根据模型结构的不同,采取的策略也不一样。
  5. DP/TP/PP/EP/SP都可以同时开启(EP依赖于DP,只有DP开启的情况下,才可能开启EP;SP依赖于TP,只有在TP开启的情况下才能用SP)。

以上摘抄自:https://zhuanlan.zhihu.com/p/1904506837543420662

用做饭流水线通俗讲清 DP、TP、PP

做大份红烧肉套餐,一共:切肉、炖肉、调酱汁、装盘四道工序,客人有很多份订单。 GPU = 厨师,多张 GPU = 多个厨师。

1. DP 数据并行(最简单)

所有厨师每个人都会完整做完一整份红烧肉。 订单太多,把客人分成 4 批:厨师 1 做第 1 批客人,厨师 2 做第 2 批,各自独立从头做到尾。 做完之后统一核对调味标准(同步梯度)。

特点: 每个人手里都有全套配方(完整模型),只分工客人,互相很少交流。 对应 AI:每张 GPU 存完整模型,只拆分训练图片 / 文本,适合单纯提速。

2. PP 流水线并行(分层分工)

把做菜步骤拆开,每人只干固定一步: 厨师 1:只切肉 厨师 2:只炖肉 厨师 3:只调酱汁 厨师 4:只装盘

肉切好递给下一个人,不用所有人互相传东西,只传给隔壁。 对应 AI:把模型几十层拆开,A 卡算前几层,B 卡算中间几层,只把中间结果传给隔壁卡。

特点:同一时间只和隔壁一张卡通信,对带宽要求很低。

3. TP 张量并行(拆同一道工序,最吃带宽)

现在有一道工序特别复杂:一锅超大红烧肉,一个厨师根本忙不过来,必须 4 个人同时处理同一锅肉。 厨师 1 切一半肉,厨师 2 切另一半;厨师 3 熬一半酱汁,厨师 4 熬另一半。 做完之后四个人必须把自己手里半成品全部交换给所有人,拼出完整一份肉和酱汁。 四个人互相来回递食材,所有人之间都要频繁传递东西,非常考验传递速度(对应 xGMI 带宽)。

对应 AI:一层神经网络权重太大,一张卡装不下,把这一层拆开分给多张卡,计算完所有卡互相交换数据。

大模型五大并行 DP / TP / PP / SP / EP

统一设定:GPU = 厨师,完整模型 = 全套做菜菜谱,训练样本 = 客人订单,张量 / 激活 = 半成品食材,梯度 = 口味修正意见,高速互联 xGMI/NVLink = 厨师间快速传菜通道

一、DP 数据并行 Data Parallelism

核心逻辑

所有 GPU 都保存完整模型,只拆分输入训练数据,每张卡独立跑一批样本。

做饭类比

4 位厨师,每个人都掌握全套做菜流程;店里订单爆单,把订单平均分成 4 份,厨师各自独立做完自己手里所有订单。全部烹饪完成后,所有人交换口味修正意见(梯度),统一调整做菜配方标准,保证味道一致。

核心特点

  1. 卡间仅同步梯度(修正意见(梯度)--本次做题错在哪、该怎么微调模板的误差信号),传输数据极少,普通网卡就能满足,不需要高速互联;
  2. 硬性限制:单卡显存必须放下完整模型,超大模型无法单独只用 DP;
  3. 作用:扩大单次训练样本总量,加速训练收敛。

二、PP 流水线并行 Pipeline Parallelism

核心逻辑

纵向切割模型,按网络层拆分,每张 GPU 固定负责连续几层网络。

做饭类比

完整做菜流程分 4 道工序:洗菜→切菜→翻炒→装盘,4 名厨师分工固定岗位。厨师 1 洗完食材,只传给隔壁厨师 2;厨师 2 切完仅传给厨师 3,全程只和相邻一人传递半成品,不用和其他厨师交流。

核心特点

  1. 单卡只存储模型一小部分,能放下极深的百层大模型;
  2. 通信仅发生在相邻两张卡,带宽需求是五种并行里最低;
  3. 缺陷:流水线气泡,部分厨师空闲等待,算力存在浪费;
  4. 适用:层数极深的稠密 Transformer 大模型。

三、TP 张量并行 Tensor Parallelism

核心逻辑

横向切分单层权重矩阵,单层权重体积过大单卡承载不下,多张 GPU 协同计算同一层网络

做饭类比

需要熬一锅巨型酱汁,一个人处理不完,4 位厨师同时协作制作这一锅酱汁,每人只负责一半配料。各自完成加工后,必须把半成品发给其余所有厨师,拼凑出完整酱汁才能进入下一步。

核心特点

  1. 同 TP 组内所有 GPU 两两高频互传中间张量,通信压力极大,必须依赖 xGMI、NVLink 高速直连带宽(对应你之前 MI300X 64GB/s 单向链路逻辑);
  2. 专门解决 Attention、FFN 单层权重爆炸问题;
  3. TP 规模越大,单卡可并行使用的高速链路越多,聚合带宽越高。

四、SP 序列并行 Sequence Parallelism

核心逻辑

属于 TP 的配套优化,沿文本序列长度维度切分输入,分摊超长文本带来的激活显存开销。

做饭类比

一份超大量套餐,一盘放不下,4 位厨师各自分装 1/4 份食材分段加工,处理完成后拼接成完整套餐。

核心特点

  1. 针对性解决 32k/128k 超长上下文场景激活显存溢出;
  2. 常和 TP 组合使用,通信逻辑和 TP 相近,但传输数据体量更小;
  3. 仅在长文本大模型中启用,短文本场景收益微弱。

五、EP 专家并行 Expert Parallelism(MoE 稀疏模型专用)

核心逻辑

稠密 LLM 无需使用,MoE 模型包含大量独立专家模块,把不同专家分散存储到不同 GPU。

做饭类比

门店备有 10 种特色配菜(专家模块),4 位厨师每人保管 2~3 种配菜;收到客人订单后,仅调用订单需要的配菜厨师产出,其余厨师闲置待命。

核心特点

  1. 单卡不用存储全部专家,大幅降低显存占用,支撑万亿稀疏 MoE 模型;
  2. 通信以路由分发数据为主,和 TP 全员广播式传输有明显区别;
  3. 是稀疏大模型必备并行策略,纯稠密模型不用。

一句话速记区分

  • DP:人人会全套菜,分开接待客人,只交换调味修正意见
  • PP:每人只干一道工序,半成品只传给隔壁厨师
  • TP:多人合力完成同一道巨型工序,全员互相传递半成品
  • SP:超长套餐分段加工,缓解食材存放空间不足
  • EP:MoE 专属,配菜分开存放,按需调用对应厨师

多维并行组合规则

  1. 普通稠密大模型三维并行:总 GPU 数量 = DP × PP × TP示例:TP=4,PP=2,DP=8总卡数 = 4 × 2 × 8 = 64 张
  2. MoE 稀疏大模型四维并行:总 GPU 数量 = DP × PP × TP × EP

五大并行直观对比表

并行方式 拆分对象 通信压力 依赖高速互联? 适用模型
DP 数据并行 训练样本,完整模型每卡一份 极小(仅传梯度) 不需要 中小模型、提速扩容 batch
PP 流水线并行 模型网络层(纵向切) 很低(仅邻卡传激活) 可选 层数极深的稠密大模型
TP 张量并行 单层权重矩阵(横向切) 极高(全卡互传张量) 必须 xGMI/NVLink 单层权重超大的 Transformer
SP 序列并行 输入文本序列长度 中等,低于 TP 需要高速互联 超长上下文大模型
EP 专家并行 MoE 专家模块 中等(路由通信) 建议高速互联 稀疏 MoE 混合专家模型
相关推荐
大鱼>5 小时前
推荐系统原理与实现:协同过滤/内容推荐/深度学习
人工智能·深度学习
天一生水water6 小时前
注意力机制与transformer 的关系与区别
人工智能·深度学习·transformer
AI街潜水的八角6 小时前
口罩检测和识别2:基于深度学习YOLO26神经网络实现口罩检测和识别(含训练代码和数据集)
人工智能·深度学习·神经网络
weixin_400005607 小时前
RL-frenet-trajectory-planning-in-CARLA
人工智能·深度学习·算法·机器学习·自动驾驶
蒟蒻的贤7 小时前
python搭建MiniDL
开发语言·python·深度学习
霖大侠8 小时前
Decoupled and Reusable Adaptation for Efficient Cross-Modal Transfer
人工智能·深度学习·算法·机器学习·transformer
xin(n_n)b8 小时前
《深度学习与大模型工程化》79/358
深度学习
LaughingZhu9 小时前
Product Hunt 每日热榜 | 2026-07-05
人工智能·经验分享·深度学习·神经网络·产品运营
Token炼金师9 小时前
数据工程层:企业AI项目七成折戟的第一道死亡谷
人工智能·深度学习·llm