前馈网络(FFN)
MoE 与 FFN
主要是将 MLP 部分拆分成多个专家网络,在训练和推理的时候只需要选择对应的多个 token 专家网络进行计算即可。
通讯开销分析
专家网络间的通讯
在前向和后向网络中网络与网络之前都需要交换信息,此时就涉及到互相之间的信息交换。在 MoE 专家网络的机器间通讯时间高达整个执行时间的 47% 左右。
负载均衡
EP 并行方法
原理介绍
EP 通过将不同专家模块分散到多个计算单元(如 GPU)上,每个计算单元处理不同的专家,增大了每个专家的 batch size,使得计算资源的利用更加高效
TP 相比于 EP 的通讯时间上要少很多
- TP 很难增大推理的 batch size,使得专家部分计算遇到内存瓶颈,且通讯量不会随 TP size 的增大而降低。而 EP 可以极大地扩展 batch size,让每个专家都能分到足够数量的 token,解决 memory access 的 bottleneck,同时降低了单个 GPU 的通讯开销。
DeepSeek 的 MoE 方案
DeepSeek 在大规模 MoE 模型推理中采用了基于 Alltoall 操作的 EP 方案。在 Prefill 阶段,采用(EP = 32)的并行策略,将 256 个专家分散到 32 个 GPU 上,以确保每个 GPU 具有足够大的 batch size,提高计算效率;在 Decode 阶段,采取(EP = 320)的并行方式,每个 GPU 仅保留一个专家,通过这种动态分配策略,周期性感知热点专家,并为其分配更多计算资源,显著提高了整体 GPU 资源利用率。
优化方案