EPLB Simulator
演示 MoE 专家在 EP GPU 间的重排(replicate + packing)。
数据流架构图
Token Batch
一次 MoE forward 的 token,热点 token 会集中命中少数 logical experts。
→top-k router
MoE Router
token → logical expert id
→record
expert0 hot tokens
expert1 hot tokens
expert2 warm tokens
expert3 cold tokens
expert1 hot tokens
expert2 warm tokens
expert3 cold tokens
Expert Load Window
本页直接展示“窗口汇总后的 logical 热度”;真实框架通常先按 physical 记数,再用 mapping 聚合成 logical。
→rebalance
EPLB Algorithm
replicate_experts + balanced_packing
phy2log: slot0→expert0 slot1→expert0 slot2→expert1
logcnt: expert0×2 expert1×2 expert2×1
logcnt: expert0×2 expert1×2 expert2×1
→dispatch
EP GPU Load
physical experts 分散到 EP ranks,减少 straggler。
Before
静态 id % GPU:最热 logical expert 所在卡成为慢卡。
↺P2P move
Online Execute
SGLang / vLLM 根据 old/new mapping 搬 expert 权重,然后切换 phy2log/log2phy/logcnt。
注意:DeepSeek EPLB 仓库只给算法;在线统计和权重迁移由 SGLang / vLLM 集成。
模拟器简化:不模拟真实 ring buffer、window_size、step_interval、all-reduce 和 P2P 搬权重耗时;这里的 token 热度可理解为“最近窗口已经汇总好的统计快照”。自动演示里的 tick/rebalance 只是动画节拍。
观测演示用:直接看 logical expert token 热度;真实实现会先记录 physical 计数。
复制热点 logical expert 获得更多 physical slots / copies。
装箱physical experts 按负载分到 EP GPU。
指标balancedness = mean / max,越接近 1 越均衡。
重排结果
手动模式1.00before: id%GPU
1.00after: 当前策略
-hot expert
0physical slots
before/after 是演示指标:按当前 EP GPU 负载计算 mean/max;不是框架直接导出的字段。physical slots = logical experts + 冗余副本槽总数。