Active RAG -- FLARE 详解

论文来自 Carnegie Mellon University,原文链接:https://arxiv.org/abs/2305.06983

RAG 是一种缓解 LLM 幻觉问题的方法,已有的一些方法可以通过 single-time 检索增强得到比纯参数LLM更好的返回。特别是对于短形式的知识密集型生成任务,如事实问答(QA),这类问题的信息需求在用户的输入中是明确的,仅根据输入检索一次相关知识就足够了。

与短格式生成相比,长格式生成提出了复杂的信息需求,这些需求并不总是可以非常容易从单次的输入中得到。与人类在创建论文、散文或书籍等内容时逐渐收集信息的方式类似,使用 LLM 进行长格式生成需要在整个生成过程中收集多个知识片段。

在这种情况下,作者提出 FLARE 模型,该模型迭代生成临时下一句,如果其中包含低概率标记,则将其用作检索相关文档的查询,并重新生成下一句直到语句结束。

Active RAG 原理简介

在第 t(t≥1)步时,基于用户输入 x 和先一步生成的输出来生成检查查询语句,公式如下:
在这里插入图片描述
其中 qry() 指的的是查询公式函数。在开始时(t=1),用户输入用作初始查询语句。

对于给定检索文档,LM 会用下面的公式不断生成答案,直到触发下一次检索或到达末尾:
在这里插入图片描述
其中 yt 代表在当前步骤 t 生成的 tokens,LM 的输入是检索文档,用户输入和上一次生成结果。

FLARE:Forward-Looking Active REtrieval Augmented Generation

假设条件(作者认为):

### RAG Sequence NQ 技术概述 RAG (Retrieval-Augmented Generation) 模型中的 `sequence-nq` 特指一种特定配置下的检索增强生成模型,该配置特别针对自然问题(Natural Questions, NQ)。此配置旨在通过结合外部知识源来提高问答系统的性能。 #### 构建流程与机制 在构建过程中,`rag-sequence-nq` 使用了专门设计用于处理自然语言提问的数据集和方法论。具体来说: - **检索器组件**:采用密集向量表示法(Dense Passage Retrieval, DPR),能够更精准地定位到最相关的文档片段[^2]。 ```python from transformers import RagTokenizer, RagSequenceForGeneration tokenizer = RagTokenizer.from_pretrained("facebook/rag-sequence-nq") model = RagSequenceForGeneration.from_pretrained("facebook/rag-sequence-nq") ``` - **生成器模块**:基于T5架构进行了优化调整,使其更适合于从检索得到的信息中提炼出简洁而准确的答案。 这种组合方式不仅提升了对于复杂问题的理解能力,同时也增强了答案的质量和可靠性。 #### 实现细节 为了更好地理解其实现过程,下面提供了一个简单的Python代码示例,展示了如何加载并使用预训练好的`rag-sequence-nq`模型来进行问答操作: ```python from transformers import pipeline qa_pipeline = pipeline('question-generation', model='facebook/rag-sequence-nq') context = "The Eiffel Tower is a wrought iron lattice tower on the Champ de Mars in Paris." questions_answers = qa_pipeline(context) for q_a in questions_answers: print(f"Question: {q_a['question']}") print(f"Answer: {q_a['answer']}\n") ``` 这段代码首先创建了一个问答管道对象,接着定义了一段背景信息作为上下文,最后调用了pipeline函数执行具体的问答回路,并打印出了产生的问题及其对应的答案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值