收录于话题
一个具体的例子展示了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等



https://arxiv.org/pdf/2411.19443
AUTO-RAG: AUTONOMOUS RETRIEVAL-AUGMENTED GENERATION FOR LARGE LANGUAGE MODELS
https://github.com/ictnlp/Auto-RAG
推荐阅读
欢迎关注我的公众号“PaperAgent”,每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。