CacheBlend: Fast Large Language Model Serving with Cached Knowledge Fusion

2024年05月26日
  • 简介
    大型语言模型(LLM)通常将多个文本块合并到输入中以提供必要的上下文。为了加快长LLM输入的预填充速度,可以预先计算文本的KV缓存,并在上下文被重复使用作为另一个LLM输入的前缀时重复使用KV缓存。然而,重复使用的文本块并不总是输入前缀,当它们不是前缀时,它们预计算的KV缓存不能直接使用,因为它们忽略了LLM输入中前面文本的交叉注意力。因此,重复使用KV缓存的好处仍然大部分未被实现。本文只解决一个问题:当一个LLM输入包含多个文本块时,如何快速组合它们的预计算KV缓存,以达到与昂贵的完全预填充(即不重用KV缓存)相同的生成质量?我们提出了CacheBlend方案,该方案重复使用预先计算的KV缓存,无论是否为前缀,并选择性地重新计算少量令牌的KV值,以部分更新每个重复使用的KV缓存。同时,重新计算一些令牌的小额额外延迟可以与同一作业中检索KV缓存进行流水线处理,使CacheBlend可以将KV缓存存储在存储容量更大的较慢设备中,而不会增加推理延迟。通过将CacheBlend与各种大小的三个开源LLM和四个流行基准数据集上的最先进的KV缓存重用方案进行比较,我们表明,与完全KV重新计算相比,CacheBlend将时间到第一个标记(TTFT)降低了2.2-3.3倍,并将推理吞吐量提高了2.8-5倍,而不会影响生成质量或增加存储成本。
  • 图表
  • 解决问题
    如何快速结合多个文本块的预计算KV缓存以实现与完整预填充相同的生成质量?
  • 关键思路
    CacheBlend是一种方案,可以重复使用预计算的KV缓存,并选择性地重新计算一小部分令牌的KV值,以部分更新每个重复使用的KV缓存,从而提高生成效率。
  • 其它亮点
    CacheBlend与三个开源LLM和四个流行的基准数据集上的最新KV缓存重用方案进行比较,显示CacheBlend将TTFT降低了2.2-3.3倍,并将推理吞吐量提高了2.8-5倍,而不会影响生成质量或增加存储成本。
  • 相关研究
    与此相关的最新研究包括“Revisiting Few-sample BERT Fine-tuning”和“Learning to Learn from Limited Data: A Deep Siamese Network for Similarity-based Sample Selection”。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论