deepseek开源DualPipe
的同一天,还开源了
EPLB
。今天
来简单聊聊EPLB,包懂。
【
1
】
EPLB
是干嘛的?
EPLB
,
Expert Parallelism Load Balancer
,是一个
动态负载均衡算法
。
在使用专家并行
EP
时,不同专家会被分配到不同的
GPU
,而这些
GPU
的负载可能不均衡,此时就需要
EPLB
啦。
什么是专家并行
EP
?
专家并行
EP
,
Expert Parallelism
,是一种针对混合专家MOE设计的
分布式并行技术。
什么是混合专家
MOE
?
混合专家
MOE
,
Mixture of Experts
,是
deepseek
大模型的核心创新
应用
,该模型思路不再追求大而全,转而追求多而专精。
关于混合专家MOE,详见:
《
通俗讲解deepseek - MOE(3
)
》
混合专家
MOE
与专家并行
EP
,
deepseek
之前开源了其核心通讯库,详见:
《
通俗讲解deepseek开源 - DeepEP(10)
》
【
2
】
EPLB
是怎么做到负载均衡的?
EPLB
像一个智能调度员,根据不同的场景调度专家进行计算,其负载均衡算法包含两类核心策略。
第一类:分级负载均衡。
使用场景:
预填充阶段(
prefilling stage
),规模较小,服务器节点数(
server nodes
)能被专家组数(
expert groups
)整除的情况。
策略步骤:
1.
专家组分配(
pack to
)到节点,
保证节点负载均衡
;
2.
节点内复制专家;
3.
专家分配到
GPUs
,
保证
GPUs
负载均衡
;
第二类:全局负载均衡。
使用场景:
解码阶段(
decoding stage
),规模较大的情况。
策略步骤:
1.
全局复制专家,不管专家在哪个组;
2.
专家分配到
GPUs
,
保证
GPUs
负载均衡
;
总而言之,保证负载均衡,充分发挥
GPUs
的潜力,提升训练效率,缩短训练时间。
【
3
】举个实际的例子?
DeepSeek-V3
训练部署:
1.
2048
个
NVIDIA H800
;
2.
256
个服务器节点(每节点
8
GPU
);
3.
专家组数为
64
(
EP-64
);
接下来进行训练:
1.