tbo-sbo

tbo-sbo

tbo 就是 two batch overlap,最开始由deepseek提出,主要的目标是基于deepep的实现思路,优化计算和通信的overlap

在整体的计算流程中,有 attention -> alltoall -> moe -> alltoall -> ...,我们可以构造两个batch,实现一个做矩阵计算,另一个做alltoall通信,从而overlap

tbo是给decode准备的,主要原因是decode是带宽瓶颈,计算耗时短,两个batch可以相互干扰影响低

不过实际蚂蚁在h20上部署deepseek时发现了tbo在高并发下反而会更慢,因为h20算力太低,高并发会延迟爆炸不满足slo

因此也是联合deepseek,sglang提出了sbo:

两点优化:

  1. 计算shared experts时进行dispatch通信
  2. 计算down的时候就边计算边发送,按照block_m粒度进行处理,一个块好了就直接发送

sbo的pr链接: