检索增强生成是什么?
深入了解检索增强生成技术' (Delve into the Technology of Enhanced Retrieval and Generation)
要理解最新的生成AI技术,可以想象一下一个法庭。
法官听取案件并根据他们对法律的一般理解作出决定。有时,像医疗事故索赔或劳动争议这样的案件需要特殊的专业知识,因此法官会派遣法院助理去法律图书馆,寻找可以引用的先例和具体案例。
像一个好法官一样,大型语言模型(LLMs)可以回答各种各样的人类问题。但是为了提供引用来源的权威答案,模型需要一个助手进行一些研究。
AI的法院助理是一个名为检索增强生成(RAG)的过程。
名称的来历
Patrick Lewis是《2020年论文的首席作者,他创造了这个术语,他为这个现在描述了在数百个论文和几十个商业服务中跨越的方法和他认为代表了生成AI未来的增长的家族的缩写表示感到抱歉。

“如果我们知道我们的工作会变得如此广泛,我们肯定会对名称考虑得更多。” Lewis在新加坡的一个数据库开发人员区域会议上接受采访时说。
“我们一直计划取一个更加好听的名字,但当写论文的时候,没有人有更好的主意,”领导AI初创公司Cohere的RAG团队的刘易斯说。
那么,什么是检索增强生成?
检索增强生成是一种通过从外部来源获取事实来增强生成AI模型的准确性和可靠性的技术。
换句话说,它填补了LLMs的工作方式中的一个空白。在内部,LLMs是神经网络,通常由它们包含的参数数量来衡量。LLM的参数基本上代表了人们如何使用单词构成句子的一般模式。
这种深度理解,有时被称为参数化知识,使LLMs能够以极快的速度回应一般提示。然而,对于想要深入了解当前或更具体主题的用户来说,它并不实用。
结合内部和外部资源
Lewis和他的同事开发了检索增强生成方法,将生成AI服务与外部资源连接在一起,特别是那些富含最新技术细节的资源。
这篇论文的合著者来自前Facebook AI研究(现已改名为Meta AI),伦敦大学学院和纽约大学,称RAG为“通用的微调配方”,因为几乎任何LLM都可以使用它与几乎任何外部资源连接。
建立用户信任
检索增强生成为模型提供可以引用的来源,就像一篇研究论文中的脚注,这样用户就可以检查任何主张。这建立了信任。
此外,这种技术可以帮助模型澄清用户查询中的歧义。它还减少了模型猜测错误的可能性,这种现象有时被称为幻觉。
RAG的另一个重要优势是它相对容易。刘易斯和论文的三位合著者在一篇博客中写道,开发者只需用不到五行代码就可以实现该过程。
这使得该方法比使用额外数据集重新训练模型更快速、更便宜。它还可以让用户即时切换新的来源。
人们如何使用检索增强生成
通过检索增强生成,用户可以与数据存储库进行对话,开启了新的体验方式。这意味着RAG的应用可能是可用数据集数量的多倍。
例如,一种结合医疗指标的生成式AI模型可以成为医生或护士的伟大助手。金融分析师将从与市场数据相关联的助手中受益。
事实上,几乎任何企业都可以将其技术或政策手册、视频或日志转化为名为知识库的资源,从而增强LLMs。这些资源可以实现诸如客户或现场支持、员工培训和开发人员生产力等用途。
这种广泛的潜力正是包括AWS、IBM、Glean、Google、Microsoft、NVIDIA、Oracle和Pinecone等公司采用RAG的原因。
开始使用检索增强生成
为了帮助用户入门,NVIDIA开发了一种检索增强生成的参考架构。它包括一个示例聊天机器人和用户创建自己应用程序所需的元素。
工作流程使用NVIDIA NeMo,这是一个用于开发和定制生成式AI模型的框架,以及用于在生产中运行生成式AI模型的软件,如NVIDIA Triton Inference Server和NVIDIA TensorRT-LLM。
这些软件组件都是NVIDIA AI Enterprise的一部分,这是一个软件平台,加速了可供生产使用的AI的开发和部署,具有企业所需的安全性、支持和稳定性。
为了获得RAG工作流程的最佳性能,需要大量的内存和计算来移动和处理数据。具有288GB快速HBM3e内存和8 petaflops计算能力的NVIDIA GH200 Grace Hopper Superchip非常理想,它可以比使用CPU提供150倍的加速。
一旦公司熟悉了RAG,它们可以将各种现成的或定制的LLMs与内部或外部知识库结合起来,创建各种助手来帮助员工和客户。
RAG不需要数据中心。由于NVIDIA的软件在Windows PC上提供了支持,LLMs现已在Windows PC上推出,用户可以通过笔记本电脑等设备访问各种应用程序。

