本文主要是介绍LLM分布式训练第四课-模型并行之张量并行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前文提要:
上一篇:LLM分布式训练第三课-模型并行之流水线并行 (qq.com)
上上一篇:LLM分布式训练第二课(数据并行) (qq.com)
上上上一篇:LLM分布式训练第二课(数据并行) (qq.com)
张量并行不是张亮并行,不是麻辣烫
如果上一节介绍的流水线并行是把模型基于层给进行了划分,来让多张GPU的显存可以承载规模较大的模型,那么这一节介绍的张量并行就正好用另外一个角度来解决单张GPU显存不足的问题。
张量并行其实也有两个细分的子流派,行并行和列并行。
我们用 GEMM 来拆解模型如何并行,以Y =XA 举例,对于模型来说,X 是输入,A是权重,Y是输出。
行并行(Row Parallelism):
行并行简单说就是把权重A给按照行来分割为2部分,为了输入X要去匹配A被按行切分的状态来进行计算,所以把X也给切成2部分,因为要矩阵乘,所以X得竖着切,如下图所示。
而Y=XA就被拆解成:
这篇关于LLM分布式训练第四课-模型并行之张量并行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!