KVCOMM: Online Cross-context KV-cache Communication for Efficient LLM-based Multi-agent Systems

文章标题: KVCOMM: Online Cross-context KV-cache Communication for Efficient LLM-based Multi-agent Systems
作者/机构: Hancheng Ye1, Zhengqi Gao2, Mingyuan Ma1, Qinsi Wang1, Yuzhe Fu1, Ming-Yu Chung1, Yueqian Lin1, Zhijian Liu3, Jianyi Zhang1, Danyang Zhuo1, Yiran Chen1. 1杜克大学, 2麻省理工学院, 3英伟达

A1 主要贡献

核心问题:大型语言模型(LLM)驱动的多智能体系统在处理需要智能体间通信和协调的复杂任务时,因智能体间重叠上下文的重复处理而产生巨大开销。在典型流程中,智能体接收到消息后,必须从头开始重新处理包括先前对话在内的完整上下文,导致处理效率低下。这种在多智能体系统中的冗余预填充计算问题被称为“多上下文冗余问题”。

研究目标:传统的键值(KV)缓存技术虽然在单智能体场景中能有效避免冗余计算,但由于多智能体场景中每个智能体特定的上下文扩展引入了不同的前缀,导致KV缓存无法直接重用。本文发现,核心挑战在于不同智能体之间KV缓存的“偏移可变性”(offset variance)。即便是相同的共享文本,一旦前面加上了不同的前缀上下文(例如,不同角色的系统消息或不同长度的上游智能体输出),其KV偏差也会大相径庭。

创新点
本文提出了KVCOMM,一个无需训练的在线KV缓存通信框架,旨在通过重用KV缓存和对齐不同前缀下重叠上下文的缓存偏移,来实现在多智能体推理中的高效预填充。

  1. 识别并定义了关键挑战:本文首次识别了“多上下文冗余”是多智能体场景中高效预填充的关键挑战,并描述了“偏移可变性问题”,该问题限制了传统KV共享技术在此类场景中的应用。
  2. 提出KVCOMM框架:这是首个无需训练、提示自适应的缓存共享框架,用于高效预填充多智能体系统。其核心思想是将每次重用尝试视为一个近似翻译问题。

    • 锚点池(Anchor Pool):KVCOMM维护一个“锚点池”,其中存储了先前共享样本在不同前缀下的实测KV缓存偏移量。
    • 锚点匹配与偏移近似:在推理时,框架首先通过Token相似度为请求的文本段找到最近的锚点(锚点匹配),然后通过插值这些锚点存储的偏差来预测新上下文的偏移量(偏移近似),从而避免了完整的预填充计算。
    • 在线更新:锚点池会在线更新,当一个输入段的缓存被预测为不可共享时,它将被标记为新的锚点,并测量其在各前缀下的缓存偏移,以扩展后续输入的重用范围。同时,最少匹配的锚点会被定期清理。
  3. 设计并验证了高效系统:在KVCOMM中,设计了一个高效的KV缓存管理系统以支持快速的锚点查找。在包括检索增强生成(RAG)、数学推理和编程在内的三个代表性任务上的大量实验表明,KVCOMM能够实现约6.7倍的平均预填充加速,同时在保持任务性能(准确率下降小于2.5%)的前提下,实现了超过95%的重用率。特别是在一个五智能体设置中,每个智能体接收1K输入Token,KVCOMM将首个Token生成时间(TTFT)从约430ms降低到约55ms,实现了高达7.8倍的加速。


图 1:(a) 同一个Token在十个不同前缀下,其KV缓存与基础上下文缓存的平均偏移量(通过ℓ2范数测量)。阴影区域表示这些前缀下的标准差。(b) 两个嵌入相似的Token在加上新上下文前缀后,其基础上下文缓存的偏移量对比。“∆K1 w/ rot”和“∆K2 w/ rot”分别表示两个Token经过位置对齐后的Key偏移量。“∆K1 w/o rot”和“∆K2 w/o rot”指未对齐时的Key偏移量。“∆V1”和“∆V2”表示两个Token的Value偏移量。


图 2:与现有KV缓存重用方法的比较。(左)原始的无缓存重用基线方法对所有请求的Token进行密集预填充。(中)选择性重计算方法[58, 27]选择KV缓存最关键的部分进行重计算,并重用每个请求的其余缓存。(右)KVCOMM重用共享上下文的所有KV缓存,并引入上下文感知的缓存偏移来对齐不同的前缀上下文,其中上下文感知的偏移指的是由变化的前缀上下文引起的KV缓存偏差。这种偏移是通过先前相似请求的真实偏移来近似的。近似后,模型运行器直接开始解码,无需预填充。

A3 背景知识与关键观察

3.1 预备知识

大型语言模型与KV缓存。设$x = [h_1, . . . , h_L]$表示一个Token嵌入序列列表,其中$h_l \in \mathbb{R}^{N \times D}$代表第$l$个Transformer层的输入Token嵌入,N是Token数量,D是特征维度。对于$h_n^l$(其中$n = 1, 2, . . . , N$),它被第$l$个Transformer层投影为Query、Key和Value向量,用于后续的注意力计算:$q_n^l = R_n W_Q^l h_n^l, k_n^l = R_n W_K^l h_n^l, v_n^l = W_V^l h_n^l$,其中$q_n^l, k_n^l, v_n^l \in \mathbb{R}^d$表示第n个输入Token的Q、K、V值,$W_Q^l, W_K^l, W_V^l$是相应的投影权重矩阵,$R_n$是位置n的位置嵌入,例如旋转位置嵌入(RoPE)【索引37,Roformer: Enhanced Transformer with Rotary Position Embedding,2024,Neurocomputing】。在自回归解码期间,模型反复关注所有过去的位置,并将每个$(k_n^l, v_n^l)$对存储在GPU内存中,这被称为KV缓存。因此,预填充一个N个Token的提示每层需要$O(N^2d)$次乘加运算,在长上下文中主导了推理延迟。由于RoPE在每个位置对Key和Query应用固定的旋转矩阵,缓存的Key在后续步骤中保持有效,无需进一步的算术修改,使得KV缓存重用成为后续预填充和解码中加速的主要来源。

有向图多智能体系统。遵循【索引57,GraphAgent: Agentic Graph Language Assistant,2024,arXiv】、【索引69,Gptswarm: Language agents as optimizable graphs,2024,ICML】和【索引65,Cut the Crap: An Economical Communication Pipeline for LLM-based Multi-agent Systems,2025,ICLR】,我们将多智能体系统建模为一个有向图$G = (M, E)$,其节点$m \in M$是智能体,边$e = (m_s \to m_t) \in E$表示从第$m_s$个智能体到第$m_t$个智能体的单向消息传递。在交互步骤t,第m个智能体在一个模板中组合输入提示$s_m^{(t)}$,该模板包含(i)所有轮次共享的固定前缀段,和(ii)在运行时用用户查询、工具结果或上游智能体输出填充的占位符段,公式如下,其中$p_{(m,0)}$通常是特定角色的系统提示,$p_{(m,i)}$是第i个占位符$\phi_{(m,i)}^{(t)}$的后续前缀段。

