Prefill‑decode 分离已成为大模型服务的主流架构,因为它把两阶段的执行模式和 SLO 目标解耦。传统系统采用固定的预填充/解码工作者比例,并通过路由将请求分配到不同工作者。然而真实负载会出现短时突发和长期需求比例变化,导致原本匹配的配置瞬间失衡,即使集群中还有空闲资源也会出现延迟 SLO 违例。现有的自动扩缩容只能慢慢增加容量,需要预留 GPU,且无法快速应对相位不平衡。FluidPD 提出在位弹性机制,包含 FluidToken 与 FluidRole 两部分。FluidToken 在解码侧有空闲时,将有限的预填充计算转移到解码工作者,以缓解瞬时失衡。FluidRole 针对持续失衡,直接在运行时把工作者角色在预填充和解码之间切换,避免模型重新加载和引擎重启。两者均基于轻量级压力指数,在资源压力转化为 SLO 违例前提供预警。基于 Azure 生产轨迹的实验表明,FluidPD 相比静态 SGLang 在整体 SLO 达成率上提升最高可达 94.6 个百分点,证明 SLO 感知的在位弹性能够在不增加工作者的前提下显著提升服务质量。
点评:FluidPD 的设计巧妙地利用现有资源,实现了对短期波动和长期趋势的双重适应,为大模型服务的高效运营提供了新思路。