语义缓存蒸馏:通过重用与选择性修补实现高效状态转移

arXiv cs.LG 论文

摘要

本文提出语义缓存蒸馏(SCD),一种带损失约束的框架,用紧凑的语义码替换原始KV缓存传输,在保持生成质量在oracle的5% F1内的同时,实现高达2.65倍的TTFT加速。

arXiv:2606.07684v1 公告类型:新论文 摘要:解耦式服务缓解了大语言模型(LLM)推理中的内存瓶颈,但造成了严重的通信瓶颈:传输高维键值(KV)缓存通常主导了首个令牌生成时间(TTFT)。此外,跨异构模型(例如基础模型和微调变体)重用缓存会导致语义错位,且随层数累积,降低生成质量。我们提出语义缓存蒸馏(SCD),一种带损失约束的框架,用紧凑的语义码替换原始KV传输。SCD通过两种机制解决这些挑战:(1)重用,从低秩子空间重建大部分层以最小化传输成本;(2)修补,在稀疏过渡层预测归一化输入以截断误差传播。实验上,SCD相比oracle消费者预填实现了高达2.65倍的TTFT加速,并在带宽受限场景下,在质量-延迟帕累托前沿上优于量化与选择性重计算基线,同时保持生成质量在oracle的5% F1以内。
查看原文
查看缓存全文

缓存时间: 2026/06/09 08:52

# 通过复用和选择性修补实现高效状态传输
来源:https://arxiv.org/html/2606.07684
## 语义缓存蒸馏:通过复用和选择性修补实现高效状态传输

Zhiqing Tang✉\{\}^\{\\textrm\{\{\\char 0\\relax\}\}\}Hanshuai CuiZhi YaoWeijia Jia✉\{\}^\{\\textrm\{\{\\char 0\\relax\}\}\}

###### 摘要

分离式推理缓解了大语言模型 (LLM) 推理中的内存瓶颈,但却造成了严重的通信瓶颈:传输高维键值 (KV) 缓存通常主导着首字延迟 (TTFT)。此外,在不同模型(例如,基础模型和微调变体)之间复用缓存的语义错位会逐层累积,降低生成质量。我们提出语义缓存蒸馏 (SCD),一个损失约束框架,用紧凑的语义代码替换原始 KV 传输。SCD 通过两种机制解决这些挑战:(1) 复用,从低秩子空间重构大多数层以最小化传输成本,以及 (2) 修补,在稀疏过渡层预测归一化输入以截断误差传播。实验表明,在带宽受限的场景下,SCD 相对于 oracle 消费者预填充实现了高达 2.65 倍的 TTFT 加速,并在质量-延迟帕累托前沿上主导了量化和选择性重计算基线,同时将生成质量保持在 oracle F1 分数的 5% 以内。

大语言模型,分离式推理,KV 缓存压缩,语义缓存蒸馏,高效服务,分布式系统

## 1 引言

