← 返回 2026-02-04

你需要一个编码器来实现原生的位置无关缓存 You Need an Encoder for Native Position-Independent Caching

Shiju Zhao, Junhao Hu, Jiaqi Zheng, Guihai Chen 📅 2026-02-02 👍 0 2026-07-13 08:35
KV缓存 LLM服务 位置无关缓存 推理优化 编码器-解码器

通过在解码器-only LLM中引入编码器插件实现高效的位置无关缓存

前置知识

KV缓存

在Transformer模型中,Key-Value缓存是存储中间表示的机制。在自回归生成过程中,模型为每个token计算Key和Value向量,并将这些向量缓存起来以避免重复计算。传统的KV缓存是基于前缀的,这意味着只有完全相同的前缀序列才能重用缓存,这在RAG和少样本学习等场景中效率低下。

理解KV缓存是理解本文位置无关缓存创新的基础,本文正是为了解决传统前缀缓存的局限性而提出的。

位置无关缓存(PIC)

位置无关缓存是一种允许静态文本块(如文档、系统提示)的KV向量在不同位置和上下文中重用的技术。它分为两个阶段:编译阶段(独立处理每个静态块)和链接阶段(按需组合这些块)。与前缀缓存不同,PIC不要求严格的顺序匹配,大大增加了缓存重用的机会。

这是本文的核心研究问题,理解PIC的工作原理和挑战对于理解COMB的创新至关重要。

编码器-解码器架构

传统的Transformer架构分为编码器和解码器两部分。编码器负责理解输入序列,解码器负责生成输出序列。现代大语言模型大多采用纯解码器架构,而本文重新引入了编码器来专门处理静态文档,让解码器专注于查询和生成。

本文的核心创新就是在解码器-only架构中重新引入编码器,理解这一架构差异有助于把握方法的本质。

交叉注意力机制

交叉注意力是编码器-解码器架构中的关键组件,允许解码器的查询(query)关注编码器产生的键值对(key-value)。在COMB中,解码器通过交叉注意力层与编码器产生的文档KV向量进行交互,从而实现对静态文档的理解。

COMB的架构核心就是通过交叉注意力连接编码器和解码器,理解这一机制对于把握方法的技术细节很重要。

研究动机

现有的大语言模型KV缓存是基于前缀的,这导致在许多实际应用场景中效率低下。特别是在检索增强生成(RAG)和少样本学习场景中,静态文档(如参考材料、示例)的内容相对固定,但它们在请求中的位置和上下文会变化。传统的前缀缓存要求严格的顺序匹配,这意味着只有完全相同的前缀序列才能重用缓存。例如,在RAG系统中,用户查询不同但检索到的文档相同,由于每个查询前缀不同,这些文档的KV缓存无法重用,导致大量重复计算。

本文的目标是本文旨在实现原生的位置无关缓存(PIC),使静态文本块的KV向量能够在任意位置和上下文中被重用,从而显著降低首token时间(TTFT)并提高吞吐量,同时保持或超过标准前缀缓存的准确率。具体目标包括:将TTFT降低50%以上,提升吞吐量3倍以上,并在LongBench等基准测试中达到与标准注意力可比的准确率。

与已有工作不同的是,与现有PIC方法相比,本文的独特视角是将PIC作为模型的原生能力而非事后补救措施。现有方法要么是后训练方法(如EPIC、CacheBlend),存在准确率下降问题;要么是训练感知方法(如BlockAttention),会永久改变模型行为并可能导致灾难性遗忘。本文通过重新引入编码器并只训练编码器来支持PIC,既保持了模型的原始能力,又获得了训练感知方法的高准确率优势。

核心方法

COMB的方法可以类比为'编译-链接'的两阶段过程。想象你要组装一个乐高模型:编译阶段就是预先制作好各个模块(文档块),链接阶段就是根据需要组合这些模块。具体来说,COMB在标准的解码器-only LLM中重新引入了一个编码器,这个编码器专门处理静态文档并生成位置无关的KV向量(PICaches)。解码器则专注于处理查询和生成输出。编码器和解码器通过交叉注意力层连接,形成类似梳子的结构(因此得名COMB)。

COMB的核心创新点是将位置无关缓存作为模型的原生能力,而不是事后调整。与现有方法最本质的区别在于:1)只训练编码器,解码器参数完全冻结,这样既获得了PIC能力又保持了原始模型的行为;2)编码器作为插件,可以完全移除而不影响标准解码流程,提供了最大的灵活性;3)通过轻量级的编码器架构实现了最低的TTFT,尽管引入了额外参数。这种设计使得COMB既具有训练感知方法的高准确率,又具有后训练方法的非侵入性。

方法步骤详情

COMB的方法分为模型组件和系统组件两部分。在模型组件中:1)将现有解码器-only LLM(如Llama-3.1-8B-Instruct)的解码器参数完全冻结;2)引入一个编码器,其层数少于解码器(如8层编码器与32层解码器交错);3)编码器和解码器通过交叉注意力层连接,编码器只进行自注意力处理文档,解码器通过交叉注意力访问编码器产生的文档KV;4)训练时,每个文档独立由编码器处理生成PICaches,解码器基于这些PICaches和查询生成输出,使用最大似然目标进行监督。在系统组件中:1)PIC管理器负责管理请求和缓存查找;2)PIC分配器负责内存分配;3)块处理器负责生成PICaches;4)推理引擎负责最终生成。

