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

模型切换不再丢掉前缀缓存:ShadowPrefill借空闲算力预热,切换调用延迟最多降21.4%

核心概要

按步路由的智能体每次换模型,目标模型都要重新预填整段上下文,前缀命中率从同模型调用的80–89%跌到44–65%。ShadowPrefill在路由器未选中的模型上,用正常流量实例的空闲容量提前预填会话上下文,让下一次切换直接命中缓存。在24个模型对、五个智能体基准上,切换调用延迟降低8.5–21.4%,路由token成本降低22.5–46.1%,正常流量的SLO不受影响,每请求能耗上升0.4%。

AI-generated editorial illustration: SHADOWPREFILL: Keeping Your Next Model Warm for Per-Step Model Routing in Agentic LLM Serving

深度剖析

按步路由的智能体在换模型时,新模型必须先把会话上下文重新预填一遍才能输出第一个token,这段等待直接落在切换调用的延迟上。 同一模型连续调用时,前缀缓存让80–89%的提示token被复用;一旦切换,目标模型没有这份缓存,命中率降到44–65%,切换调用耗时是同模型调用的1.5–3.2倍。 在代表性智能体负载上测得这一差距,其中包括平均上下文63K token的GitHub Copilot编码智能体生产轨迹。

ShadowPrefill让路由器没有选中的那个模型提前把会话上下文算成自己的KV缓存,切换到来时只需预填新增的尾部。 做法是把影子预填当作最低优先级的工作,塞进正在服务的实例每次迭代尚未用完的延迟余量里,而不是占用额外GPU。 在vLLM上实现原型,并以LLMRouter作为按步路由器,在24个模型对、五个智能体基准(含SWE-bench与GitHub Copilot编码轨迹)上评测,正常流量回放Azure推理轨迹。

收益主要来自首token等待时间的缩短,而代价是少量额外能耗。 切换调用的TTFT在基准上降低44.1%、在编码会话上降低47.0%,全部LLM调用的平均延迟分别降低5.0%和9.7%。 同一组评测中,每请求能耗上升0.4%,正常流量的SLO达成率没有下降;作为对照,额外占用25% GPU的专用实例方案能耗上升11.7%。

启示与展望

评测覆盖仿真中的24个模型对与五个智能体基准,以及16块H100上基于vLLM的原型;正常流量按Azure推理轨迹回放,SLO为TTFT与TPOT。原型只验证了请求级的核心机制,未包含逐迭代信用、SLO余量控制器、优先驱逐的影子KV类和主机内存层。

影子预填是推测性的:在完整设计中63%的影子token最终没有被用到,错误预测的代价是消耗掉的空闲容量和相应能耗。收益随条件变化:目标模型超过50B时切换调用延迟只降约3%,每会话切换约0.5次时全部调用延迟收益接近零,预填/解码分离部署下能耗上升11.5%。