回复
Auto-RAG开源,复杂多跳问题就这么解决了!
Auto-RAG是一个以 LLM 强大的决策能力为核心的自主迭代检索模型,通过多轮对话的方式建立 LLM 与检索者之间的交互模型,通过迭代推理确定何时检索信息、检索什么内容,在获得足够的外部知识后停止迭代,并将答案提供给用户。
一个具体的例子展示了Auto-RAG如何处理复杂的多跳问题。Auto-RAG进行迭代推理,策略性地规划检索,提取相关知识,精确识别信息需求,并为下一次检索细化查询,最终收敛到最终答案。在这个例子中,Auto-RAG在与检索器交互五次后终止,成功得出正确答案。
Auto-RAG GUI 交互:提供可部署的用户交互界面,输入问题后,Auto-RAG 会自动与检索器进行交互,无需人工干预。用户可以选择是否显示 Auto-RAG 与检索器交互的详细信息。
Auto-RAG模型的技术细节,包括数据构建、训练过程和推理方法:
1 基于推理的迭代检索
- 迭代检索过程被概念化为LLM和检索器之间的多轮交互。
- Auto-RAG通过细致的推理来确定是否需要额外的检索以及需要寻找的具体信息。
- 一旦获取到足够的信息,Auto-RAG停止生成新查询并给出最终答案。
1.1 基于推理的规划和查询细化
- 为了提高效率和保持迭代过程中的连贯性,提出了包含三种不同类型推理的迭代检索:检索规划、信息提取和答案推断。
- 使用少量示例提示(few-shot prompting)来引导LLM进行这样的推理过程。
- 根据用户输入和之前的检索计划,LLM可以迭代地细化查询。
1.2 数据过滤和格式化
- 对生成的推理和查询进行过滤,以确保质量。
- 如果最终答案与数据集中提供的答案一致,则保留数据。
- 将迭代检索过程概念化为多轮交互对话,并对数据进行格式化
2 训练
- 采用标准的监督式微调策略,以使任意LLM具备在迭代检索中自主决策的能力。
- 计算每个实例的交叉熵损失,并进行优化。
3 推理
- 训练完成后,Auto-RAG能够自主地在迭代检索中做出基于推理的决策。
- 在每次迭代中,根据用户查询或检索到的文档提供输入,并提取Auto-RAG指定的后续步骤。
- 如果在与检索器交互T次后仍未终止,Auto-RAG会使用生成的查询来自动生成文档,并将其作为下一次迭代的输入。
- 如果在额外的T_PK次迭代后仍未终止,Auto-RAG会直接预测答案。
实验结果表明,Auto-RAG 在六个基准测试中的表现优于所有基线:FLARE、Self-RAG、Iter-RetGen、Standard RAG、IRCoT等
案例研究:Self-RAG与Auto-RAG。Self-RAG只进行一次检索。相比之下,Auto-RAG能够适应性地调整检索次数,从而获得更好的性能。
https://arxiv.org/pdf/2411.19443
AUTO-RAG: AUTONOMOUS RETRIEVAL-AUGMENTED GENERATION FOR LARGE LANGUAGE MODELS
https://github.com/ictnlp/Auto-RAG
本文转载自PaperAgent
赞
收藏
回复
相关推荐