Transformer为基础的大模型应该如何并行
- 数据并行。但是如果模型太大放不到一块卡上就没用了。为了解决把参数放到一块卡上的问题,演进出了论文Zero的思想,分为Zero-DP和Zero-R两部分。Zero-DP是解决Data parallel的问题,并行过程中内容不够,解决思路也比较简单,模型参数w只存在一台机器上,剩下的部分等用的时候找某台机器通过all-reduce请求就可以了。Zero-R是在每一层输入存不下,解决思想是带宽换内存。由Zero论文演进的Deep-speed框架影响了pytorch分布式计算的接口。
- 模型并行。典型的是按照GPipe的思路,将模型按层切开,这样会实现像CPU流水线一样并行的设计。
- 张量并行。典型的是Megatron LM,其实就是将矩阵乘法切开,参考下图:

DeepSpeed中参数量的估计
-
基本问题:在理解ZeRO前需要先理解一个基本问题,对于一个参数量为Φ\PhiΦ的模型,使用Adam优化器单卡进行混合精度训练过程中至少占多大显存?结果是16*

最低0.47元/天 解锁文章
336

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



