无需检索!CAG 通过键值缓存让 RAG 轻松上手

随着大模型技术的不断发展,尤其是大模型上下文窗口(context window)逐渐增大的趋势,许多研究者开始思考是否可以借此特点简化传统的 RAG(Retrieval-Augmented Generation)架构。在此背景下,2024年12月的研究论文提出了一个创新方案——CAG(Cache-Augmented Generation),这是一种通过预加载外部文档到大模型的上下文窗口来简化传统 RAG 流程的方法。本文将详细介绍 CAG 的特点、工作原理、实验结果、适用场景以及如何快速上手。

1. RAG 的天生不足之处

尽管RAG在理论上能够通过引入外部知识提高生成能力,但它在实际应用中面临的挑战不可忽视:

  • 延迟高和复杂度大:RAG依赖于实时检索过程,需要在查询时进行向量搜索、排序、选择相关文档等复杂操作。这些操作不仅增加了计算负担,还导致了响应时间的延长,尤其是在面对大规模文档库时。

  • 安全隐患:为了提升检索的准确性,RAG通常将外部文档转化为向量并存储在向量数据库中。然而,这种做法可能会导致敏感信息泄漏的风险,特别是在涉及个人隐私或商业机密的数据时。

  • 依赖第三方向量存储:许多RAG实现依赖于商业化的向量数据库和嵌入生成服务,这些服务的使用可能导致商业偏见,并带来额外的成本和数据隐私问题。

鉴于这些问题,研究者们开始探索一种更加简化且高效的替代方案——CAG。

2. CAG 简介

CAG(Cache-Augmented Generation)是一种基于大模型上下文窗口扩展特性的RAG优化方案,通过预加载相关文档并生成键值缓存(KV Cache),消除了传统RAG中的实时检索环节。这一过程将外部知识直接集成到模型的工作内存中,从而减少了延迟,提高了系统的整体效率。

2.1 基本特点

CAG的核心思想在于预加载相关文档并将其转化为键值缓存(KV Cache),然后将缓存数据与用户查询一同传递给大模型。这样,在推理时,模型能够直接利用预先加载的知识进行生成,无需进行实时检索和向量搜索。

  • 简化架构:CAG不需要构建复杂的向量空间或检索组件,从而大大简化了系统架构。

  • 消除延迟:通过预先处理并缓存相关文档,CAG避免了检索过程的延迟,提升了响应速度。

  • 增强安全性:敏感数据可以存储在安全的数据库中,而不是转化为向量,这减少了数据泄露的风险。

2.2 工作原理

CAG的工作原理可以分为三个阶段:

  1. 外部知识预加载:在这一阶段,相关领域的文档被预处理并格式化为适应大模型上下文窗口的形式。大模型将这些文档编码成键值对(KV Cache),并将其存储以供后续使用。该过程的计算成本只发生在文档处理时,之后的查询可以直接利用缓存。

  2. 推理:在推理阶段,预先计算的键值缓存与用户的查询一同加载到模型中,模型利用这些缓存的上下文生成响应。这一过程不再依赖实时检索,极大减少了延迟并降低了数据选择错误的风险。

  3. 缓存重置:为了保持系统性能,缓存可以在多个推理会话后高效重置。由于KV Cache是按追加方式增长的,重置操作只需截断新增的令牌,而无需重新加载整个缓存。

传统 RAG 和 CAG 工作流程的比较:上部说明了 RAG 管道,包括推理过程中的实时检索和参考文本输入,而下部描述了 CAG 方法,该方法预加载 KV 缓存,从而消除了推理时的检索步骤和参考文本输入。

2.3 优点

  • 提升效率:通过预加载和缓存外部知识,CAG消除了实时检索过程,显著提高了计算效率。

  • 增强安全性:敏感数据存储在安全数据库中,而非嵌入到向量空间,降低了数据泄露的风险。

  • 简化架构:无需构建复杂的向量检索和存储组件,系统架构更加简洁。

  • 减少延迟:通过避免实时操作,CAG减少了推理延迟,提高了响应速度。

3. 实验结果及适用场景

为了验证CAG的效果,研究者们对其进行了大量实验,比较了CAG与传统RAG(基于BM25的稀疏检索和OpenAI的密集检索)的性能。

3.1 实验结果

  • 数据集:使用了SQuAD 1.0和HotPotQA数据集,这两个数据集包含了多种不同难度的问答任务。

  • 评估指标:采用BERTScore作为评估指标,用于比较生成文本与真实答案的相似度。

  • 实验结果

  • 性能优越:CAG在大多数测试中超越了传统的RAG方法,特别是在HotPotQA数据集上,CAG凭借全量上下文理解的优势,表现明显优于基于检索的RAG。

  • 推理时间缩短:由于不再需要实时检索,CAG显著降低了推理时间,特别是在面对大规模文档时的响应速度明显提高。

  • BERTScore表现:CAG在大部分情况下的BERTScore优于传统RAG系统,证明了其在生成准确性上的优势。

CAG在大多数测试中超越了传统的RAG方法

3.2 适用场景

CAG尤其适用于知识库有限且文档量可控的任务。对于文档集较小、内容相对固定的应用场景,CAG能够显著提升性能,并简化系统架构。

  • 约束性知识库:对于某些任务,知识库大小适中且固定,可以直接加载到大模型的上下文窗口中,这时CAG表现出色。

  • 混合方法:对于需要全面知识和适应特定查询的任务,CAG还可以与检索机制结合使用,通过预加载基础上下文并结合选择性检索来应对特定问题。

4. 快速上手

想要快速体验CAG,可以按照以下步骤进行:

安装依赖

pip install -r ./requirements.txt  

准备数据

# 下载所需的数据集  
sh ./downloads.sh  

配置环境

# 复制并配置环境文件  
cp ./.env.template ./.env  

运行实验

  • rag.py:用于传统RAG实验。

  • kvcache.py:用于CAG实验。

5. 结论及展望

CAG作为RAG的简化替代方案,特别适合在知识库有限且可控的场景下应用。通过预加载和缓存外部知识,CAG不仅消除了实时检索带来的延迟,还减少了系统复杂度,并提升了计算效率。在未来,随着大模型上下文窗口的不断扩展,CAG的优势将更加明显,尤其是在处理大规模知识库和长文本时。

随着技术的不断进步,CAG将成为大模型技术中的重要组成部分,提供更加高效、安全和简洁的解决方案。在不久的将来,我们可能会看到CAG与更多先进技术的结合,为实际应用带来更强大的智能服务。

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI无需检索!CAG 通过键值缓存让 RAG 轻松上手大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

优快云粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传优快云,朋友们如果需要可以扫描下方二维码&点击下方优快云官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉优快云大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值