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

扩缩容不再停服百秒:vLLM弹性专家并行把中断压到0.82秒,DeepSeek V4 Pro照常出词

核心概要

在vLLM的弹性专家并行中,扩缩容过去要暂停服务,DeepSeek V4 Pro从16块扩到20块GB200时中断99.62秒。新方案把重配置拆成后台准备与短暂提交,并让NIXL EP原地增删通信成员、保留已捕获的CUDA图,使同一基准下扩容中断降到0.82秒、缩容降到1.96秒。

Source-provided article image: Achieving near-zero-downtime scaling in Elastic Expert Parallelism
vLLM

深度剖析

vLLM的弹性专家并行现在能在几乎不停服的情况下改变GPU数量,DeepSeek V4 Pro从16块扩到20块GB200时服务中断只有0.82秒,缩回16块时为1.96秒。 此前的做法要么增删整个模型副本,要么以不同GPU数重启引擎;即便是不重启的弹性专家并行,重配置期间服务仍会全程停止。 同一DeepSeek V4 Pro基准上,阻塞式重配置的扩容中断为99.62秒、缩容为56.25秒,仅做异步准备时仍为58.04秒和44.07秒,加入CUDA图复用后才降到0.82秒和1.96秒。

重配置被拆成后台准备和一次很短的提交:现有工作进程一边继续用当前通信组和CUDA图处理请求,一边在后台线程里准备目标拓扑。 后台准备覆盖加入进程的初始化、目标通信组的建立、模型权重的传输,以及编译、核函数预热和CUDA图构建;提交阶段只暂停调度器、激活已准备好的拓扑再恢复服务。 权重经NVLink或RDMA从现有工作进程传给加入进程,提交后由异步专家并行负载均衡在后台重新分配专家,新进程先承担注意力计算。

NIXL EP让专家并行的通信成员可以原地增删,复用同一个NIXL agent、缓冲区和连接,已捕获的CUDA图在扩缩容后依然有效。 此前的通信后端成员固定,增删rank要新建实例,新旧实例各占一套缓冲与内存注册,切换通信器还会使已捕获的CUDA图失效、必须重新预热和捕获。 在DeepSeek V4 Pro基准上,即使有异步准备,若在提交阶段重新预热并捕获图,扩容和缩容仍分别停顿58秒和44秒;加入进程预热时屏蔽全部远端专家并行对端,因此无需现有工作进程参与。

启示与展望

演示范围是DeepSeek V4 Pro在GB200上、张量并行度为1、数据并行与专家并行规模为16和20的扩缩容,权重预下载于共享Lustre存储,测量使用已预热的编译缓存。在请求速率从约每秒8次升到16次的11,391请求回放中,弹性专家并行全部完成且滚动p95首token时间保持在5秒以内,准备期间与静态16卡部署相当,扩容后与恢复的20卡部署相当。相关能力已在最新vLLM和NIXL发布中提供,测试用例包含服务器配置与扩缩容API调用。

性能数字来自单一模型和16与20块GPU的规模,其他模型、并行配置与更大规模下的表现尚未在文中给出。总时长并未同比例下降,扩容总时长仍为92.34秒,缩容为9.32秒,说明准备阶段本身仍占主要时间。后续计划用Dynamo Snapshot恢复已初始化进程与CUDA状态以缩短新容量就绪时间,但目标拓扑的通信仍需单独准备,大模型权重仍计划沿用GPU间传输。