【AI学习】对RAG的理解

RAG,英文全称是Retrieval-Augmented Generation,检索增强生成。随着去年大模型技术的火爆,RAG作为一项可能解决大模型幻觉的有效技术,获得了广泛关注和快速发展。但其实,RAG并不是新技术,这项技术来自Facebook AI Research、University College London和New York University在2020年联合发表的一篇论文,《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》。
在这里插入图片描述
看一下论文摘要:大型预先训练的语言模型已被证明可以在参数中存储事实知识,并在下游NLP任务上进行微调时获得最先进的结果。然而,它们访问和精确操作知识的能力仍然有限,因此在知识密集型任务中,它们的性能落后于任务特定的体系结构。此外,为他们的决策提供来源和更新他们的世界知识仍然是有待解决的研究问题。带有显式非参数记忆可微分访问机制的预训练模型可以克服这个问题,但迄今为止只研究了用于‘提取’的下游任务。我们探索了一种用于检索增强生成(RAG)的通用微调方法——将预训练的参数记忆和非参数记忆结合起来用于语言生成的模型。我们引入了RAG模型,其中参数记忆是预训练的seq2seq模型,非参数记忆是维基百科的密集向量索引,通过预训练的神经检索器访问。我们比较了两种RAG公式,一种是在整个生成序列中使用相同的检索通道,另一种是在每个标记上使用不同的通道。我们在广泛的知识密集型NLP任务上微调和评估了我们的模型,并在三个开放领域QA任务上设置了最先进的模型,优于参数seq2seq模型和任务特定的检索和提取架构。对于语言生成任务,我们发现RAG模型生成的语言比最先进的只有参数的seq2seq基线更具体、更多样、更真实。

简单说,就是针对语言模型不能轻易扩展或修改模型记忆、产生幻觉的问题,提出了一种将模型中的参数记忆和非参数记忆结合的方法。
在这里插入图片描述
论文中的方案图示:将预训练的检索器(查询编码器+文档索引)与预训练的编码器-解码器(生成器)相结合,并进行端到端的微调。对于某项查询x,使用最大内积搜索(MIPS)来查找所有文档Zi中相关性最高的前K个文档。为了进行最终预测y,将Z视为一个潜在变量,并在给定不同文档的情况下对编码器-解码器的预测进行微调。
在这里插入图片描述
论文看起来稍微有点晦涩,网上有一个简单好看(又好看又好看)的图,可以快速理解一下RAG的概念:“简而言之,RAG是这样的,将文本分割成小块,然后使用某种Encoder 模型将这些小块转换为向量,把这些向量汇总到一个索引中,最后创建一个针对大语言模型的提示,指导模型根据在搜索步骤中找到的上下文回答用户的查询。在实际运行中,用相同的 Encoder 模型将用户的查询转化为向量,然后对这个查询向量进行搜索,与索引进行匹配,找出最相关的前 k 个结果,从数据库中提取相应的文本块,并将其作为上下文输入 LLM 进行处理。”
在这里插入图片描述
看一个具体的例子。上面这张图来自英伟达的介绍,当向大模型询问什么是SM时,通过检索获得SM的相关信息,然后将问题与检索结果一并提交给LLM,这样大模型就能有更准确的回答。
这里需要理解一下,微调与RAG之间的关系。比较喜欢一个通俗的解释:微调有点像闭卷考试,将专业知识注入到模型中,RAG有点像开卷考试,可以让你带着资料,但是呢,虽然最后是开卷考试,但是老师平时还是要按照闭卷考试的难度去要求学生学习,这样有了能够应对闭卷考试的水平,才能够在开卷考试中有更好的成绩,否则,抄都不知道怎么抄。微调 vs RAG,这两个技术,相辅相成,不矛盾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值