大模型面试必备:分布式训练指南,掌握核心技能!

本篇来总结一些分布式训练的知识,还是按照面经的形式给出,希望能给到大家一些帮助。

题目

1 训练一个LLM,需要的显存规模跟参数的关系是什么?

\2. 如果有N张显存足够大的显卡,怎么加速训练?

\3. 如果有N张显卡,但每个显卡显存都不足以装下一个完整的模型,应该怎么办?

\4. PP推理时是串行的,1个GPU计算但其他空闲,有什么其他的优化方式?

\5. DP、TP、PP这3种并行方式可以叠加吗?

\6. 3D并行或者直接上多机多卡的ZeRO的条件是什么?

答案

1. 训练一个LLM,需要的显存跟参数的关系是什么?

主要公式是 模型本身占用显存 + 多个batch数据运算的存储 , 跟实际精度,模型大小、中间变量计算以及batch邮官

2. 如果有N张显存足够大的显卡,怎么加速训练?

数据并行(DP),充分利用多张显卡的算力。

3. 如果有N张显卡,但每个显卡显存都不足以装下一个完整的模型,应该怎么办?

PP,流水线并行,需要分层加载,把不同的层加载到不同的GPU上(accelerate的device_map)

4. PP推理时是串行的,1个GPU计算但其他空闲,有什么其他的优化方式

  1. 流水线并行(PP), 横向切分,也就是分层加载到不同的显卡上。

  2. 张量并行(TP),纵向切分,在 DeepSpeed 里叫模型并行(MP)

下面来简单梳理一下DP,PP,TP,ZeRO以及其中MP的关系。

  • DP Data parallelism

数据并行算法在多个设备上都拷贝一份完整的模型参数,彼此之间可以独立计算,所以每个设备传入的输入数据不一样,这也是为什么叫数据并行。

只不过每隔一段时间(比如一个batch或者若干个batch)后需要彼此之间同步模型权重的梯度。

  • PP Pipeline Parallelism

属于 Model Parallelism (MP), 模型并行算法,它是模型做层间划分,即inter-layer parallelism。

以下图为例,如果模型原本有6层,你想在2个GPU之间运行pipeline,那么每个GPU只要按照先后顺序存3层模型即可。

img

  • TP Tensor Parallelism

Tensor Parallelism就是对模型层内做划分,也叫inter-layer parallelism。

就是把一个变量分散到多个设备并共同完成某个或多个计算操作。对于单个 Tensor/Op 很大 或者模型很大(如GPT3, chatGPT等)的情况,Tensor parallelism 的重要性非常明显。

在这里插入图片描述

TP最好带入到不同的模型中去学习,比较好的参考是Megatron-LM,这个可以参考 【 深度学习并行训练算法一锅炖: DDP, TP, PP, ZeRO 】 - https://zhuanlan.zhihu.com/p/581677880 ;另外还有GPT模型训练,这个可以参考【 LLM(六):GPT 的张量并行化(tensor parallelism)方案】 - https://zhuanlan.zhihu.com/p/603908668 这篇。

  • ZeRO

这个之前有比较详细的介绍。

5. DP、TP、PP这3种并行方式可以叠加吗?

可以,DP+TP+PP,这就是3D并行。

如果真有1个超大模型需要预训练,3D并行是必不可少的。

单卡80g,可以完整加载小于40B的模型,但是训练时需要加上梯度和优化器状态,5B模型就是上限了,更别说 activation的参数也要占显存,batch size还得大。而现在100亿以下(10B以下)的LLM只能叫small LLM。

6. 3D并行或者直接上多机多卡的ZeRO的条件是什么?

3D并行的基础是,节点内显卡间NVLINK超高速连接才能上TP。显卡有没有NVLINK都是个问题。

Zero3 需要满足通信量,假设当65B模型用Zero3,每一个step的每一张卡上需要的通信量是195GB(3倍参数量),也就 是1560Gb。万兆网下每步也要156s的通信时间,非常不现实。

AI大模型学习路线

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

扫描下方csdn官方合作二维码获取哦!

在这里插入图片描述

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

请添加图片描述
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

请添加图片描述

大模型全套视频教程

请添加图片描述

200本大模型PDF书籍

请添加图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

请添加图片描述

大模型产品经理资源合集

请添加图片描述

大模型项目实战合集

请添加图片描述

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值