news 2026/2/16 22:12:20

一文搞懂大模型并行计算:DP/PP/TP/EP原理与实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文搞懂大模型并行计算:DP/PP/TP/EP原理与实践

本文详解了AI大模型训练的四种主流并行计算方式:数据并行(DP)、流水线并行(PP)、张量并行(TP)和专家并行(EP)。通过ZeRO优化技术减少内存占用,并介绍混合并行策略如3D并行。不同并行方式各有优劣,适用于不同场景,实际应用中常结合多种策略以高效训练超大模型。了解这些并行方式有助于深入理解算力集群架构和网络设计。


大家都知道,AI计算(尤其是模型训练和推理),主要以并行计算为主。

AI计算中涉及到的很多具体算法(例如矩阵相乘、卷积、循环层、梯度运算等),都需要基于成千上万的GPU,以并行任务的方式去完成。这样才能有效缩短计算时间。

搭建并行计算框架,一般会用到以下几种常见的并行方式:

Data Parallelism,数据并行

Pipeline Parallelism,流水线并行

Tensor Parallelism,张量并行

Expert Parallelism, 专家并行

接下来,我们逐一看看,这些并行计算方式的工作原理。

▉ DP(数据并行)

首先看看DP,数据并行(Data Parallelism)。

AI训练使用的并行,总的来说,分为数据并行和模型并行两类。刚才说的PP(流水线并行)、TP(张量并行)和EP(专家并行),都属于模型并行,待会再介绍。

这里,我们需要先大概了解一下神经网络的训练过程。简单来说,包括以下主要步骤:

1、前向传播:输入一批训练数据,计算得到预测结果。

2、计算损失:通过损失函数比较预测结果与真实标签的差距。

3、反向传播:将损失值反向传播,计算网络中每个参数的梯度。

4、梯度更新:优化器使用这些梯度来更新所有的权重和偏置(更新参数)。

以上过程循环往复,直到模型的性能达到令人满意的水平。训练就完成了。

我们回到数据并行。

数据并行是大模型训练中最为常见的一种并行方式(当然,也适用于推理过程)。

它的核心思想很简单,就是每个GPU都拥有完整的模型副本,然后,将训练数据划分成多个小批次(mini-batch),每个批次分配给不同的GPU进行处理。

数据并行的情况下,大模型训练的过程是这样的:

1、对数据进行均匀切割,发给不同的、并行工作的GPU(Worker);

2、各GPU都拥有一样的模型以及模型参数,它们各自独立进行前向传播、反向传播,计算得到各自的梯度;

3、各GPU通过卡间通信,以All-Reduce的通信方式,将梯度推给一个类似管理者的GPU(Server);

4、Server GPU对所有梯度进行求和或者平均,得到全局梯度;

5、Server GPU将全局梯度回传(broadcast广播)到每个Worker GPU,进行参数更新(更新本地模型权重)。更新后,所有worker GPU模型参数保持一致。

然后,再继续重复这样的过程,直至完成所有的训练。

再来一张图,帮助理解:

从下往上看

这里提到的All-Reduce,也是一个AI领域的常见概念,字面意思是“全(All)-规约(Reduce)”,即:对所有节点的数据进行聚合(如求和、求最大值),并将最终结果分发到所有节点。

数据并行的优点,在于实现过程比较简单,能够显著加速大规模数据的训练过程,尤其适用于数据量远大于模型参数的场景。

数据并行的缺点,在于显存的限制。因为每个GPU上都有完整的模型副本,而当模型的规模和参数越大,所需要的显存就越大,很可能超过单个GPU的显存大小。

数据并行的通信开销也比较大。不同GPU之间需要频繁通信,以同步模型参数或梯度。而且,模型参数规模越大,GPU数量越多,这个通信开销就越大。例如,对于千亿参数模型,单次梯度同步需传输约2TB数据(FP16精度下)。

▉ ZeRO

这里要插播介绍一个概念——ZeRO(Zero Redundancy Optimizer,零冗余优化器)。

在数据并行策略中,每个GPU的内存都保存一个完整的模型副本,很占内存空间。那么,能否每个GPU只存放模型副本的一部分呢?

没错,这就是ZeRo——通过对模型副本中的优化器状态、梯度和参数进行切分,来实现减少对内存的占用。

ZeRO有3个阶段,分别是:

ZeRO-1:对优化器状态进行划分。

ZeRO-2:对优化器状态和梯度进行划分

ZeRO-3:对优化器状态、梯度和参数进行划分。(最节省显存)

通过下面的图和表,可以看得更明白些:

