CoRAG理解

90 阅读2分钟

微软与中国人民大学合作开发了一种名为CoRAG(Chain-of-Retrieval Augmented Generation)的新型检索增强生成(RAG)模型,旨在解决传统RAG方法在处理复杂查询时的局限性。传统RAG系统通常仅进行一次检索,这在多跳问答(Multi-Hop Question Answering, MQA)等复杂任务中可能导致信息不完整或不准确。CoRAG通过动态调整查询和逐步优化检索路径,显著提升了复杂查询的处理能力和生成答案的准确性。

1. 主要问题

传统RAG方法的主要问题在于:

  • 单次检索的局限性:传统RAG系统在生成答案之前仅进行一次检索,这使得它们难以整合多源信息,特别是在需要多步推理的任务中,容易导致答案不完整或错误。
  • 复杂查询的挑战:在多跳问答任务中,传统RAG系统可能因一次检索的信息不足而无法生成准确的答案。

2. 解决方案

CoRAG的核心创新在于其动态查询重构机制,通过以下方式优化了传统RAG模型:

  • 生成检索链(类似推理模型的思维链):CoRAG允许模型根据当前状态动态调整查询,逐步生成中间检索链。每个检索链包含多个子查询和子答案,最终逐步接近用户的问题。

    主要流程大概是:用户问题 -- 子查询 -- 子答案 -- 子查询n -- 子答案n --最终答案。在不断问问题、回答的过程中接近最终答案。

image.png

  • 拒绝采样技术:通过拒绝采样技术,CoRAG从现有的数据集中生成合理的检索链,并在训练过程中增强仅提供正确最终答案的RAG数据集。

  • 拒绝采样个人理解就是求概率,选出分数最高的一个。之所以要微调训练,就是因为需要生成子查询、子回答、最终回答这种CoRAG范式。

3.总结

这篇文章的主要思路就是:用户问题到正确答案之间还有一段推理过程,不是简单问题,回答可以直给,因此需要不断问问题,总结最新的资讯来推进这个推理过程

整个过程就是模仿人类面对需要推理的问题时的思考过程,不断重复问问题,回答问题的过程从而得到最终结果。

论文地址:arxiv.org/abs/2501.14…