LLM 服务日益受到内存带宽和通信开销的限制,而非计算强度。在仅解码器 Transformer 中,自回归解码复用每层的 KV 缓存以避免重新计算注意力;然而,这些缓存随上下文长度和深度线性增长。因此,现代系统将推理分离为计算受限的预填充阶段和内存受限的解码阶段,并将它们放置在不同的设备上 (Qin et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib20);Zhong et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib30);Patel et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib19))。虽然先进的调度器 (Agrawal et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib1)) 和内存管理器 (Kwon et al.,2023 (https://arxiv.org/html/2606.07684#bib.bib12)) 解决了局部效率问题,但分离引入了一个关键的网络瓶颈:预填充生产者和解码消费者之间的数据传输可能主导 TTFT,尤其是在慢速互连上。

先前的工作主要集中在压缩 KV 缓存占用空间上。技术包括量化以将状态压缩到低精度 (Liu et al.,2024c (https://arxiv.org/html/2606.07684#bib.bib18);Hooper et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib10))、稀疏化以驱逐不太突出的 tokens (Zhang et al.,2023 (https://arxiv.org/html/2606.07684#bib.bib28);Li et al.,2024a (https://arxiv.org/html/2606.07684#bib.bib14);Tang et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib22);Cai et al.,2024b (https://arxiv.org/html/2606.07684#bib.bib4)),以及利用 Transformer 表示中冗余的低秩方法。像 CacheGen (Liu et al.,2024b (https://arxiv.org/html/2606.07684#bib.bib17)) 这样的系统进一步优化了这些压缩状态的流式传输。然而,这些现有方法通常假设生产者和消费者共享相同的潜在空间(即,相同权重)。他们依赖静态压缩策略,忽略了跨模型适应中固有的表示差异。

SCD 针对的是更狭窄但更实用的生产者-消费者对场景,它们共享相同的 Transformer 架构但权重不同。它并非旨在取代同模型 KV 复用,因为原始或量化缓存已经可以直接复用。相反,SCD 处理的是共享架构、权重不匹配的服务场景,例如一个通用基础模型作为微调专家模型的生产者 (Sheng et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib21);Chen et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib6)) 或一个草稿/验证器对 (Cai et al.,2024a (https://arxiv.org/html/2606.07684#bib.bib3);Li et al.,2024b (https://arxiv.org/html/2606.07684#bib.bib15))。

一个典型的部署是 *共享-预填充,专用-解码* 服务。例如,一个在线服务可能在共享生产者在一条长公共前缀上运行,例如用户历史、文档、指令或任务上下文,然后将产生的状态路由到任务专用的消费者,用于辅导、代码辅助、安全过滤或领域特定响应生成。生产者和消费者有意不完全相同:专业化是后端模型的目的。然而,一旦它们的权重不同,生产者的原始 KV 状态就不再与消费者原生兼容。这种设置提出了两个相互关联的挑战:(1) **传输开销**:在分离式推理中,原始 KV 传输受带宽限制,因此任何实用系统都必须在保持消费者分布的同时缩小每个请求的有效负载。(2) **语义漂移**:权重差异导致表示不匹配,并逐层复合;直接复用降低质量,而完全重计算则抵消了分离带来的延迟优势。现有方法 (Liu et al.,2024a (https://arxiv.org/html/2606.07684#bib.bib16)) 试图通过选择性重计算层或仅共享特定对来缓解这个问题。然而,这些方法执行了一种严格的权衡:优先考虑复用以牺牲质量,而优先考虑重计算则牺牲延迟。实用解决方案必须在固定的在线执行路径下同时最小化传输成本和纠正漂移。

这种部署模式之所以有吸引力,正是因为昂贵的前缀计算可以在一个系列专用消费者之间分摊。将所有端点同步到相同的权重将消除驱动系统专业化的动机,而将每个专用模型与生产者放在一起则会重复内存并破坏分离。因此,相关的问题不在于同模型 KV 复用是否有效,而在于当架构兼容性存在但消费者的权重空间不同时,如何传输状态。

参考图标题图 1:SCD 概述。(a) 异构分离式推理中的挑战:传输原始 KV 缓存造成通信瓶颈,直接复用从基础模型(生产者)到微调模型(消费者)的缓存会导致语义漂移,降低质量。(b) SCD 框架:我们用紧凑的语义代码替换原始 KV 传输。消费者使用 **复用**(低秩投影)高效重构状态,并在稀疏的过渡层应用 **修补** 来纠正语义错位,从而实现低延迟和高生成质量。我们提出 **语义缓存蒸馏 (SCD)**,一个带宽高效的状态传输框架,用紧凑的语义代码替换原始 KV 传输,用于共享架构、权重不匹配的生产者-消费者对。SCD 在生产者处蒸馏高维状态,并通过轻量级的、层感知的转换器重构消费者对齐的状态。SCD 集成了两种互补机制:(1) **复用**:利用大多数层的高跨模型兼容性,SCD 通过快速低秩投影重构状态以最小化带宽使用。(2) **修补**:对于少数引起显著漂移的关键层,SCD 预测归一化的预注意力输入,以截断误差传播,无需完全重计算。总之,我们做出以下贡献:

- • **SCD 框架**。我们提出一个端到端设计,将 **复用** 用于带宽效率,将 **修补** 用于语义对齐,从而在差异显著的模型之间实现低延迟传输。
- • **异构状态传输公式化**。我们形式化表示不匹配下的缓存 **复用** 问题,识别出原始传输和静态压缩在分离环境中失败的原因。
- • **选择性纠正机制**。我们引入 **修补**,一个应用于稀疏过渡层的轻量级模块,以最小的计算开销截断误差传播。
- • **实证有效性**。我们证明 SCD 在带宽受限环境中实现了优越的延迟-质量权衡,相比 oracle 消费者预填充实现了高达 2.65 倍的 TTFT 加速,同时保持生成质量,并在帕累托前沿上优于量化和 DroidSpeak 风格的重计算基线。

##### 利益冲突披露。

作者声明与这项工作无财务利益冲突。

## 2 相关工作

我们的工作涉及分离式 LLM 服务、高效 KV 缓存管理和跨模型对齐。

##### 分离式服务与传输瓶颈。

现代服务系统将 *预填充* 和 *解码* 阶段分离到不同的工作节点上以最大化利用率 (Zhong et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib30);Qin et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib20);Patel et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib19))。虽然这种架构提高了吞吐量,但它将 KV 缓存传输置于首字延迟 (TTFT) 的关键路径上。像 Sarathi-Serve (Agrawal et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib1)) 和 FastServe (Wu et al.,2023 (https://arxiv.org/html/2606.07684#bib.bib25)) 这样的先进调度器使用块级调度来减少停顿,而像 vLLM (Kwon et al.,2023 (https://arxiv.org/html/2606.07684#bib.bib12)) 和 SGLang (Zheng et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib29)) 这样的引擎优化了内存碎片。最近的传输层工作,如 FlowKV (Li et al.,2025 (https://arxiv.org/html/2606.07684#bib.bib13)),优化了低延迟 KV 缓存传输和负载感知调度。然而,这些系统级优化很大程度上将传输状态视为 *系统级负载*,而不是学习跨模型语义转换器。我们的工作通过优化 *负载* 来补充这些努力:我们针对生产者到消费者的交接,特别是当异构模型之间的原始传输带宽过高时。

##### 模型内 KV 压缩。

减少缓存占用空间的标准技术包括量化方法,如 KIVI (Liu et al.,2024c (https://arxiv.org/html/2606.07684#bib.bib18)) 和 KVQuant (Hooper et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib10))。除量化外,剪枝策略如 H2O (Zhang et al.,2023 (https://arxiv.org/html/2606.07684#bib.bib28))、SnapKV (Li et al.,2024a (https://arxiv.org/html/2606.07684#bib.bib14))、Quest (Tang et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib22)) 和 PyramidKV (Cai et al.,2024b (https://arxiv.org/html/2606.07684#bib.bib4)) 会驱逐不太突出的 tokens,而 StreamingLLM (Xiao et al.,2023 (https://arxiv.org/html/2606.07684#bib.bib26)) 使用注意力汇聚实现无限长度推理。像 CacheGen (Liu et al.,2024b (https://arxiv.org/html/2606.07684#bib.bib17)) 这样的系统进一步优化了压缩状态的流式传输。至关重要的是,这些方法本质上是 *模型内* 的:它们假设生产者和消费者共享相同的权重和特征空间。直接将它们应用于异构对无法弥合权重差异引起的语义差距。相比之下,SCD 是为 *模型间* 场景设计的,通过可学习代码将生产者状态映射到消费者本机空间。

##### 跨模型缓存复用。

为具有共享主干网的异构模型提供服务是一个日益增长的挑战。像 S-LoRA (Sheng et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib21)) 和 Punica (Chen et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib6)) 这样的系统支持 LoRA 适配器的可扩展服务,而 Prompt Cache (Gim et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib8)) 探索了跨请求的注意力复用。对于基础模型和微调模型之间的复用,Liu 等人 (2024a (https://arxiv.org/html/2606.07684#bib.bib16)) 证明朴素的共享会降低生成质量。他们的系统 DroidSpeak 通过选择性重计算关键层同时复用其余层的原始缓存来缓解这个问题。与 DroidSpeak 做出二元决策(复用原始 vs. 重计算)不同,SCD 从 *选择* 推进到 *转换*。通过采用损失约束重构 (Reuse) 和定向纠正 (Patch),SCD 实现了比原始复用更高的压缩和比重计算更低的延迟,平滑了权衡前沿。

##### 正交加速方法。

SCD 专注于状态传输,与解码阶段优化正交。像 CoDec (Wang et al.,2025b (https://arxiv.org/html/2606.07684#bib.bib24)) 这样的技术加速了前缀共享解码内核,而像 Medusa (Cai et al.,2024a (https://arxiv.org/html/2606.07684#bib.bib3)) 和 EAGLE (Li et al.,2024b (https://arxiv.org/html/2606.07684#bib.bib15)) 这样的投机解码框架使用草稿模型每步生成多个 token。SCD 与这些方法兼容:一旦缓存被传输和重构,消费者就可以使用投机采样或优化内核进行生成。

##### 与语义通信的区别。

最后,我们将 SCD 与语义通信或缓存到缓存 (C2C) 框架 (Fu et al.,2026 (https://arxiv.org/html/2606.07684#bib.bib7)) 区分开来。C2C 方法通常使用 KV 缓存融合来自多个智能体的信息以增强协作生成。在这种设置中,接收器将外部信号集成到其自身的上下文中。相反,我们的目标是加速:我们使消费者能够 *跳过* 其整个预填充阶段。采用 C2C 风格的融合将要求消费者首先计算本地缓存,从而抵消分离的延迟优势。因此,SCD 作为延迟关键服务的专用传输协议,而不是通用的协作机制。

## 3 问题公式化

##### 分离式推理与带宽瓶颈。

现代 LLM 系统将 *预填充* 和 *解码* 阶段分离到不同设备上以最大化利用率 (Zhong et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib30);Qin et al.,2024 (https://arxiv.org/html/2606.07684#bib.bib20))。我们考虑一个设置,包含一个 *生产者* 模型 MA \mathcal{M}_A (设备 A) 和一个 *消费者* 模型 MB \mathcal{M}_B (设备 B),两者都处理一个前缀 x1:T x_{1:T}。为了生成 tokens,消费者 MB \mathcal{M}_B 需要逐层的 KV 缓存 CB = {(KBℓ, VBℓ)}ℓ=1L \mathcal{C}_B = \{ (K_B^{\ell}, V_B^{\ell}) \}_{\ell=1}^{L}。设备 B 面临一个两难选择:它必须要么 *重新计算* 这些本地状态(计算受限),要么 *获取* 它们来自设备 A(带宽受限)。由于缓存大小 ||CB|| \|\mathcal{C}_B\| 随上下文长度 T 和深度 L 线性增长,在有限的互连带宽下,原始传输通常主导端到端延迟。

##### 异构性和语义漂移。

当生产者和消费者模型是异构的(例如,基础 vs. 微调,或草稿 vs. 验证器)时,复用变得具有挑战性。由于它们的权重不同,它们的内部表示位于不同的特征空间中。直接用生产者的缓存 CA \mathcal{C}_A 替代 CB \mathcal{C}_B 会导致 *语义漂移*——一种表示不匹配,会逐层复合。现有方法通常通过部分重计算特定层来缓解这个问题,这迫使在质量与延迟之间进行僵硬的权衡。

相似文章

为扩散语言模型启用共享前缀的KV缓存

arXiv cs.LG

本文提出BiCache,一种面向扩散语言模型共享前缀的新型KV缓存技术,通过动态重用浅层中缓存的键和值来避免精度崩溃,并实现36.3%–98.3%的吞吐量提升。

基于熵与低秩重构的高保真KV缓存摘要

Hacker News Top

提出一种SRC流水线,通过基于熵的选择和低秩重构对KV缓存进行摘要,而非直接裁剪token,在百万token的LLM上下文中降低显存占用,同时避免灾难性注意力错误。