根据实测数据显示,ZeRO-3在1024块GPU上训练万亿参数模型时,显存占用从7.5TB降至7.3GB/卡。

值得一提的是,DP还有一个DDP(分布式数据并行)。传统DP一般用于单机多卡场景。而DDP能多机也能单机。这依赖于Ring-AllReduce,它由百度最先提出,可以有效解决数据并行中通信负载不均(Server存在瓶颈)的问题。

▉ PP(流水线并行)

再来看看模型并行。

刚才数据并行,是把数据分为好几个部分。模型并行,很显然,就是把模型分为好几个部分。不同的GPU,运行不同的部分。(注意:业界对模型并行的定义有点混乱。也有的资料会将张量并行等同于模型并行。)

流水线并行,是将模型的不同层(单层,或连续的多层)分配到不同的GPU上,按顺序处理数据,实现流水线式的并行计算。

例如,对于一个包含7层的神经网络,将12层放在第一个GPU上,35层放在第二个GPU上,6~7层放在第三个GPU上。训练时,数据按照顺序,在不同的GPU上进行处理。

乍一看,流水并行有点像串行。每个GPU需要等待前一个GPU的计算结果,可能会导致大量的GPU资源浪费。

上面这个图中,黄色部分就是Bubble (气泡)时间。气泡越多,代表GPU处于等待状态(空闲状态)越长,资源浪费越严重。

为了解决上述问题,可以将mini-batch的数据进一步切分成micro-batch数据。当GPU 0处理完一个micro-batch数据后,紧接着开始处理下一个micro-batch数据,以此来减少GPU的空闲时间。如下图(b)所示:

还有,在一个micro-batch完成前向计算后,提前调度,完成相应的反向计算,这样就能释放部分显存,用以接纳新的数据,提升整体训练性能。如上图(c)所示。

这些方法,都能够显著减少流水线并行的Bubble时间。

对于流水线并行,需要对任务调度和数据传输进行精确管理,否则可能导致流水线阻塞,以及产生更多的Bubble时间。

▉ TP(张量并行)

模型并行的另外一种,是张量并行。

如果说流水线并行是将一个模型按层「垂直」分割,那么,张量并行则是在一个层内「横向」分割某些操作。

具体来说,张量并行是将模型的张量(如权重矩阵)按维度切分到不同的GPU上运行的并行方式。

张量切分方式分为按行进行切分和按列进行切分,分别对应行并行(Row Parallelism)(权重矩阵按行分割)与列并行(Column Parallelism)(权重矩阵按列分割)。

每个节点处理切分后的子张量。最后,通过集合通信操作(如All-Gather或All-Reduce)来合并结果。

张量并行的优点,是适合单个张量过大的情况,可以显著减少单个节点的内存占用。

张量并行的缺点,是当切分维度较多的时候,通信开销比较大。而且,张量并行的实现过程较为复杂,需要仔细设计切分方式和通信策略。

放一张数据并行、流水线并行、张量并行的简单对比:

▉ 专家并行

2025年初DeepSeek爆红的时候,有一个词也跟着火了,那就是MoE(Mixture of Experts,混合专家模型)。

MoE模型的核心是“多个专家层+路由网络(门控网络)”。

专家层的每个专家负责处理特定类型的token(如语法、语义相关)。路由网络根据输入token的特征,选择少数专家处理这个token,其他专家不激活。

MoE实现了任务分工、按需分配算力,因此大幅提升了模型效率。

专家并行(Expert Parallelism),是MoE(混合专家模型)中的一种并行计算策略。它通过将专家(子模型)分配到不同的GPU上,实现计算负载的分布式处理,提高计算效率。

专家并行与之前所有的并行相比,最大的不同在于,输入数据需要通过一个动态的路由选择机制分发给相应专家,此处会涉及到一个所有节点上的数据重分配的动作。

然后,在所有专家处理完成后,又需要将分散在不同节点上的数据按原来的次序整合起来。

这样的跨片通信模式,称为All-to-All。

专家并行可能存在负载不均衡的问题。某个专家所接收到的输入数据大于了其所能接收的范围,就可能导致Tokens不被处理或不能被按时处理,成为瓶颈。

所以,设计合理的门控机制和专家选择策略,是部署专家并行的关键。

▉ 混合并行

在实际应用中,尤其是训练万亿参数级别的超大模型时,几乎不会只使用单一的并行策略,而是采用多维度的混合并行(结合使用多种并行策略)。

例如:

数据并行+张量并行:数据并行处理批量样本,张量并行处理单样本的大矩阵计算。