配备NVIDIA RTX GPU的个人电脑现在可以本地运行一些AI模型。通过在个人电脑上使用RAG,用户可以链接到私人知识来源,无论是电子邮件、笔记还是文章,从而改善响应。用户可以确保他们的数据源、提示和响应都保持私密和安全。
最近的一篇博文提供了一个使用TensorRT-LLM在Windows上加速的RAG的示例,以获得更好的快速结果。
检索增强生成的历史
这种技术的根源可以追溯到至少上世纪70年代初。那时,信息检索领域的研究人员原型化了他们称之为问答系统的应用程序,这些应用程序使用自然语言处理(NLP)来访问文本,最初仅限于狭窄的主题,如棒球。
这种文本挖掘的概念多年来基本保持不变。但是推动它们的机器学习引擎已经显著增长,增加了它们的实用性和受欢迎程度。
在1990年代中期,Ask Jeeves服务(现在的Ask.com)以其穿着得体的贴身男仆形象推广了问答服务。IBM的Watson在2011年成为了电视明星,当时他在Jeopardy!游戏节目中轻松击败了两名人类冠军。

今天,LLMs正将问答系统提升到一个全新的水平。
来自伦敦实验室的见解
这篇具有开创性的2020年论文是在Lewis在伦敦大学学院攻读自然语言处理博士学位并为Meta在一个新的伦敦人工智能实验室工作期间发表的。该团队正在寻找将更多知识塞入LLM参数的方法,并使用他们开发的基准来衡量进展。
借鉴早期的方法并受到谷歌研究人员的一篇论文的启发,该团队“有了一种令人信服的愿景,即一个经过训练的系统中间带有一个检索索引,以便它可以学习和生成您想要的任何文本输出,”Lewis回忆道。

当Lewis将另一个Meta团队的一个有希望的检索系统连接到正在进行的工作中时,第一次的结果出乎意料地令人印象深刻。
“我向我的导师展示了这个结果,他说:‘哇,赢了。这种事情并不经常发生,因为这些工作流程很难一次就正确地建立起来,’”他说。
Lewis还称赞了纽约大学员工Ethan Perez和Facebook AI研究员Douwe Kiela的重要贡献。
完成后,这项工作在一组NVIDIA GPU集群上运行,展示了如何使生成式AI模型更具权威性和值得信赖。这篇论文已经被数百篇进一步扩展和加强概念的论文引用,该领域的研究仍然非常活跃。
检索增强的生成工作原理
在高层次上,这是NVIDIA技术简报如何描述RAG过程的。
当用户向LLM提问时,AI模型将查询发送给另一个模型,该模型将其转换为数值格式,以便机器可以读取。查询的数值版本有时被称为嵌入或向量。

然后,嵌入模型将这些数值与可用知识库的机器可读索引中的向量进行比较。当它找到匹配项或多个匹配项时,它检索相关的数据,将其转换为可读的文字,并将其传回LLM。
最后,LLM将检索到的文字和自己对查询的回答结合起来,形成向用户呈现的最终答案,可能引用了嵌入模型找到的来源。
保持资源的时效性
在后台,嵌入模型不断创建和更新机器可读的索引,有时称为向量数据库,为新的和更新的知识库提供支持。

许多开发者发现LangChain(一个开源库)在链接LLMs(语言模型),嵌入模型和知识库方面特别有用。NVIDIA在检索增强生成方面的参考架构中使用LangChain。
LangChain社区提供了对RAG过程的描述。
展望未来,生成式人工智能的未来在于创造性地将各种LLMs和知识库链接在一起,以创建能够提供用户可验证的权威结果的新型助手。
在这个NVIDIA LaunchPad实验室中,体验使用检索增强生成的人工智能聊天机器人。




