随着大语言模型(LLM)服务输入长度的持续增长,KV缓存已成为AI基础设施中的主要瓶颈,限制了GPU内存容量、服务并发性、缓存重用以及分布式可扩展性。包括位置无关的KV缓存、前缀KV缓存压缩、热/冷KV缓存分离以及分布式KV缓存管理等多个重要问题,都依赖于KV缓存的表示和管理方式。然而,现有服务系统主要依赖于单一的KV缓存抽象,将KV缓存视为同质的令牌级内存块序列,并在不同注意力头和服务场景下采用类似的管理策略。我们观察到KV缓存效用在KV头之间具有高度结构性:不同头表现出不同的功能角色、注意力距离和运行时重要性。因此,并非每个头、令牌范围或服务场景都需要完整的KV缓存。我们提出了RedKnot,一种面向LLM服务的头感知KV缓存管理系统。RedKnot打破了传统的单一KV缓存抽象,通过沿KV头分解KV缓存来运作,这些KV头在不同服务场景中的重要性和有效注意力范围差异显著。这种头级分解将KV缓存从单一的张量抽象转变为结构化的内存对象,使得RedKnot能够统一支持位置无关的KV重用、前缀KV压缩、热/冷KV分离以及分布式KV放置,同时保持输出保真度并提高资源效率,无需模型重新训练或微调。RedKnot通过将KV缓存从被动的运行时工件转变为用于可扩展LLM服务的动态、模型感知运行时基板,为AI基础设施建立了新的基础。
核心观点
- 提出头感知的KV缓存管理系统,打破传统单一抽象,沿KV头分解缓存
- 统一支持位置无关KV重用、前缀压缩、热冷分离和分布式放置
- 无需模型重新训练或微调,保持输出保真度并提升资源效率
- 通过结构化KV缓存管理,解决长上下文服务中的内存和可扩展性瓶颈
技术要点
核心技术包括头感知的KV缓存分解、SegPagedAttention机制,以及基于头重要性和注意力距离的动态缓存策略,实现高效的长上下文服务。
应用场景
适用于需要处理长上下文的大语言模型服务场景,如文档分析、多轮对话、代码生成等,特别优化了分布式部署和缓存重用效率。