这篇论文提出FluidPD,一个面向预填充-解码分离式LLM服务架构的SLO感知弹性调度系统。研究指出,现有系统通常采用固定的预填充/解码工作节点比例,但真实负载既存在短时突发,也存在预填充与解码需求比例的持续偏移,导致原本合理的配置很快失配,即使集群中仍有空闲容量也会引发延迟SLO违规;而传统自动扩缩容反应慢、依赖额外GPU,且无法应对短时间尺度的阶段失衡。为此,FluidPD设计了两种互补机制:FluidToken在解码侧出现空闲时,将部分预填充计算卸载至解码节点,以应对瞬时失衡;FluidRole则在不重载模型、不重启引擎的前提下就地切换运行节点的角色,以应对持续失衡。两者均由轻量级压力指标驱动,可在SLO违规发生前捕捉资源压力。在Azure生产负载轨迹上,FluidPD相较静态SGLang将整体SLO达成率最多提升94.6个百分点,表明无需额外增加节点即可显著改善服务质量。
| Prefill-Decode Disaggregation | 将LLM推理的预填充阶段(处理输入提示)与解码阶段(逐token生成)分离到不同工作节点上执行的架构。 |
| SLO (Service Level Objective) | 服务等级目标,定义服务应满足的性能指标(如延迟上限),是衡量服务质量的关键标准。 |
| In-Place Elasticity | 原地弹性,指在不重启引擎或重新加载模型的情况下,动态调整工作节点角色或资源分配的能力。 |
| FluidToken | FluidPD中的一种机制,在解码侧有空闲资源时,将部分预填充计算卸载到解码工作节点以缓解瞬态失衡。 |
| FluidRole | FluidPD中的一种机制,通过原地重新分配运行中的工作节点在预填充和解码角色之间切换,以应对持续失衡。 |
📱 每天一份 AI 前沿日报
关注公众号,每天 09:00 推送 · 不错过任何重磅