今天为大家分享北京大学和字节跳动联合发表的一篇关于加速RAG推理的论文:
RAGCache: Efficient Knowledge Caching for Retrieval-Augmented Generation
论文地址:https://arxiv.org/abs/2404.12457
1.论文概述
Retrieval-Augmented Generation (RAG) 是一种将检索机制与生成模型相结合的方法,通过首先检索与问题相关的文档或知识,然后生成模型基于检索结果生成答案或文本。最近的研究表明,RAG可以显著提高各种基准的生成质量。
然而,RAG的知识注入导致喂入大模型的序列信息增多,这引入了长序列生成的问题,导致较高的计算和存储开销。例如,初始请求包含100个token,检索到的文档总共包含1000个token。因此,增强请求的额外计算和内存成本比原始请求高10倍左右。资源需求的不断增加有效处理RAG请求提出了巨大挑战。
为了解决这个问题,本文设计了一个特定于RAG的多级动态缓存管理系统RAGCache。本文发现了两个系统优化的机会。首先,相同文档在多个请求中重复出现,使得此类文档的LLM推理中间状态 (Key Value tensors) 可以共享。其次,一小部分文档占了大多数检索请求。因此,缓存这些频繁访问的文档的中间状态,可以减轻计算负担。
基于这个观察,RAG设计了一个知识树,它将检索到的文档的中间状态 (Key Value tensors) 适配到GPU和主机内存中。访问频率较高的文档缓存在快速的GPU内存中,访问频率较低的文档缓存在较慢的主机内存中。实验结果表明,与集成了Faiss的vLLM相比,RAGCache将TTFT时间降低了4倍,吞吐量提高了2.1倍。
2.核心方法
2.1 系统架构图
RAGCache架构如上图所示。
当接收到一个用户请求时,RAG Controller首先从外部数据库 (External Database) 检索相关的文档。然后,这些文档被转发到Cache Retriever 以查找匹配的Key Value tensors。如果缓存中没有Key Value tensors,RAGCache会指示LLM推理引擎 (LLM Inference Engine) 生成新的tokens。
相反,如果Key Value tensors可用,则带有Key Value tensors的请求将转发到LLM推理引擎,然后该引擎使用前缀缓存内核来生成标记。
生成第一个标记后,Key Value tensors被转发回RAG Controller,该控制器Key Value tensors并刷新缓存的状态。最后,生成的答案作为响应传递给用户。
2.2 缓存结构和替换策略
多个请求能够共享Key Value tensors的部分要求前缀相同,即必须保持相同的顺序。因此,为了在保持文档顺序的同时实现快速检索,RAGCache使用知识树来构建文档的键值张量,如下图所示。
该树将每个文档分配给一个节点,节点指的是文档的键值张量的内存地址。从根到特定节点的路径表示文档序列。RAGCache通过沿着这些路径的前缀匹配来检索张量。在前缀匹配过程中,如果后续文档不在子节点中,则立即终止遍历,并返回标识的文档序列。
替换策略 Prefix-aware Greedy-Dual-Size-Frequency (PGDSF):利用知识树,RAGCache 必须确定每个节点在分层缓存中的位置。访问频率较高的节点最好存储在GPU内存中,以提高访问速度,而访问频率较低的节点则分配给速度较慢的主机内存或直接释放。
为了优化节点放置,RAGCache采用了PGDSF替换策略。PGDSF根据每个节点的访问频率、大小和访问成本计算优先级。此方法通过维护优先级最高的节点来利用有限的存储容量,其优先级定义如下:
时间越新优先级越高,访问频率越大优先级越高,平均成本越大优先级越高。
3.精彩段落
4.总结
RAGCache是专为RAG定制设计的新型多级动态缓存系统。RAGCache缓存了多个请求中检索到的文档的Key Value以最大限度地减少冗余计算。RAGCache的核心是一棵知识树,可确保缓存最关键的键值张量。
RAGCache还实现了一个全局RAG控制器,用于协调外部知识数据库和LLM推理引擎之间的交互。该控制器通过系统优化得到增强,包括缓存感知重新排序和动态推测流水线。
那么,如何系统的去学习大模型LLM?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
篇幅有限,部分资料如下:
👉LLM大模型学习指南+路线汇总👈
💥大模型入门要点,扫盲必看!
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
👉大模型入门实战训练👈
💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉国内企业大模型落地应用案例👈
💥《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)
💥《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。
👉LLM大模型学习视频👈
💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
👉640份大模型行业报告👈
💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉获取方式:
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