这里对大模型并行计算中的策略进行简单的介绍,主要涵盖如下一些策略的内容:
- 数据并行
- 模型并行
- 张量并行
- 流水线并行
其中数据并行(DP,Data Parallelism)是最简单的,就是将训练的数据集拆分为大小相同的若干份,模型对不同的数据子集进行训练,在各个分组训练完成后需要进行全局的参数同步。
而张量并行(TP,Tensor Parallelism)通过将模型中的张量(如权重矩阵)按行或列切分到多个计算设备上,以解决单设备内存不足问题并提升大模型训练效率。其属于模型并行中的一种,核心思想是将单个模型层的参数或计算任务拆分到不同设备上执行,如矩阵乘法拆分到不同的GPU上运行。
模型并行(Model Parallelism)是通过将模型不同的部分分配给多个设备上进行计算,比如将不同的层分配给不同的设备上,但这种朴素策略存在GPU利用率低的问题。与之类似的是流水线并行(PP,Pipeline Parallelism),通过将模型的不同层按顺序分配到不同设备上的方法。
流水线并行通过将输入数据切分成多个微批次,使得每个设备可以在处理完当前批次后立即处理下一个批次,从而提高设备利用率。主要策略有Gpipe和PipeDream流水线并行。
参考文章:
https://developer.aliyun.com/article/1257832 https://blog.csdn.net/shizheng_Li/article/details/144138542 https://blog.csdn.net/m0_59164520/article/details/142731435 https://www.cnblogs.com/khronos0206/p/18606724 https://zhuanlan.zhihu.com/p/613196255