技术新颖性

COMB的技术新颖性体现在几个方面:1)首次将编码器-解码器架构与位置无关缓存结合,使PIC成为模型的原生能力;2)创新的'梳子'架构设计,编码器层与解码器层交错,只使用交叉注意力连接;3)只训练编码器而冻结解码器的设计,既获得了PIC能力又避免了灾难性遗忘;4)轻量级编码器设计(8层 vs 32层解码器)在保持高准确率的同时显著降低了计算复杂度;5)系统层面的优化,包括异步缓存存储和CUDA IPC通信,实现了高效的生产级部署。

COMB系统概述
Figure 2: COMB系统概述
模型架构
Figure 3: 模型架构

实验结果

COMB在多个基准测试中取得了显著成果。在准确率方面,COMB在所有评估的PIC方法中达到了最高准确率,在LongBench的5个数据集上,COMB的F1和Rouge-L分数都优于或可比前缀缓存基线。特别值得注意的是,COMB_{DeepSeek}相比其基础DeepSeek模型有显著提升,因为训练时使用了Llama生成的更高质量输出作为监督。在效率方面,当缓存命中时,COMB将TTFT降低了51-94%,同时吞吐量提高了3倍。在内存使用方面,COMB为Llama-3.1-8B-Instruct节省了75%的KV内存,为DeepSeek-V2-Lite节省了78%。在线服务实验中,COMB在不同请求率下都保持了最低的TTFT和最高的持续吞吐量。

使用Llama-3.1-8B-Instruct的TTFT和准确率比较
Figure 5: 使用Llama-3.1-8B-Instruct的TTFT和准确率比较
BlockAttention的侵入性分析
Figure 6: BlockAttention的侵入性分析
使用DeepSeek-V2-Lite-Chat的TTFT和准确率比较
Figure 7: 使用DeepSeek-V2-Lite-Chat的TTFT和准确率比较
缓存未命中时的TTFT
Figure 8: 缓存未命中时的TTFT
KV缓存大小比较
Figure 9: KV缓存大小比较
随请求率增加的性能表现
Figure 10: 随请求率增加的性能表现
查看结构化数据
任务指标本文基线提升
多文档问答(HotpotQA) F1分数 44% 前缀缓存: 36% 提升8个百分点
多文档问答(2WikiMQA) F1分数 36% 前缀缓存: 25% 提升11个百分点
多文档摘要(MultiNews) Rouge-L分数 26% 前缀缓存: 22% 提升4个百分点
少样本指令跟随(SAMSum) Rouge-L分数 31% 前缀缓存: 27% 提升4个百分点
首token时间(TTFT) 相对减少 缓存命中时减少51-94% 前缀缓存基线 51-94%减少

局限与改进

论文承认了一些局限性。首先,COMB需要额外的训练过程,虽然只训练编码器,但仍需要一定的计算资源(Llama版本需要2966 GPU小时,DeepSeek版本需要5402 GPU小时)。其次,编码器的引入增加了模型参数(3.5B可训练参数),尽管通过轻量级设计(8层 vs 32层)控制了计算开销。第三,当前实现只支持文本模态,未来需要扩展到多模态场景。第四,PIC的'编译'阶段仍然需要一定的冷启动时间,虽然论文声称这与现有的分块预填充对齐,但在实际部署中仍可能带来延迟。

独立分析的弱点

基于独立分析,我认为COMB有以下几个弱点需要改进。首先,编码器的训练数据可能不够多样化,当前使用SQuAD、Natural-Instructions等数据集,可能无法覆盖所有实际应用场景,特别是在专业领域(如医疗、法律)的表现需要验证。其次,编码器的架构设计(8层交错)可能不是最优的,不同任务可能需要不同的编码器深度,自适应架构设计可能带来更好的性能。第三,当前的交叉注意力设计是固定的,动态调整交叉注意力的强度或模式可能进一步提升准确率。第四,系统实现目前基于Python(5K行代码),在生产环境中可能需要更高效的C++/CUDA实现以进一步降低延迟。

未来方向

基于COMB的成果,未来研究可以朝几个方向发展。首先,将COMB扩展到多模态大语言模型,论文已经提到Whisper和Mllama等多模态模型的成功,这为COMB在视觉-语言任务中的应用提供了理论基础。其次,探索编码器的动态架构,根据输入文档的特性自动调整编码器的深度和宽度。第三,研究更高效的PIC管理策略,包括缓存替换策略、内存压缩技术等。第四,将COMB与推理时优化技术(如投机解码、量化)结合,进一步提升整体效率。第五,探索编码器在少样本学习中的应用,可能为快速适应新任务提供新思路。

复现评估

COMB的复现条件相对友好。代码和训练好的模型已经开源在GitHub(https://github.com/shijuzhao/Comb),这大大降低了复现门槛。训练数据使用的是公开数据集(SQuAD、Natural-Instructions等),不需要特殊的数据收集。然而,训练需要相当的计算资源:4块A100 80GB GPU,Llama版本需要约2966 GPU小时,DeepSeek版本需要约5402 GPU小时,这对于许多研究机构来说仍然是一个挑战。推理部署基于vLLM,这是一个广泛使用的推理框架,系统集成相对容易。总体而言,对于有足够计算资源的团队,复现COMB是可行的。