检索生成(RAG) vs 长文本大模型:实际应用中如何选择? 原创
编者按:大模型的上下文理解能力直接影响到 LLMs 在复杂任务和长对话中的表现。本期内容聚焦于两种主流技术:长上下文(Large Context Windows)和检索增强生成(RAG)。这两种技术各有何优势?在实际应用中,我们又该如何权衡选择?
文章不仅详细阐述了这两种技术的工作原理,还深入分析了它们在效率、准确性和实施成本等方面的差异。文章特别提到了在执行重复性任务时使用 Context Caching 优化长上下文的优势,然而,缓存策略的效果很大程度上取决于提示词的可预测性。如果用户输入变化无常,缓存的效果可能会大打折扣。
本文可供各位读者进行技术选型时参考,期待未来看到更多提升 LLMs 上下文理解能力的创新方案。
作者 | Priyanka Vergadia
编译 | 岳扬
大语言模型(Large Language Models ,LLMs)技术正飞速发展,尤其是模型在生成文本时能够处理的上下文信息量极速提升。尽管 LLMs 在文本的处理和生成等方面表现出色,但它们却面临一个固有的挑战:难以捕捉信息背景全貌,尤其是在应对冗长对话或涉及多重细节的复杂任务时。为了解决这一问题,研究人员引入了长上下文(Large context windows)和检索增强生成(Retrieval-Augmented Generation ,RAG)两种技术。这两种技术各有千秋,选择哪种取决于具体的应用需求。下面,我们将探讨为何提升模型的上下文理解能力如此重要。
上下文(Context)的重要性:
让我们设想一下日常生活中的对话场景。要理解对方此刻的话语,我们需要回顾之前的对话内容。如若大语言模型(LLMs)缺乏必要的上下文理解能力,在这方面可能会“头疼”。本文认为上下文非常重要,有如下几点理由:
- 能够保持对话的连贯性:在日常对话交谈中,如果有人突然提到“那只狗🐶”,我们能立即明白他指的是之前讨论过的那只狗🐶,而不是凭空出现的一只新狗。长上下文(Large context windows)或检索增强生成(RAG)技术能够帮助 LLMs 在交互过程中保持这种语义连贯性。
- 理解复杂信息及其复杂关系:某些任务需要理解信息之间错综复杂的关系。比如,要准确总结一篇学术论文,就需要理解研究方法与实验结果之间的联系。长上下文或 RAG 使 LLMs 能够全面考虑所有相关内容,从而更深入地把握整体信息。
- 减少"幻觉"现象:LLMs 在缺乏足够的上下文信息时,可能会自行编造数据或内容来填补认知空白,导致输出错误荒谬或毫无意义的信息。这种现象在人工智能领域被称为"幻觉(Hallucinations)"。长上下文或 RAG 技术通过提供更多的背景信息,能够有效地将 LLMs 的生成内容锚定在现实基础之上,使其生成内容更符合实际情况。
01 长上下文(Large Context Windows)
长上下文让大语言模型(LLMs)在生成响应前能处理更多的文本信息。这说明 LLMs 可以一次性掌握大量的数据和信息,从而更好地把握全局,生成的模型响应也更能贴合对话主题。这对于那些需要深度理解对话历史或背景信息的任务尤其有用。不过,处理海量文本会带来较高的计算成本,同时也会影响处理速度。
02 利用缓存优化长上下文技术的好处
在处理长上下文带来的计算负担时,采用缓存策略是一种有效的成本优化途径。缓存机制会保存已处理过的上下文信息,以便在遇到类似提示词时能迅速调用,这一举措能够大幅缩短模型响应时间,尤其在执行重复性工作时效果显著。
实例解析:设想一个专门用于总结学术论文的大语言模型。借助缓存功能,LLMs 能够存储之前分析过的论文段落(如引言、实验方法等)。当接收到一篇新论文,且其结构与以往处理过的论文类似时,模型便能直接调用缓存中的相关上下文,仅需集中精力分析创新部分的内容(如实验结果和结论)。
不过,启用缓存也会给系统引入额外的复杂度。决策者必须权衡哪些信息值得缓存以及缓存期多长时间。此外,缓存是否有效直接取决于提示词的可预测性(predictability) 。若用户的提示词内容变化无常,缓存的效果可能会大打折扣。
03 RAG:检索增强生成技术
RAG 技术能够显著提升大语言模型(如 GPT-3 等)的准确度与可靠性。其核心在于将 LLMs 与外部知识库(如维基百科或企业内部文档)连接,使得模型在生成响应前,能够先从这些知识库中检索并使用最相关的信息。相较于单纯依赖缓存长上下文的方法,RAG 的优势如下:
- 效率提升:RAG 只检索最相关的关键信息,因此速度更快,成本效益更高。
- 准确性增强:聚焦于最相关的信息有效降低了大模型出现幻觉的风险,确保了叙述的事实更为准确。
然而,RAG 技术的引入虽开辟了一条新路径,却也伴随着较高的前期工作成本。RAG 系统的搭建与运维,需依托于一套复杂的检索机制,该机制依赖向量搜索(vector search)及嵌入(embeddings)技术,以确保 LLM 能够高效获取最为契合的信息资源。
04 RAG 对比长上下文:权衡与选择
长上下文(Large context windows)赋予 LLMs 直接处理海量历史信息的能力,尤其适用于需要进行深度分析的复杂任务。然而,这种全面覆盖的方式计算成本较高,执行效率相对低下。RAG 则另辟蹊径,利用检索系统,从庞大的知识库中精挑细选出最相关的信息片段供给 LLM 使用。此举不仅能够提速增效,还可以大幅节省成本,并有效降低出错的风险。但需要注意的是,RAG 的高效运行需仰仗一套完善的数据检索体系,且初期部署较为繁琐。综上所述,这个问题的最优解应基于决策者对深度分析能力、系统运行效率的要求。
决策指南概览:
- 带缓存的长上下文:当面对需深度剖析的大数据集,并且提示词具有一定的可预测性,利于缓存机制发挥效能时,此选项值得考虑。
- RAG:如若信奉效率至上,追求事实的准确性,或使用场景的提示词内容变化莫测,此时缓存机制的作用有限,则 RAG 可成为优选方案。
总体而言,理想的技术策略应紧密结合项目特性和可利用的资源数量。进行决策时,务必综合考虑使用成本、准确性、部署运维难度以及提示词内容的可预测性。希望本文能够帮助各位读者准确理解 RAG 技术与长上下文技术间的本质区别,敬请关注本博客,不要错过后续精彩内容哦~
Thanks for reading!
———
Priyanka Vergadia
https://topmate.io/pvergadia
Head of North America Developer Advocacy @Google | Author | Technical Storyteller | Cloud Computing & AI | bio.link/pvergadia
END
原文链接:
https://www.thecloudgirl.dev/blog/rag-vs-large-context-window