流水线并行+专家并行:流水线并行划分模型层,专家并行划分层内专家模块。

更高级的,是3D并行,通过“数据并行+张量并行+流水线并行”,实现三重拆分,是超大模型训练的主流方案。

3D并行

▉ 最后的话

好啦,以上就是关于DP、PP、TP、EP等并行训练方式的介绍。大家都看懂了没?

并行计算方式其实非常复杂,刚才我们只是做了最简单的介绍。但在真实工作中,开发者无需了解具体的实现细节,因为业界提供了例如DeepSpeed(微软开源,支持3D并行+ZeRO内存优化)、Megatron-LM(NVIDIA开源,3D并行的标杆)、FSDP等开源软件,能够让开发者直接进行大语言模型训练。

小枣君之所以要专门介绍并行训练方式,其实更多是为了帮助大家深入地理解算力集群架构和网络的设计。

大家可以看到,不同的并行训练方式,有着不同的通信流量特点。算力集群整体架构和网络设计,需要尽量去适配这些并行计算方式的流量特点,才能满足模型训推任务的要求,实现更高的工作效率。

比如说,数据并行,由于需要频繁同步梯度信息,对网络带宽要求较高,需要确保网络带宽能够满足大量梯度数据快速传输的需求,避免因带宽不足导致通信延迟,影响训练效率。

流水线并行,大模型的每一段,在不同的服务器上以流水线的方式逐步计算,涉及到多个服务器“串起来”,就建议部署在比较靠近的服务器上(尽量部署在叶脊网络的同一个leaf叶下)。

张量并行,通信数据量大,就建议部署在一台服务器的多个GPU上进行计算。

专家并行中,不同专家分配在不同GPU上,GPU间需要交换中间计算结果等信息,其通信流量特点取决于专家的数量以及数据交互的频率等,也需要合理规划GPU间的连接方式和通信路径。

总之,在GPU算卡性能越来越难以提升的背景下,深入研究并行计算的设计,从架构和网络上挖掘潜力,是业界的必然选择。

随着AI浪潮的继续发展,以后是否还会出现其它的并行训练方式呢?让我们拭目以待吧!

​最后

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。

我整理出这套 AI 大模型突围资料包:

  • ✅AI大模型学习路线图
  • ✅Agent行业报告
  • ✅100集大模型视频教程
  • ✅大模型书籍PDF
  • ✅DeepSeek教程
  • ✅AI产品经理入门资料

完整的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
​​

为什么说现在普通人就业/升职加薪的首选是AI大模型?

人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。


智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200%,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

​​

资料包有什么?

①从入门到精通的全套视频教程⑤⑥

包含提示词工程、RAG、Agent等技术点

② AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

④各大厂大模型面试题目详解

⑤ 这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

​​​​

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓**

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/7 17:53:03

marked.min.js入门:5分钟创建你的第一个Markdown解析器

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个最简单的marked.min.js示例应用,要求:1. 只需一个HTML文件包含所有代码 2. 实现基本的Markdown输入和实时预览 3. 包含5个常见Markdown语法的使用示…

作者头像 李华
网站建设 2026/2/16 7:42:50

vue+Spring Boot的实验室设备监控管理系统的设计与实现_g6499xa5

目录已开发项目效果实现截图开发技术介绍系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/2/10 15:02:25

如何用AI优化Cloudflare配置,提升网站性能

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个AI助手,能够自动分析网站流量模式,并智能调整Cloudflare的CDN缓存规则、防火墙设置和性能优化参数。要求:1. 支持输入网站URL自动获取当…

作者头像 李华
网站建设 2026/2/15 22:04:21

如何高效集成TDesign Vue Next组件库提升开发效率

如何高效集成TDesign Vue Next组件库提升开发效率 【免费下载链接】tdesign-vue-next A Vue3.x UI components lib for TDesign. 项目地址: https://gitcode.com/gh_mirrors/tde/tdesign-vue-next 快速开始:5分钟完成基础配置 安装依赖 通过以下命令快速安…

作者头像 李华
网站建设 2026/2/15 6:06:30

信息管理毕设2026选题汇总

1 引言 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应用需求&#xf…

作者头像 李华
网站建设 2026/2/16 2:08:57

Kotaemon跨境电商客服:多语言支持全球用户

Kotaemon跨境电商客服:多语言支持全球用户 在一家面向全球市场的电商公司里,客服团队每天要处理来自几十个国家的用户咨询——西班牙客户询问退货流程,日本买家关心关税政策,德国用户需要技术参数说明。传统客服系统要么依赖大量双…

作者头像 李华