$$\mathbf{s}_m^{(t)} = [\mathbf{p}_{(m,0)}, \phi_{(m,1)}^{(t)}, \mathbf{p}_{(m,1)}, \phi_{(m,2)}^{(t)}, \mathbf{p}_{(m,2)}, \dots, \phi_{(m,i)}^{(t)}, \mathbf{p}_{(m,i)}].$$

我们的工作针对一个独特而实际的场景:一个有向多智能体图,其中每个节点都是一个相同的基于RoPE的LLM检查点,用特定角色的系统模板实例化。由于智能体在前缀和传入消息的长度上都不同,现有的静态策略都无法预测正确的位置和上下文偏移;不对齐要么强制进行完全重计算,要么导致严重的准确性损失。因此,我们开发了一种无需训练、提示自适应的缓存共享机制,称为KVCOMM,它能动态估计真实偏移,并维护一个在线锚点池以适应快速变化的交互模式,从而在不牺牲任务性能的情况下减少预填充延迟。KVCOMM的整体工作流程如图3所示,其过程如下。

位置对齐是必不可少的。在分析任意两个Token的缓存相关性之前,我们应首先解决由RoPE引起的位置不匹配问题。如果一个Token在一个提示中的位置是n,而在另一个提示中的位置是n + ∆,那么原始的Key会因正交旋转$R_∆$而不同,其差异可能比我们关心的上下文偏差大几个数量级,如图1b所示。因此,KVCOMM在测量相似性之前总是通过$R_{-∆}$对存储的Key进行去旋转。


图 4:(a)(b) 共享相同前缀的Token对的KV缓存接近度实验:(a) 显示了Token对各层的KV缓存距离(通过ℓ2范数测量),这些Token对根据两个Token之间的嵌入距离分为“近”、“中”和“远”三组。(b) 显示了嵌入距离与各层KV缓存接近度的Spearman[36]相关性。(c)(d) 由两个不同上下文前缀的Token对的KV缓存偏移接近度实验:(c) 显示了按嵌入接近度分组的Token之间的逐层KV缓存偏移距离。(d) 显示了嵌入距离与KV缓存偏移接近度的Spearman相关性。实验细节见附录6.3.1。

Key缓存偏移的对齐。在相同的上下文变化下,两个Token的Key缓存偏移。以下分析假设此对齐已完成,因此剩余的偏差主要源于Token身份和上下文。

3.2 用于KV重用的Token级Key/Value相似性

动机。KVCOMM依赖于一个经验观察:只要模型参数共享,每个Token的KV向量在不同的对话上下文中保持非常相似。直观地说,每个Transformer块中的残差路径保留了输入表示的一份副本,并加上了注意力(Attn)和前馈(FFN)的优化:

$$\mathbf{h}_{n}^{l+1}=\mathbf{h}_{n}^{l}+\mathrm{FFN}^{l}(\mathbf{h}_{n}^{l}+\mathrm{Attn}^{l}(\mathbf{h}^{l})_{n}),$$

其中$FFN^l$和$Attn^l$指的是第l层的FFN和Attn模块。因此,由原始嵌入$h_n^1$携带的身份信息从未被覆盖,而是在各层累积,从而抑制了投影出的Key/Value的变化。下面我们精确地阐述这一见解,并量化两个不同的Token在具有相同前缀时的差异程度。

命题1 (不同Token之间的KV距离)。令$k_n^l$和$\tilde{k}_n^l$是两个不同Token在第l层位置n处的Key向量,它们的前缀是相同的Token序列。假设$Attn^l$是$\alpha^l$-Lipschitz连续的,$FFN^l$是$\beta^l$-Lipschitz连续的【索引20,The lipschitz constant of self-attention,2021,ICML】。定义$\sigma^l \triangleq \beta^l(1 + n\alpha^l)$。那么

$$\left\|\mathbf{k}_{n}^{l}-\tilde{\mathbf{k}}_{n}^{l}\right\| \leq C_{R} C_{K}^{l} \prod_{j=1}^{l-1}\left(1+\sigma^{j}\right) \delta_{n}, \quad \delta_{n}=\max _{k \leq n}\left\|\mathbf{h}_{k}^{1}-\tilde{\mathbf{h}}_{k}^{1}\right\|,$$

其中$C_R > 0$与RoPE相关,$C_K^l > 0$与第l层投影Key矩阵$W_K^l$相关。同样,该不等式也适用于这两个Token的Value缓存。

证明推迟到附录6.2.2。可以观察到,公式(3)将KV距离的界限定为嵌入差距在各层间的缩放,因此在嵌入空间中起始距离更近的Token具有更紧的界限和更大的缓存重用潜力。图4a和4b通过经验证明了这一观点,其中“近”Token对的KV缓存始终比其他两组更接近,并且KV缓存的接近度与Token嵌入距离高度相关。

不同前缀下的偏差接近度。我们现在在多智能体设置中检验这种关系,其中两个相似的Token面临不同的前缀。命题2(不同前缀下的偏差接近度)。令$k_{n_a}^l$和$\tilde{k}_{n_a}^l$是两个不同Token在第l层位置$n_a$处的Key向量,它们的前缀是提示$p_a$。类似地,$\bar{k}_{n_b}^l$和$\tilde{\bar{k}}_{n_b}^l$分别表示每个Token在第l层处的Key缓存偏差,由$\Delta^l = \bar{k}_{n_b}^l - k_{n_a}^l$和$\tilde{\Delta}^l = \tilde{\bar{k}}_{n_b}^l - \tilde{k}_{n_a}^l$定义。在与命题1相同的Lipschitz假设下,并经过位置对齐后,

$$\|\Delta^l - \tilde{\Delta}^l\| \leq 2 \, C_R C_K^l \textstyle \prod_{j=1}^{l-1} (1 + \sigma^j) \delta_{n_a}, \qquad \delta_{n_a} = \max_{k \leq n_a} \|\mathbf{h}_k^1 - \tilde{\mathbf{h}}_k^1\|.$$

同样,该不等式也适用于这两个Token的Value缓存。

证明在附录6.2.2中。公式(4)表明,更紧密的嵌入差距同样会产生更小的偏差界限,支持了跨上下文偏移的重用。图4c和4d在与图4a相同的设置下验证了这一点,其中每个Token在两个不同的前缀下进行评估,结果显示“近”Token对的KV缓存偏移也始终比其他两组更接近,并且KV缓存偏移的接近度也与Token嵌入距离高度相关。

结论。以上命题启发了一种基于锚点的KV共享方案,该方案存储代表性的偏移量作为可重用的锚点,用于未来的智能体交互,以减少所有智能体的冗余预填充延迟。

