这个系列作为TFLOPS和显存消耗的续篇,今天开始正式连载
上一部地址:
LLM 参数,显存,Tflops? 训练篇(5) (qq.com)
前一篇文章举了65B模型的训练所消耗的显存的案例,如果把条件降低一点,我们看一下7B的模型需要多少显存?
-
2byte的模型静态参数权重(以16bit存储) = 14G
-
2byte的模型更新参数权重 (以16bit存储)= 14G
-
2byte的梯度(以16bit存储)= 14G
-
2byte的梯度更新(以16bit存储)= 14G
-
4byte的一阶动量优化器更新(以32bit存储)= 28G
-
4byte的二阶方差优化器更新(以32bit存储)= 28G
就不算Activation了,基本这些就已经超过目前在售的GPU最大内存80G了,所以要做分布式的训练来弥补单卡显存的上限。
这节我们介绍一下分布式训练系统,如同之前提到的内容,单独的卡目前对较小的模型也无法在做训练的时候load所有的静态,动态数据,所以要靠分布式训练系统来解决,分布式训练系统不只是单纯的能扩大显存的容量,装载更大的模型,

本文介绍了分布式训练系统的重要性,特别是对于处理大模型的需求。重点讲解了通信原语,如点对点通信(P2P)和集体通信(CC),包括Broadcast、Scatter、Gather、Reduce、All-Reduce、All-Gather和All2All等操作,这些在Pytorch的torch.distributed模块中实现,并在大模型训练中起到关键作用。
最低0.47元/天 解锁文章
5036

被折叠的 条评论
为什么被折叠?



