CacheBlend: Fast Large Language Model Serving for RAG with Cached Knowledge Fusion

2024年05月26日
  • 简介
    大型语言模型(LLMs)通常将多个文本块合并到其输入中,以提供必要的上下文。为了加快长LLM输入的预填充,可以预先计算文本的KV缓存,并在上下文被重用为另一个LLM输入的前缀时重复使用KV缓存。然而,重复使用的文本块并不总是输入前缀,当它们不是前缀时,它们的预计算KV缓存不能直接使用,因为它们忽略了文本与LLM输入中前面文本的交叉注意力。因此,重复使用KV缓存的好处仍然大多没有实现。本文只解决一个问题:当LLM输入包含多个文本块时,如何快速组合它们的预计算KV缓存,以达到与昂贵的完整预填充(即无需重复使用KV缓存)相同的生成质量?我们提出了CacheBlend方案,该方案重复使用预计算的KV缓存,无论是否为前缀,并选择性地重新计算少量标记的KV值,以部分更新每个重复使用的KV缓存。同时,重新计算一些标记的小额额外延迟可以与在同一作业中检索KV缓存的流水线处理相结合,允许CacheBlend将KV缓存存储在更具存储容量的较慢设备中,而不会增加推理延迟。通过将CacheBlend与各种规模的三个开源LLMs和四个不同任务的流行基准数据集上的最先进的KV缓存重用方案进行比较,我们表明,与完整KV重新计算相比,CacheBlend将时间到第一个标记(TTFT)减少了2.2-3.3倍,并将推理吞吐量提高了2.8-5倍,而不会影响生成质量或产生更多的存储成本。
  • 图表
  • 解决问题
    解决问题:如何在多个文本块的LLM输入中快速组合它们的预计算KV缓存,以实现与完整预填充相同的生成质量?
  • 关键思路
    关键思路:CacheBlend方案重复使用预计算的KV缓存,无论前缀还是非前缀,并选择重新计算少量令牌的KV值以部分更新每个重复使用的KV缓存。
  • 其它亮点
    亮点:CacheBlend相对于完整KV重算,将时间到第一个令牌(TTFT)缩短2.2-3.3倍,并将推理吞吐量提高2.8-5倍,而不会影响生成质量或增加存储成本。实验使用了三个开源LLM和四个流行的基准数据集,并展示了CacheBlend的优越性。
  • 相关研究
    相关研究:当前领域中的相关研究包括:1)KV缓存重用方法;2)优化LLM推理速度的方法。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论