A2 方法细节

3.3 基于锚点的KV缓存通信

框架概述。我们现在介绍我们基于锚点的通信框架,以统一多智能体系统中的KV缓存共享机制。在设置阶段,每个智能体从其特定角色的提示中提取占位符信息到一个结构化字典中,标明Token位置。占位符的命名约定详见附录6.2.3。每个占位符在接收到第一个样本时初始化一个独立的锚点池。


图 3:KVCOMM框架在三智能体场景中的概览。最初,每个智能体预计算并存储其提示模板中前缀段的KV缓存以备将来重用。在运行时,收到新请求后,智能体会检查占位符的可共享性并查询匹配的锚点。匹配的锚点通过基于嵌入的插值,帮助近似占位符和后续前缀的KV缓存偏移。匹配标准考虑了长度兼容性和嵌入接近度。更新后的KV缓存被拼接起来用于高效解码。解码后,KV缓存通信模块根据已建立的匹配规则评估新生成的缓存是否可以与其他智能体共享。

运行时流程。在运行时,后续的输入样本会触发跨智能体占位符的重用检查。如果满足重用条件,智能体直接从相应的锚点池中重用KV缓存,通过跳过冗余的预填充来显著加快推理速度。否则,智能体将退回到标准的预填充方式,并用新计算的KV缓存更新锚点池,以丰富未来的重用机会。

锚点池设计。锚点池为每个占位符样本存储关键信息:(1)基础KV缓存,独立计算,没有外部上下文;(2)在每个智能体上下文中,基础KV缓存与实际KV缓存之间的偏移量;以及(3)后续相邻前缀段的KV缓存偏移量。因此,一个锚点表示为{ph_name: base KV, agent_id_ph: placeholder offset, agent_id_pf: prefix offset}。相邻前缀的偏移量至关重要,因为占位符上下文的变化会引入位置依赖的KV缓存偏移,正如沉没注意力机制(sink attention mechanism)【索引53,Efficient streaming language models with attention sinks,2024,ICLR】所强调的,它着重于局部上下文依赖。

锚点预测。确定新生成的KV缓存(例如响应、用户输入等)是否可以共享或被视为新锚点,需要评估其与现有锚点的基于嵌入的接近度【索引61,Hierarchical graph representation learning with differentiable pooling,2018,NeurIPS】、【索引29,Rethinking pooling in graph neural networks,2020,NeurIPS】、【索引64,Sample-centric feature generation for semi-supervised few-shot learning,2022,IEEE TIP】、【索引59,Once for both: Single stage of importance and sparsity search for vision transformer compression,2024,CVPR】和Token长度的兼容性。预测标准设计如下:

$$\mathcal{P}_{anchor}(\phi) = (\mathcal{L}_\phi > \max_{\psi \in \mathcal{A}} \mathcal{L}_\psi) \cup (\mathcal{H}_{\phi|\mathcal{A}} > \gamma \log |\mathcal{A}_\phi|), \quad \mathcal{H}_{\phi|\mathcal{A}} = \sum_{\psi \in \mathcal{A}_\phi} w_{\phi \to \psi} \log w_{\phi \to \psi}$$

其中$A$是占位符$\phi$所属的锚点池,$\psi$是$A$中的一个锚点,$L_{\star}$表示样本$\star$的序列长度,$H_{\phi|A}$测量了锚点池中较长锚点之间基于嵌入距离的权重的熵,$w_{\phi \to \psi} = \text{softmax}(-|h_\phi - h_\psi|)$,$\psi \in A_\phi$,$|A_\phi|$指的是$|A|$中比$\phi$长的锚点数量,而$\gamma$是一个阈值,用于确定一个可共享样本在嵌入空间中可以离$A$的锚点有多远。直观地说,嵌入空间中更近的锚点能产生更可靠的偏移预测(由命题2和图4c验证),而长度兼容性确保了正确的位置对齐(见图1b)。

锚点更新。当KV缓存共享标准未满足时,新生成的缓存将成为新锚点的基础KV缓存。依赖于这个不可共享占位符的智能体将退回到常规预填充,为占位符及其相邻前缀段提供特定智能体的偏移量,以填充新的锚点条目。由于GPU内存限制,我们实现了一种自适应的锚点修剪策略:一旦锚点池达到预定大小V,最早添加的条目中访问频率最低的锚点将被丢弃,从而维持一个相关且高效的锚点库。

3.4 基于锚点的缓存更新

流程概述。当一个智能体提示中的占位符被预测为可共享时,我们通过锚点匹配和偏移近似来高效地更新它们的KV缓存。

锚点匹配。我们检索在预测过程中识别出的可靠锚点,由于地址独立,可以进行并行读取,与传统预填充相比,其开销可以忽略不计。

偏移近似。利用匹配的锚点,我们在特定智能体的上下文中近似占位符的KV缓存。相邻的前缀段也根据占位符样本的嵌入接近度进行类似更新。形式上,第m个智能体中第i个占位符的KV缓存近似如下:

$$(\hat{\mathbf{k}} / \hat{\mathbf{v}})_{\phi_{(m, i)}}=(\mathbf{k} / \mathbf{v})_{\phi_{(m, i)}}+\sum_{\psi \in \mathcal{A}_{\phi_{(m, i)}}} w_{\phi_{(m, i)} \rightarrow \psi} \cdot \Delta(\mathbf{k} / \mathbf{v})_{(m, \psi)}^{\phi},$$

