跳到主要内容
返回时间线
LMSYS Org来源发表:

MoE推理扩容不再整机重启:SGLang在运行中加GPU,首个请求快5.3至8.2倍

核心概要

大混合专家模型(MoE)推理扩容此前只有两条路:加一整份模型副本,或重启部署换成更宽的专家并行拓扑。SGLang新增的弹性专家并行扩容在运行中的部署上按需加入GPU秩,启动时按max_ep_size预留元数据与通信缓冲,加入的秩经Mooncake PG准入、NIXL承接专家数据面后提交新拓扑。在8×H100、DeepSeek-V3-Lite FP8的对比中,扩容到首个完成请求比重启快5.3至8.2倍。

Source-provided article image: Elastic Expert Parallelism Scaling in SGLang: Growing a Live MoE Deployment with NIXL
LMSYS Org

深度剖析

运行中的MoE推理部署现在可以按细粒度增量加入GPU秩,不必再分配一整份模型副本,也不必重启作业。 此前的横向扩容要增加完整的模型占用,纵向扩容则需重建分布式状态、重新加载模型并预热新部署。 在一个20→24 GPU的示例中,四个秩被加入正在服务的部署,而不是另起一份20-GPU副本或替换原作业。

扩容复用了故障恢复流程的成员管理机制,把原本意外的成员变化改成计划内的加入。 恢复是把一个秩放回原有槽位和原进程组,扩容则是激活max_ep_size所定上限内未使用的尾部槽位。 启动时创建的进程组是静态的,因此原有秩与每个加入组各自保留固定的张量并行组和引导组,Mooncake WORLD与逻辑EP成员关系在其上增长。

扩容由三层协作完成:SGLang管服务控制面,Mooncake PG管弹性成员与同步,NIXL承担专家数据面。 SGLang把pending_ep_size与effective_ep_size分开跟踪,只在前向结束时安装目标专家与DP状态,并在提交后才暴露新的调度槽位。 在EP4→EP6中,原有秩保留既有连接并新增秩4和5,加入者连接EP6的对等集合;NIXL元数据与RDMA缓冲按max_ep_size预先配置,连接仍惰性完成。

启示与展望

演示范围是8×H100上的DeepSeek-V3-Lite FP8,对比对象为重启,计时从扩容或重启请求开始到目标拓扑上首个完成请求,包含首次连接建立的开销。适用读者是运行大规模MoE推理服务的工程师;扩容API只接纳进程,不分配GPU,需由外部编排器启动加入的秩。max_ep_size应设为部署预期达到的最大拓扑,上限越高,活跃GPU上预留的通信缓冲内存越多,留给KV缓存的内存越少。

加入的秩进入Mooncake WORLD后尚不支持自动回滚,最终化阶段失败可能需要重启部署。拓扑切换期间令牌投递会暂停。CUDA图重捕获目前只覆盖完整解码,预填充与分段重捕获仍不支持。扩容后的恢复、缩容与回长、完全空闲推进仍在评审或计划中。