SemShareKV: Efficient KVCache Sharing for Semantically Similar Prompts via Token-Level LSH Matching
作者: Xinye Zhao, Spyridon Mastorakis
分类: cs.CL, cs.AI
发布日期: 2025-09-29 (更新: 2025-12-16)
备注: 11 figures, 14pages
💡 一句话要点
SemShareKV:通过Token级LSH匹配为语义相似Prompt高效共享KVCache
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 KV缓存 局部敏感哈希 语义相似性 推理加速
📋 核心要点
- 现有KV缓存方法在处理语义相似但词汇不同的prompt时效率较低,限制了LLM在多文档摘要等任务中的应用。
- SemShareKV利用token嵌入的LSH匹配实现模糊token匹配,并结合RoPE保留位置信息,从而实现语义感知的KV缓存共享。
- 实验表明,SemShareKV在摘要任务中显著提升了推理速度并降低了内存占用,同时保持了输出质量。
📝 摘要(中文)
随着大型语言模型(LLMs)规模的持续扩大,推理过程中键值(KV)缓存的内存占用已成为一个重要的瓶颈。现有方法主要集中在压缩单个prompt内的KV缓存,或重用跨prompt的共享前缀或频繁出现的文本片段。然而,这些策略在prompt语义相似但词汇不同的场景中受到限制,这种情况在多文档摘要和对话代理等任务中经常发生。我们提出了 extit{SemShareKV},一个KV缓存共享和压缩框架,通过重用语义相似prompt中的KVCache来加速LLM推理。SemShareKV没有依赖精确的token匹配,而是使用token嵌入上的局部敏感哈希(LSH)应用模糊token匹配,并结合旋转位置嵌入(RoPE)以更好地保留位置信息。通过选择性地重用来自参考prompt缓存的相关键值对,SemShareKV减少了冗余计算,同时保持了输出质量。在不同的摘要数据集上的实验表明,在5k token输入的情况下,速度提升高达6.25倍,GPU内存使用量降低42%,而质量下降可忽略不计。这些结果突出了语义感知缓存共享在高效LLM推理方面的潜力。
🔬 方法详解
问题定义:论文旨在解决大型语言模型推理过程中,由于KV缓存占用大量内存而导致的效率瓶颈问题。现有方法主要依赖于精确的token匹配或共享前缀,无法有效利用语义相似但词汇不同的prompt之间的KV缓存,导致冗余计算和内存浪费。
核心思路:SemShareKV的核心思路是利用语义相似性来共享KV缓存。它不依赖于精确的token匹配,而是通过模糊匹配来识别语义相关的token,并重用参考prompt的KV缓存。这种方法能够减少冗余计算,提高推理效率。
技术框架:SemShareKV框架主要包含以下几个阶段:1) Token嵌入:将输入prompt和参考prompt的token转换为嵌入向量。2) LSH匹配:使用局部敏感哈希(LSH)在token嵌入空间中进行模糊匹配,找到语义相似的token对。3) RoPE编码:结合旋转位置嵌入(RoPE)来更好地保留token的位置信息。4) KV缓存重用:根据LSH匹配结果,选择性地重用参考prompt的KV缓存。5) LLM推理:利用重用的KV缓存进行LLM推理。
关键创新:SemShareKV的关键创新在于引入了基于token嵌入的LSH匹配来进行KV缓存共享。与传统的精确匹配方法相比,LSH匹配能够识别语义相似但词汇不同的token,从而更有效地利用KV缓存。此外,结合RoPE编码进一步提升了位置信息的保留能力。
关键设计:SemShareKV的关键设计包括:1) 使用预训练的token嵌入模型(如Word2Vec或GloVe)来获取token嵌入向量。2) 选择合适的LSH算法和参数,以平衡匹配精度和计算效率。3) 调整RoPE的参数,以适应不同的prompt长度和模型架构。4) 设计合适的缓存替换策略,以保证KV缓存的有效性。
🖼️ 关键图片
📊 实验亮点
实验结果表明,SemShareKV在不同的摘要数据集上实现了显著的性能提升。在5k token输入的情况下,SemShareKV能够实现高达6.25倍的推理速度提升,并降低42%的GPU内存使用量,同时保持了可忽略不计的质量损失。这些结果表明,SemShareKV是一种高效且实用的KV缓存共享框架。
🎯 应用场景
SemShareKV具有广泛的应用前景,尤其适用于需要处理大量语义相似prompt的场景,如多文档摘要、对话代理、机器翻译等。通过降低内存占用和提高推理速度,SemShareKV能够显著提升LLM在这些场景中的性能和效率,并降低部署成本。未来,该技术有望应用于资源受限的设备上,实现LLM的轻量化部署。
📄 摘要(原文)
As large language models (LLMs) continue to scale, the memory footprint of key-value (KV) caches during inference has become a significant bottleneck. Existing approaches primarily focus on compressing KV caches within a single prompt or reusing shared prefixes or frequently ocurred text segments across prompts. However, such strategies are limited in scenarios where prompts are semantically similar but lexically different, which frequently occurs in tasks such as multi-document summarization and conversational agents. We propose \textit{SemShareKV}, a KV cache sharing and compression framework that accelerates LLM inference by reusing KVCache in semantically similar prompts. Instead of relying on exact token matches, SemShareKV applies fuzzy token matching using locality-sensitive hashing (LSH) on token embeddings and incorporates Rotary Position Embedding (RoPE) to better preserve positional information. By selectively reusing relevant key-value pairs from a reference prompt's cache, SemShareKV reduces redundant computation while maintaining output quality. Experiments on diverse summarization datasets show up to 6.25$\times$ speedup and 42\% lower GPU memory usage with 5k tokens input, with negligible quality degradation. These results highlight the potential of semantic-aware cache sharing for efficient LLM inference.