其中$(\hat{k}/\hat{v}){\phi$的近似K/V缓存。$(k/v)}}$指的是占位符$\phi_{(m,i){\phi$是锚点$\psi$在第m个智能体中占位符$\phi$的缓存偏移。前缀段的更新遵循一个类似的过程:}}$是占位符$\phi_{(m,i)}$的基础K/V缓存。$w_{\phi_{(m,i)} \to \psi}$是$-|h_{\phi_{(m,i)}} - h_\psi|$在锚点维度上的softmax映射。$\Delta(k/v)^{\phi}_{(m,\psi)

$$(\hat{\mathbf{k}} / \hat{\mathbf{v}})_{\mathbf{p}_{(m, i)}}=(\mathbf{k} / \mathbf{v})_{\mathbf{p}_{(m, i)}}+\sum_{\psi \in \mathcal{A}_{\phi(m, i)}} w_{\phi_{(m, i)} \rightarrow \psi} \cdot \Delta(\mathbf{k} / \mathbf{v})_{(m, \psi)}^{\mathbf{p}},$$

其中$(\hat{k}/\hat{v}){p$的近似K/V缓存。$(k/v)}}$指的是前缀段$p_{(m,i){p$是锚点$\psi$在第m个智能体中对应前缀段的缓存偏移。}}$是前缀段$p_{(m,i)}$的基础K/V缓存。$\Delta(k/v)^{p}_{(m,\psi)

最终步骤。近似后,更新的缓存被连接起来并直接送入解码阶段,通过并行处理大大减少了预填充延迟。整体算法在附录6.2.5中列出。

A4 实验环境

  • 多智能体系统:遵循GPTSwarm 【索引69,Gptswarm: Language agents as optimizable graphs,2024,ICML】和AgentPrune 【索引65,Cut the Crap: An Economical Communication Pipeline for LLM-based Multi-agent Systems,2025,ICLR】,构建了一个全连接的多智能体系统,使用了包括少样本提示(few-shot prompting)、思维链(chain-of-thought)等成熟技术。
  • 模型架构

    • 用于检索增强生成(RAG)和数学推理任务:Llama-3.1-8B-Instruct 【索引11,The llama 3 herd of models,2024,arXiv】 (Llama-3.1)。
    • 用于编程任务:Qwen-Coder-2.5-7B-Instruct 【索引16,Qwen2. 5-coder technical report,2024,arXiv】。
    • 智能体数量:评估了从2到5个智能体的场景。
  • 数据集

    • RAG性能评估:MMLU 【索引13,Measuring massive multitask language understanding,2023,ICLR】。
    • 数学推理能力评估:GSM8K 【索引7,Training verifiers to solve math word problems,2021,arXiv】。
    • 编程能力评估:HumanEval 【索引4,Evaluating large language models trained on code,2021,arXiv】。
  • 硬件配置

    • GPU:单块NVIDIA H100 GPU。
  • 软件配置与实现细节

    • 框架:使用HuggingFace框架部署开源模型。
    • 比较基线:

      • Original:无缓存重用。
      • CacheBlend 【索引58,Cacheblend: Fast large language model serving for rag with cached knowledge fusion,2025,EuroSys】:选择性重计算敏感Token的缓存以实现部分重用。本文忠实复现了其策略,即持续重计算KV偏差最大的前20%的Token。
    • 超参数:最大生成长度统一设置为512个Token,熵阈值$\gamma = 0.3$,锚点池大小$V = 20$。

A4 实验结果

主要性能对比

性能概述(表1):KVCOMM与原始方法(无缓存重用)和CacheBlend策略在不同智能体数量配置下进行了比较。尽管智能体提示最初是为闭源模型优化的,导致在开源模型上部署时性能有所下降,但KVCOMM仍然能够维持或改善基线准确率。

  • MMLU(RAG任务):KVCOMM取得了有竞争力的准确率(64.7%–69.9%),持续优于或持平于CacheBlend,并紧跟原始基线。这表明KVCOMM实现了鲁棒的跨上下文KV缓存对齐。相比之下,CacheBlend的性能随着智能体数量的增加而显著波动。
  • GSM8K(数学推理):KVCOMM的准确率保持稳定,从两个智能体增加到五个时仅下降了1.9%(从81.5%到79.6%),始终保持在原始基线±2%的范围内。而CacheBlend的准确率从82.0%急剧下降到57.1%,凸显了在数值任务中精确KV缓存重用的必要性。
  • HumanEval(编程任务):KVCOMM的Pass@1分数稳定(81.4%–83.2%),平均比CacheBlend高出53%。这强调了KVCOMM能够保留对编程任务至关重要的依赖关系。CacheBlend在HumanEval上的严重性能下降归因于生成过程中涉及的多样化语法分隔符(如.、;、!),这些分隔符导致了多样且对前缀敏感的KV缓存分布。
  • 重用率:与CacheBlend固定的80%重用策略不同,KVCOMM自适应地决定KV缓存的重用,始终实现了高重用率(70%–87.6%)。虽然随着智能体数量增加,由于上下文更加多样化,重用率自然下降,但KVCOMM仍然有效地识别出可共享的缓存。

Table 1: 三种缓存管理策略在不同协作智能体数量下的性能。准确率报告于MMLU和GSM8K(Llama-3.1-8B-Instruct);Pass@1报告于HumanEval(Qwen-2.5-coder-7B)。越高越好。此外,报告了KVCOMM和CacheBlend的重用率。注意,CacheBlend的重用率定义为在整个Token序列中重用KV缓存的Token比例,而KVCOMM的重用率定义为在整个服务过程中使用KV缓存的智能体频率。

TTFT加速效果

单智能体TTFT分析(表2):在五智能体设置下,每个智能体接收1K用户输入Token,带有512个前缀Token,并与后续智能体共享512个响应Token。第一个智能体由于没有上游缓存可利用,加速效果有限(1.11×)。但后续智能体通过KVCOMM将预填充时间大幅减少到26.9–38.6 ms,其中第5个智能体实现了高达7.82×的加速。

上下文长度扩展性(表3):在三智能体协作场景中,通过改变前缀长度(64–1K Token)和输出长度(128–1K Token)来检验扩展性。KVCOMM在最短设置下实现了2.24×的最小平均加速,在最长设置下有效扩展到6.72×,验证了该方法随着上下文长度和复杂度的增加,效率增益也随之提升。

Table 2: 各智能体TTFT分解及加速比。(每个智能体前缀Token长度:512;输出Token长度:512;模型:Llama-3.1;智能体数量=5)

Table 3: 使用Llama-3.1的平均TTFT加速比。(智能体数量=3)

讨论与消融研究

对请求顺序的鲁棒性(表4):在MMLU上测试了两种随机顺序、升序和降序。结果证实,KVCOMM在不同排序策略下表现稳健,准确率与基线一致或略有提高,表明其对请求序列的变化不敏感。

Table 4: 对不同请求顺序鲁棒性的研究。报告准确率。(智能体数量=4,基线准确率=68.0%;模型:Llama-3.1)

各对齐步骤的贡献(表5):在四智能体MMLU设置下对三个对齐组件进行消融实验:(1)通过Key旋转进行位置对齐,(2)占位符KV缓存偏移,(3)前缀段KV缓存偏移。结果显示,每个对齐步骤都至关重要;省略任何一个都会严重降低准确率。尽管仅结合Key旋转和前缀偏移能达到62.1%的准确率,但每个智能体的响应与原始响应相比连贯性明显较差。因此,完整的对齐对于鲁棒的跨上下文性能至关重要。

Table 5: 在四智能体设置下对MMLU的消融研究。(模型:Llama-3.1)

对超参数的敏感性(表6):在四智能体GSM8K设置下,探索了KVCOMM对熵阈值$\gamma$和锚点池大小$V$的敏感性。当重用策略保守时($\gamma=0.1$),准确率略有提高(1%),而适度放宽($\gamma=0.3$)则能在极小的准确率代价下(3.3%)显著提升重用率(高达98.2%)。对于$V$,性能随着存储锚点数量的增加相对稳定,重用率最终稳定在73.4%,表明$V=20$能有效地平衡效率和任务性能。

Table 6: 在四智能体设置下使用Llama-3.1对GSM8K的超参数分析。

A5 结论

本文探讨了在协作式基于LLM的多智能体系统中通过KV缓存共享实现高效通信的问题,并引入了KVCOMM,一个即插即用的框架,通过共享KV缓存重用和上下文感知的缓存偏移来实现高效的智能体通信。此外,我们分析了不同前缀上下文下的KV缓存偏差,并提出了一个基于锚点的偏移估计器,以有效对齐和重用共享上下文的KV缓存。在检索增强生成(RAG)、数学推理和编程相关的多智能体系统上进行的大量实验表明,我们的方法在预填充效率和系统准确性之间提供了一个有效的权衡,并随着智能体数量的增加持续降低平均延迟。具体来说,KVCOMM在三智能体设置的单个H100 GPU上可实现约6.7倍的平均预填充加速,显著提高了协作式多智能体语言模型的部署效率。

A6 附录

6.1 局限性与更广泛的影响

局限性。目前,KVCOMM是在处理文本输入的基于LLM的多智能体系统上进行评估的。多智能体系统的长远愿景是在任何模态输入(如图像、视频或音频)上实现无损加速。此外,尽管KVCOMM可以加速每个智能体的预填充过程,但作为智能体间高效协作的另一个瓶颈——解码延迟,无法被KVCOMM加速,这将是未来共同优化这两个阶段的工作。

适用范围。如3.1节所述,KVCOMM直接适用于同构智能体组。对于架构相同但权重不同的智能体,KVCOMM有潜力但尚待进一步探索。原则上,只要上下文变化模式重复出现,并且共享文本分割可行(类似于vLLM中的自动前缀缓存技术),KVCOMM就可以应用。尽管目前KVCOMM不涵盖完全动态、非结构化的情况,我们认识到这是一个有意义的方向,并将在未来的工作中将KVCOMM扩展到更动态的智能体和辩论式基准测试中。对于具有不同注意力公式的异构多智能体系统【索引25,Deepseek-v2: A strong, economical, and efficient mixture-of-experts language model,2024,arXiv】、【索引8,Softact: A highprecision softmax architecture for transformers supporting nonlinear functions,2024,IEEE TCASVT】,如何使用KV缓存通信来提高效率仍有待探索。

6.2 方法解释

6.2.1 术语表

  • 基础KV缓存 (Base KV-cache):前缀/占位符在其初始上下文下或无外部输入时的KV缓存;作为偏移量的参考。
  • KV缓存偏移/偏差 (KV-cache offset / deviation):共享文本在新前缀下的KV缓存与其基础KV缓存之间的差异(Key在计算偏移前需要基于RoPE进行对齐)。
  • 占位符/前缀偏移 (Placeholder / Prefix offset):占位符段(外部输入)及其相邻前缀段(预定义上下文)相对于其基础KV缓存的偏移量。
  • 偏移可变性问题 (Offset variance problem):相同文本的KV缓存偏移在不同上下文中可能存在显著差异,因此静态重用是不可靠的。
  • 位置对齐/Key去旋转 (Positional alignment / Key de-rotation):在计算偏移前,使用RoPE进行去旋转/重旋转以对齐Key。
  • 可共享性 (Shareability):一个请求是否可以在锚点标准下跳过预填充;如果不能,则使用密集预填充。
  • 共享内存/KV缓存 (Shared memory / KV-cache):在智能体之间保存基础KV缓存的共享存储。
  • 密集预填充/生成 (Dense prefilling / generation):当无法重用时使用的完整计算路径(预填充+解码)。
  • 锚点(池) (Anchor (pool)):一小组代表性样本,每个样本存储占位符和前缀偏移,用于为新上下文插值计算偏移。

6.2.2 命题1和2的理论证明

证明准备。在整个证明过程中,我们重用公式(2)中定义的逐层更新:

$$\mathbf{h}_{n}^{l+1}=\mathbf{h}_{n}^{l}+\mathrm{FFN}^{l}(\mathbf{h}_{n}^{l}+\operatorname{Attn}^{l}(\mathbf{h}^{l})_{n}).$$

我们引入注意力和FFN模块的Lipschitz条件【索引20,The lipschitz constant of self-attention,2021,ICML】、【索引43,Coreinfer: Accelerating large language model inference with semantics-inspired adaptive sparse activation,2024,arXiv】、【索引44,Corematching: A co-adaptive sparse inference framework with token and neuron pruning for comprehensive acceleration of vision-language models,2025,arXiv】、【索引41,Angles don’t lie: Unlocking training-efficient rl through the model’s own signals,2025,arXiv】:

$$\left\|\operatorname{Attn}^{l}\left(\mathbf{h}^{l}\right)_{n}-\operatorname{Attn}^{l}\left(\tilde{\mathbf{h}}^{l}\right)_{n}\right\| \leq \alpha^{l} \sum_{i=1}^{n}\left\|\mathbf{h}_{i}^{l}-\tilde{\mathbf{h}}_{i}^{l}\right\|,$$ $$\| \mathrm{FFN}^l (\mathbf{h}_j^l) - \mathrm{FFN}^l (\tilde{\mathbf{h}}_j^l) \| \leq \beta^l \| \mathbf{h}_j^l - \tilde{\mathbf{h}}_j^l \|.$$

命题1的证明。定义第l层两个隐藏状态$h^l, \tilde{h}^l$之间的最大差异:

$$\Delta^l = \max_{k \leq n} \| \mathbf{h}_k^l - \tilde{\mathbf{h}}_k^l \|, \quad \text{with } \Delta^1 = \delta_n.$$

将两个公式(A.1)的实例相减并应用公式(A.2)可得:

$$\|\mathbf{h}_{n}^{l+1}-\tilde{\mathbf{h}}_{n}^{l+1}\| \leq\|\mathbf{h}_{n}^{l}-\tilde{\mathbf{h}}_{n}^{l}\|+\beta^{l}\left(\|\mathbf{h}_{n}^{l}-\tilde{\mathbf{h}}_{n}^{l}\|+\|\operatorname{Attn}^{l}(\mathbf{h}^{l})_{n}-\operatorname{Attn}^{l}(\tilde{\mathbf{h}}^{l})_{n}\|\right)$$ $$\begin{aligned} \begin{aligned} & \leq (1+\beta^l) \Delta^l+\beta^l \alpha^l \sum_{i=1}^n\left\|\mathbf{h}_i^l-\tilde{\mathbf{h}}_i^l\right\| \\ & \leq (1+\beta^l+n \beta^l \alpha^l) \Delta^l . \end{aligned} \end{aligned}$$

因此,我们推导出:

$$\Delta^{l+1} \le (1 + \sigma^l) \Delta^l, \quad \text{where } \sigma^l = (1 + n) \beta^l \alpha^l.$$

将此递归从第1层展开到第l层,我们得到:

$$\Delta^l \leq \delta_n \prod_{j=1}^{l-1} (1 + \sigma^j).$$

通过线性映射$W_K^l$和RoPE投影到Key空间,其谱范数分别由常数$C_K^l$和$C_R$界定,我们有:

$$\|\mathbf{k}_{n}^{l}-\tilde{\mathbf{k}}_{n}^{l}\| \leq C_{R} C_{K}^{l} \delta_{n} \prod_{j=1}^{l-1}(1+\sigma^{j}),$$

这完成了命题1的证明。由于推理过程类似,Value向量的界限除了没有RoPE投影外是相似的。

命题2的证明。让两个不同的提示$p_a$和$p_b$作为Token u和v的前缀。当以$p_a$为前缀时,它们在位置$n_a$的Key向量分别表示为$k_{n_a}^l, \tilde{k}{n_a}^l$;当以$p_b$为前缀时,在位置$n_b$的Key向量分别表示为$\bar{k}^l$。定义两个Key向量的偏差如下:}^l, \tilde{\bar{k}}_{n_b

$$\Delta^{l}=\bar{\mathbf{k}}_{n_{b}}^{l}-\mathbf{k}_{n_{a}}^{l}, \quad \tilde{\Delta}^{l}=\tilde{\bar{\mathbf{k}}}_{n_{b}}^{l}-\tilde{\mathbf{k}}_{n_{a}}^{l}$$

那么我们有:

$$\begin{aligned} \begin{aligned} \|\Delta^l - \tilde{\Delta}^l\| &= \|\bar{\mathbf{k}}_{n_b}^l - \mathbf{k}_{n_a}^l - (\bar{\tilde{\mathbf{k}}}_{n_b}^l - \tilde{\mathbf{k}}_{n_a}^l)\| \\ &\le \|\mathbf{k}_{n_a}^l - \tilde{\mathbf{k}}_{n_a}^l\| + \|\bar{\mathbf{k}}_{n_b}^l - \bar{\tilde{\mathbf{k}}}_{n_b}^l\| \end{aligned} \end{aligned}$$

对每一项应用命题1,我们有:

$$\|\mathbf{k}_{n_a}^l - \tilde{\mathbf{k}}_{n_a}^l\| \le C_R C_K^l \delta_{n_a} \prod_{j=1}^{l-1} (1 + \sigma^j),$$ $$\|\bar{\mathbf{k}}_{n_{b}}^{l}-\tilde{\bar{\mathbf{k}}}_{n_{b}}^{l}\| \leq C_{R} C_{K}^{l} \delta_{n_{b}} \prod_{j=1}^{l-1}(1+\sigma^{j}),$$

其中$\delta_{n_a} = \max_{k \le n_a} |h_k^1 - \tilde{h}k^1|, \delta} = \max_{k \le n_b} |\bar{hk^1 - \tilde{\bar{h}}_k^1|$。因为对于$k \le n_a - 1$有$h_k^1 = \tilde{h}_k^1$(相同的前缀$p_a$),对于$k \le n_b - 1$有$\bar{h}_k^1 = \tilde{\bar{h}}_k^1$(相同的前缀$p_b$),且$h}^1 = \bar{h{n_b}^1$(相同的Token u),$\tilde{h}}^1 = \tilde{\bar{h}{n_b}^1$(相同的Token v),所以我们有$\delta^1|$。因此,我们得出结论:} = \delta_{n_b} = |h_{n_a}^1 - \tilde{h}_{n_a

$$\|\Delta^{l}-\tilde{\Delta}^{l}\| \leq 2 C_{R} C_{K}^{l} \delta_{n_{a}} \prod_{j=1}^{l-1}(1+\sigma^{j}),$$

这完成了命题2的证明。Value向量的界限证明类似,只是没有RoPE投影。

6.2.3 占位符命名规则

命名分类。在多智能体系统中,每个智能体提示模板中的占位符可分为三类:用户输入、工具执行结果和其他智能体的响应【索引48,Autogen: Enabling next-gen llm applications via multi-agent conversations,2024,CoLM】、【索引69,Gptswarm: Language agents as optimizable graphs,2024,ICML】、【索引65,Cut the Crap: An Economical Communication Pipeline for LLM-based Multi-agent Systems,2025,ICLR】。因此,我们根据其类别设计提示模板中每个占位符的名称。

命名规则示例。假设一个智能体被分配了唯一的智能体ID为xxx,并且它后续连接到另外两个智能体,其ID分别为yyyzzz,那么在智能体xxx的提示模板中占位符的命名规则定义如下:
- 用户输入: {user_question}
- 当前轮次的工具执行结果: {condition_xxx_current}
- 前第t轮的工具执行结果: {condition_xxx_history_t}
- 来自智能体yyy的当前轮次响应: {agent_yyy_current}
- 来自智能体zzz的当前轮次响应: {agent_zzz_current}
- 来自其自身的前第t轮响应: {agent_xxx_history_t}
- 来自智能体yyy的前第t轮响应: {agent_yyy_history_t}
- 来自智能体zzz的前第t轮响应: {agent_zzz_history_t}
基于以上规则,可以方便地在每个智能体的初始提示模板中插入潜在的占位符,并统一所有智能体占位符在共享锚点池中的寻址规则。

6.2.4 KV缓存管理策略

管理策略。关于KVCOMM中的缓存管理策略,我们设计了两个三级缓存管理器,分别用于高效地写入和检索锚点的KV缓存以及当前共享的KV缓存。如表A.1所示,基于这两个缓存管理器,每个智能体可以快速检索其目标KV缓存,并存储其生成的KV缓存。同时,我们异步执行KV缓存的存储和检索过程,从而进一步提高效率。

Table A.1: 锚点池和当前请求的KV缓存在智能体间共享的KV缓存管理策略。

6.2.5 KVCOMM算法

算法流程。KVCOMM的具体细节如算法1所示。

输入: 包含占位符 {$\phi_{(m,i)}$} 的智能体集 M;锚点池容量 V;熵阈值 $\gamma$。
输出: 所有智能体的高效更新的KV缓存和所有智能体的响应。
1. 从提示中提取占位符 {$\phi_{(m,i)}$}。
2. 为每个占位符 $\phi_{(m,i)}$ 初始化锚点池 $A_{\phi_{(m,i)}}$(如果不存在)。
3. 循环处理新输入样本
4. 对每个智能体 $m \in M$:
5. 如果共享内存中缺少任何占位符样本的基础KV缓存,则计算并存储它们。
6. 如果模板中的所有占位符根据公式(5)被预测为可共享
7. 重用占位符KV缓存:
8. 异步对每个占位符 $\phi_{(m,i)}$ 执行
9. 进行锚点匹配和偏移近似。
10. 根据公式(6)近似KV缓存。
11. 类似地,根据公式(7)更新相邻的前缀段。
12. 拼接所有更新的 {(k̂/v̂)} 缓存。
13. 基于拼接的KV缓存进行解码,得到响应和响应的KV缓存。
14. 如果响应的KV缓存根据公式(5)可重用
15. 将响应KV缓存存储在共享内存中供其他智能体参考。
16. 否则
17. 将响应KV缓存作为新锚点的基础KV缓存存储在响应占位符的锚点池中。
18. 否则
19. 添加一个新锚点:
20. 通过密集生成获取所有占位符的真实KV缓存。
21. 异步对每个占位符 $\phi_{(m,i)}$ 执行
22. 从共享内存中检索基础KV缓存。
23. 计算真实KV缓存与基础KV缓存之间的偏移 $\Delta(k/v)$。
24. 将新锚点信息添加到 $A_{\phi_{(m,i)}}$。
25. 如果 $A_{\phi_{(m,i)}}$ 的大小超过 V,则修剪最早添加的锚点中访问频率最低的一个。

6.3 更多实验细节

6.3.1 KV缓存接近度和偏移接近度的统计分析

实验设置。在图4中,我们旨在评估KV缓存接近度与Token嵌入接近度之间的相关性,以及KV缓存偏移接近度与Token嵌入接近度之间的相关性。此评估对于验证我们方法通过嵌入最接近的锚点准确近似Token的KV缓存偏移的有效性至关重要。对于图4a和4b,我们随机抽样4000个不同的词汇表Token,然后选择300个在嵌入空间中最接近的Token对,形成三个大小相等的距离箱(“近”、“中”和“远”)。对于所有Token对,我们用相同的前缀上下文作为前缀,测试它们之间的K/V距离,并计算Token距离与其K/V距离之间的Spearman相关系数[36]。对于图4c和4d,我们采用相同的设置,进一步为每个Token加上两个不同的前缀,并测试不同Token之间的缓存偏差距离。

6.3.2 三个基准测试的提示设计

我们展示了实验中部署的每个智能体的详细提示模板,这些模板遵循了GPTSwarm 【索引69,Gptswarm: Language agents as optimizable graphs,2024,ICML】和AgentPrune 【索引65,Cut the Crap: An Economical Communication Pipeline for LLM-based Multi-agent Systems,2025,ICLR】的设计。

MMLU角色循环
- 知识渊博的专家
- 维基搜索者
- 批评家
- 数学家
- 最终决策者

GSM8K角色循环
- 数学求解器
- 数学分析师
- 编程专家
- 检查员
- 最终决策者

HumanEval角色循环
- 项目经理
- 算法设计师
- 编程专家
- 测试分析师
- 最终决策者

由于篇幅限制,此处省略了详细的提示模板内容,这些内容在原文中占据了大量篇幅,详细描述了每个角色的系统提示、任务描述以及如何利用其他智能体的输出(通过占位符如{agent_1_current})。

6.4 更多实验分析

6.4.1 在更难的推理基准上的评估

实验设置与结果。我们进一步在MATH500 【索引14,Measuring mathematical problem solving with the math dataset,2021,NeurIPS Datasets and Benchmarks】和AIME 【索引6,Aime-22-25,2025,Hugging Face Dataset】基准上提供了评估结果,以检验KVCOMM在更难的推理任务下的有效性。对于MATH500,我们测试了Llama-3.1-8B-instruct和Deepseek-R1-Distill-Qwen-7B。如表A.2所示,KVCOMM的性能优于或与密集计算相当。

分析。与GSM8K等相对简单的数学推理任务相比,随着智能体数量的增加,重用率确实下降得更快。然而,KVCOMM的准确率保持竞争力,甚至超过了基线,表明参考锚点信息能持续提供帮助。Deepseek-Qwen的结果揭示了一个重要见解:KVCOMM在面向推理的模型上实现了更高的重用率和更高的准确率。在更具挑战性的AIME基准上,KVCOMM仍能保持与密集预填充相当的准确率,同时重用率保持在70%以上。此处的准确率下降主要是由于解码期间的Token长度限制:因为KVCOMM以额外的内存为代价加速预填充,每个智能体的有效解码长度减少了。

Table A.2: 在MATH500和AIME上,不同协作智能体数量下的性能。准确率和重用率越高越好。

6.4.2 对匹配标准的分析

实验设置与结果。在本节中,我们进一步检验了我们提出的锚点匹配标准的有效性,评估了基于ℓ2范数的匹配标准。表A.3比较了在四智能体场景的MMLU基准上,用于锚点预测和占位符样本近似的两种不同匹配标准。认识到长度匹配是占位符样本内有效Token级近似的基本要求,我们明确评估了互补的基于距离的匹配标准$H_{\phi|A}$的贡献。

分析。观察到,省略基于距离的标准可以提高锚点重用率;然而,这伴随着显著的性能下降,表明仅长度匹配不足以实现最佳的锚点利用。相反,整合嵌入距离标准实现了有利的平衡,保持高性能的同时提供了有效的锚点重用。这些结果突出了一个全面的匹配标准的必要性,该标准结合了结构对齐(长度匹配)和语义相似性(嵌入距离标准),以确保KVCOMM的效率和任务准确性。

Table A.3: 在四智能体设置下对MMLU的匹配标准消融研究。(模型:Llama-3.1)

6.4.3 对近似方法的分析

实验设置与结果。我们进一步研究了在四智能体设置下HumanEval上不同KV缓存偏移近似方法的有效性(表A.4)。引入了两种比较方法:一种是基于ℓ2范数使用最近锚点的KV缓存偏移,另一种是采用余弦相似度和基于softmax的锚点加权。

分析。结果表明,基于余弦相似度的方法实现了与我们基于ℓ2范数的方法相当的性能,且重用率略高。然而,最近重用方法由于样本与最近锚点之间的距离引入的误差,导致性能显著恶化。因此,对锚点进行软聚合被证明是一种有效的近似方法。

Table A.4: 在四智能体设置下,HumanEval上不同KV缓存偏移近似方法的性能。(模型:Qwen-Coder-2.5-7B,基线准确率:84.45%)

6.4.4 长上下文锚点匹配开销分析

开销分析。在KVCOMM中,softmax操作是在占位符样本与每个锚点之间的负ℓ2范数距离上沿锚点数量维度进行的,这将Key/Value张量缩减为形状[m, 1, 1, seq_len, 1](m:锚点数量,seq_len:序列长度)。因此,softmax的延迟随这两个参数扩展。我们在表A.5中量化了其延迟开销。此处每个KV缓存张量的形状为[32, 8, seq_len, 128]。我们可以观察到,延迟保持在合理范围内(25个锚点和每个锚点4096个Token时约18毫秒)。

实际场景开销。这些结果来自没有竞争系统工作负载的模拟。在真实的多智能体长上下文场景中,延迟还包括将KV缓存卸载到CPU。例如,如表A.6所示(在MMLU基准上使用Llama-3.1-8B-instruct),当所有锚点都卸载到CPU时,平均softmax延迟为100+毫秒,而对于4K-Token上下文,每个智能体的总卸载时间可达1260+毫秒。这表明主要开销来自于长上下文KV的softmax操作中的数据移动。这种通信开销可以通过系统性优化(例如,流水线)来缓解,这与KVCOMM机制是正交的。

Table A.5: 不同锚点数量和序列长度下模拟的softmax延迟(毫秒)。

Table A.6: 在MMLU基准上使用Llama-3.1-8B-instruct进行4K-tokens锚点匹配的延迟和内存成本。

6.4.5 KVCOMM内存成本分析

内存开销分析。我们还报告了在不同智能体配置下,改变输入长度(前缀)、输出长度(响应)和每个占位符的锚点数量时的内存开销。如图A.1所示(三智能体设置),内存成本随着IN/OUT序列变长和锚点数量增多而增加,反映了存储锚点特定KV缓存偏差所需的空间。

优化潜力。根据经验,我们观察到这些偏差张量在锚点间相当稀疏,平均约50%的元素的绝对值小于10⁻¹。这表明在无损压缩锚点方面有相当大的空间,这将是未来支持更长上下文而不牺牲预填充加速的工作之一。


图 A.1:不同锚点数量下,IN/OUT的内存成本(GB)。

6.4.6 不同对齐策略生成响应的可视化

响应质量对比。我们进一步可视化了使用不同缓存对齐策略时每个智能体的详细响应。如图A.2所示,可以观察到,尽管中间设置(Key旋转 + 前缀KV偏移)最终输出了正确的选项“C”,但其推理链明显退化:智能体省略了对“十诫”的正式定义,重复了知识专家智能体的关键词,并对不存在的智能体进行分析,导致话语在逻辑上支离破碎。

结论。这种“因错误原因得出正确答案”的现象强调,仅两级对齐仍会破坏证据、推理和结论之间的因果依赖;因此,结合所有三种对齐过程对于实现与原始响应相媲美的连贯解释路径至关重要。


图 A.2:不同对齐组合的生成结果比较。左:无缓存重用时各智能体的原始响应。中:通过缓存重用生成的响应,关联了对齐Key缓存的位置编码和偏移前缀段的缓存。右:结合所有三种对齐过程生成的响应。

6.4.7 锚点分布的可视化

锚点分布特征。如图A.3所示,我们可视化了在GSM8K数据集上评估的四智能体系统中的锚点分布。图A.3a显示,在对话占位符(用户问题和三个智能体响应占位符)中,锚点的Token长度与其激活频率之间存在明显的正相关关系。值得注意的是,condition_3_current锚点(即生成的Python代码的执行结果)呈现出独特的双峰分布:一组极短但被大量重用(少于10个Token,激活超过1000次),另一组则跨越较长长度但激活相对稀疏。

长尾分布。图A.3b和A.3c进一步强调了这种长尾现象,表明大多数锚点的激活次数在100以下,Token长度短于200。这种偏斜的分布证明了我们的缓存管理策略的合理性,即优先为高频锚点分配内存,并动态修剪不常重用的锚点。


图 A.3:GSM8K上一个四智能体系统中的锚点分布,每个智能体在单次对话轮次内与其前辈完全连接。(a) 推理过程中,各占位符的锚点激活次数与Token长度之间的关系。(b) 所有占位符的锚点激活次数直方图。(c) 所有占位符的锚点Token长度直方图。

6.4.8 前缀和占位符偏移分布差异的可视化

差异对比。为阐明前缀和占位符偏移之间的差异,我们从三个方面进行描述,如表A.7所示。

Table A.7: 占位符偏移和前缀偏移之间的差异。

可视化分析。我们进一步可视化了这两种类型偏移的分布,实验在MMLU数据集上的一个全连接四智能体设置中进行。我们测试了十个不同样本的偏移方差,并呈现在图A.4至A.11中。可以观察到,虽然前缀KV的偏移通常大于占位符的偏移,但其方差相对小于占位符KV,尤其是在深层(例如图A.5)。原因是:在预计算前缀KV缓存期间,后续的前缀段主要与第一个前缀段相关,通常包含系统提示;因此,它们的基础KV缓存相对稳定。


图 A.4:在MMLU数据集的十个样本上,四智能体设置中第一个智能体的占位符和前缀段的Key缓存偏移分布。


图 A.5:在MMLU数据集的十个样本上,四智能体设置中第一个智能体的占位符和前缀段的Value缓存偏移分布。


图 A.6:在MMLU数据集的十个样本上,四智能体设置中第二个智能体的占位符和前缀段的Key缓存偏移分布。


图 A.7:在MMLU数据集的十个样本上,四智能体设置中第二个智能体的占位符和前缀段的Value缓存偏移分布。


图 A.8:在MMLU数据集的十个样本上,四智能体设置中第三个智能体的占位符和前缀段的Key缓存偏移分布。


图 A.9:在MMLU数据集的十个样本上,四智能体设置中第三个智能体的占位符和前缀段的Value缓存偏移分布。


图 A.10:在MMLU数据集的十个样本上,四智能体设置中第四个智能体的占位符和前缀段的Key缓存偏移分布。


图 A.11:在MMLU数据集的十个样本上,四智能体设置中第四个智能体的占位符和前缀段的Value缓存偏移分布。

6.4.9 近似偏移与真实偏移之间距离的可视化

近似策略对比。图A.12进一步比较了在HumanEval上使用Qwen-Coder-2.5-7B的四智能体场景中的各种近似策略,重点关注近似KV缓存与真实KV缓存之间的相似性和误差。

结果分析。总的来说,我们提出的基于ℓ2范数(L2NORM)的近似方法表现出持续的高余弦相似度(Key约0.92,Value约0.95),与基于余弦的方法相当,同时在所有层中保持最小的偏移误差。与“最近重用”(nearest-reusing)等简单方法不同——后者在深层遭受显著偏差(25层后平均偏移误差超过0.003)——我们的方法稳健地利用多个相似锚点的加权聚合来有效估计目标KV缓存。此外,“普通重用”(plain reuse)基线表现出严重的相似度下降(低于0.8余弦相似度)和显著升高的偏移误差(高于0.004),证实了我们细粒度锚点对齐策略的关键重要性,尤其是在不匹配误差容易累积的深层Transformer层中。


图 A.12:在四智能体设置下,HumanEval上Qwen-Coder-2.5-7B各层中,近似KV缓存与真实KV缓存的相似度和偏移误差分析。(a) 近似与真实Key缓存之间的余弦相似度分布。(b) 近似与真实Value缓存之间的余弦相似度分布。(c) 近似与真实Key缓存之间的平均ℓ2范数误差分布。(d) 近似与真实Value缓存之间的平均ℓ2范数误差分布。标签“COSINE-A0”到“COSINE-A3”表示基于余弦相似度的近似;“L2NORM-A0”到“L2NORM-A3”表示我们基于ℓ2范数的近似;“NEAREST-A0”到“NEAREST-A3”表示最近锚点采样近似;“PLAIN-A0”到“PLAIN-A3”表示未对齐的基线重用。