论文:Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions
⭐⭐⭐⭐
ACL 2023, arXiv:2212.10509
Code: github.com/stonybrooknlp/ircot
大多数 RAG 都是一次检索来辅助 LLM 生成,但是面对多步骤推理问题,往往需要多次检索多次推理才能解决。
本文提出了 IRCoT:交叉进行 CoT 指导 retrieval 和使用 retrieval result 提升 CoT。也就是说,retrieval 和 reason 两个步骤必须相互通知。下图给了一个例子:
对于如上的问题, “In what country was Lost Gravity manufactured?” 单独问 LLM 或者单独在维基百科上搜索, 都很难得到答案. 但是通过如下步骤或许可以得到最终的答案:
- 首先将该问题在维基百科上搜索, 得到关于 《Lost Gravity》 的一些信息.
- LLM 能够从该信息中抓取到 《Lost Gravity》 的制作公司为 Mack Rides.
- 接着在维基百科中搜索 “The Lost Gradvity was manufactured by Mack Rides”, 我们会得到一些关于 Mack Rides 的信息.
- 基于该信息我们能够得到 (通过 LLM 抓取) “Mack Rides” 是一家德国公司的信息.
- 最终我们能够得到答案为: Germany.
上面的例子就是告诉我们,很多问题是需要检索 + 提取信息交替进行最后才能得到答案的。
整体思路如下图: