论文
并非所有词元都值得缓存:学习 LLM 前缀缓存的语义感知驱逐
Not All Tokens Are Worth Caching: Learning Semantic-Aware Eviction for LLM Prefix Caches
摘要
前缀缓存是 大语言模型 (LLM) 服务中的关键优化,在具有共享提示前缀的请求之间重用注意力键值 (KV) 状态,以减少昂贵的预填充计算。然而,它的好处主要取决于驱逐策略,因为 GPU 内存稀缺,并且 LRU 等现有策略很大程度上统一处理缓存块。此视图忽略了 LLM 提示的基本属性:并非所有词元都同样值得缓存。我们表明,提示中的不同词元类型(包括系统提示、用户查询、工具输出、模型响应和思维链推理)在重用率方面表现出高达 756 倍的变化,但现有的驱逐策略还没有利用此信号。在本文中,我们提出了 SAECache(前缀缓存的语义自适应逐出),这是一种语义自适应前缀缓存逐出策略,通过三项创新解决了这一差距:(1)多队列架构,将 KV 块路由到具有定制优先级指标的特定于任务的队列,捕获多轮请求中的会话重用和模板化单轮请求中的结构重用; (2)语义感知的词元加权机制,通过逐出反馈在线学习不同词元类型的重用价值; (3) 针对所有参数更新的完全自适应在线学习模式,包括对数正态定时参数、位置衰减功率、队列权重和元参数,从而消除了手动调整并能够自动适应特定于部署的工作负载特征。通过对异构工作负载的广泛评估,我们证明 SAECache 比生产型基线实现了 1.4-2.7 倍的 TTFT 改进,而固定参数替代方案在工作负载不匹配的情况下性能会下降高达 2.7 倍——这是我们的自适应方法完全避免的故障模式。