检索增强生成(RAG)过时了,缓存增强生成(CAG)上位

译文 精选
人工智能
检索增强生成(RAG)已成为为定制信息定制大语言模型(LLM)的事实上的方法。然而RAG带来了前期技术成本,并且速度可能很慢。由于长上下文LLM方面取得的进步,企业可以通过在提示中插入所有的专有信息来绕过RAG。

译者 | 布加迪

审校 | 重楼

检索增强生成(RAG)已成为为定制信息定制大语言模型(LLM)的事实上的方法。然而RAG带来了前期技术成本,并且速度可能很慢。由于长上下文LLM方面取得的进步,企业可以通过在提示中插入所有专有信息来绕过RAG

台湾政治大学的一项新研究表明,如果使用长上下文LLM和缓存技术,就可以创建定制的应用程序,性能却比RAG管道更胜一筹。这种方法就叫作缓存增强生成(CAG),可以在知识语料库能装入到模型上下文窗口企业环境简单而有效地替代RAG。

RAG的局限性

RAG是处理开放领域问题和专门任务的一种有效方法。它使用检索算法来收集与请求相关的文档,并添加上下文使LLM能够生成更准确的响应。

然而RAGLLM应用带来几个限制。添加的检索步骤引入了延迟,这会降低用户体验。结果还取决于文档选择和排序步骤的质量。在许多情况下,用于检索的模型具有的局限性要求将文档分解为更小的块,这可能会影响检索过程。

此外,RAG通常增添LLM应用的复杂性,需要开发、集成和维护额外的组件。增加的开销减慢了开发过程。

缓存增强检索

图1. RAG(上)与CAG(下)(来源:arXiv)图1. RAG(上)与CAG(下)(来源:arXiv)

开发RAG管道的替代方法是将整个文档语料库插入到提示中,让模型选择哪些部分与请求相关。这种方法消除了RAG管道的复杂性以及检索错误引起的问题。

然而,将所有文档预先加载到提示中存在三个关键挑战。首先,长提示会减慢模型的速度,增加推理的成本。其次,LLM上下文窗口的长度限制了插入到提示中的文档数量。最后,提示添加不相关的信息会导致模型混淆,降低其响应的质量。因此,仅仅将所有文档塞入到提示而不是选择最相关的文档,最终会降低模型的性能。

提议CAG方法利用以下三个关键趋势来克服这些挑战。

首先,先进的缓存技术使处理提示模板变得更快速、更省钱CAG的前提是知识文档将包含在发送给模型的每个提示中。因此,可以提前计算其词元(token)注意力值,而不是在接收请求时这做。这种预先计算缩短了处理用户请求所需的时间。

OpenAIAnthropic和谷歌领先的LLM提供商为提示的重复部分提供提示缓存功能,包括在提示开头插入的知识文档和指令Anthropic为例如果使用提示的缓存部分就可以减少高达90%的成本和85%的延迟。厂商们已为开源LLM托管平台开发相应的缓存功能。

其次,长上下文LLM使更多文档和知识更容易插入到提示。Claude 3.5 Sonnet支持多达20词元,而GPT-40支持128000个词元,Gemini支持多达200万个词元因此就有可能在提示中插入多个文档或整本书。

最后,先进的训练方法使模型面对很长的序列能够执行更好的检索、推理和问答。在去年,研究人员已为长序列任务开发了几个LLM基准测试,包括BABILong、LongICLBench和RULER。这些基准测试可以测试LLM在多次检索和多跳问答等难题上的表现。这领域仍有改进的空间,但AI实验室仍在不断取得进展。

随着新一代模型继续扩展上下文窗口,它们将能够处理更庞大的知识。此外,我们可以期望模型继续提升从长上下文中提取和使用相关信息的能力。

研究人员写道:这两趋势将大大扩展我们这种方法的可用性,使其能够处理更复杂、更多样化的应用。因此,我们的方法很有希望成为处理知识密集型任务的强大而通用的解决方案利用下一代LLM不断增强功能

RAG vs CAG

为了比较RAG和CAG,研究人员针对两个广泛认可的问答基准测试SQuAD和HotPotQA进行了实验:前者侧重于单个文档的上下文感知问答,后者需要跨多个文档进行多跳推理。

他们使用了Llama-3.1-8B模型,具有128000个词元上下文窗口。针对RAG,他们将LLM与两个检索系统相结合以获得与问题相关的段落:基本的BM25算法和OpenAI嵌入。针对CAG,他们多个文档基准测试插入到提示中,让模型自决定使用哪些段落来回答问题。他们的实验表明,CAG在大多数情况下的表现都优于RAG系统。

图2. CAG的表现优于稀疏RAG (BM25检索)和密集RAG(OpenAI嵌入)图2. CAG的表现优于稀疏RAG (BM25检索)和密集RAG(OpenAI嵌入)

研究人员写道:通过从测试集预加载整个上下文,我们的系统消除了检索错误,并确保了针对所有相关信息的整体推理。在RAG系统可能检索不完整或不相关的段落、导致答案生成不尽如人意的情况下,这种优势来得明显。

CAG还显著缩短了生成答案的时间,特别是当参考文本长度增加时。

图3. CAG的答案生成时间比RAG短得多(来源:arXiv)图3. CAG的答案生成时间比RAG短得多(来源:arXiv)

话虽如此,CAG并非灵丹妙药,应该谨慎使用。它非常适合这类场景:知识库不经常改变,又小到足以入到模型上下文窗口。企业还应该注意文档包含基于文档上下文的冲突事实的情况,这可能会在推理过程中导致模型混淆

确定CAG是否适合使用场景,最佳方法是试验一番。幸,CAG的实现简单,在致力于需要更多开发工作的RAG解决方案之前,应该始终将试用CAG视为第一步。

原文标题:Beyond RAG: How cache-augmented generation reduces latency, complexity for smaller workloads,作者:Ben Dickson

责任编辑:华轩 来源: 51CTO
相关推荐

2023-10-14 17:46:17

RAG提示工程GPT-3

2024-05-20 08:31:33

检索增强生成LLM大型语言模型

2024-02-18 09:00:00

RAG工具LlamaIndexChatGPT

2024-10-31 14:46:31

2024-11-19 13:05:40

2024-09-05 08:24:09

2024-04-19 14:27:26

检索增强生成大型语言模型

2025-01-23 16:23:30

2024-05-28 09:24:32

2023-09-11 09:00:00

检索增强生成大数据模型自然语言处理

2025-02-13 09:01:03

2024-06-18 15:36:50

2023-10-27 10:23:35

大语言模型人工智能

2024-12-23 11:31:05

大模型检索人工智能

2024-01-17 09:00:00

大型语言模型机器学习向量搜索引擎

2024-10-16 13:27:27

2024-04-19 09:00:01

映射算法大型语言模型LLM

2023-11-08 16:18:32

人工智能矢量数据库

2024-12-04 10:35:21

点赞
收藏

51CTO技术栈公众号