作者:大润发杀鱼工
原文:https://zhuanlan.zhihu.com/p/15073492309
训练策略
集群:
2048*H800,256 nodes,配备NVLink,NVSwitch,以及IB。
策略推测:
TP |
PP |
DP |
SP |
CP |
EP |
1 |
16 |
128 |
1 |
1 |
64 |
策略评价
1.选择2048张卡进行训练,应该可以保证在一个大集群中进行这个训练。
2.策略中不开TP,机器内部优先为EP组,256个专家的64EP并行,则单张卡中应该是4个专家。
3.Deepseek论文中提到不使用TP策略,主要是开销非常大(文中costly),这似乎也表明EP和TP组在机内的优先级竞争,EP是最优解?因为在之前Mixtral 8x7B的Moe模型中,同样也是选择了将EP打满的策略。12.27更新:xffxff:MoE 训练到底是开 TP 还是 EP?,解释了这个原因[1]
4.提到使用了ZeRO-1(DP),但我估计实现的方法应该和Magetron的Distributed Optimizer优化一样。
DS分布式训练亮点分析
1.自研的轻量级HAI-LLM框架
2.双流并行的PP组steady阶段优化
3.PP组双向管道调度
4.Moe路由的All2All优化设计
5.高精度的显存优化策略
双流并行的PP组steady阶段优化
计算通信流安排
文中示意图:
首先一个预备知识,在反向传递阶段,通常会进行两个操作,1.更新当前层的权重,2.将梯度继续传递到前一层。而通常这两个操作实际是并不存在数据依赖的,因此他们是可以拆开来进行。图中括号里面的B,W则分别是这两个操作的。
这一个思路实际在ZeroBubble中就已经出现: