PlanRAG
https://arxiv.org/abs/2406.12430
目的
解决LLMs应用于需要复杂数据分析的决策制定问题。
主要贡献:
将决策QA定义为对决策问题Q、业务规则R 和 遵循模式S的结构化数据库D ,回答最佳决策dBest的任务,
提出了决策QA基准 DQA , 包括定位和构建两个场景
提出了PlanRAG,它可以显著提高LLMS的决策能力。
证明PlanRAG优于iterative RAG
亮点
提出弥补LMM难以应对需要复杂数据分析决策的场景的新方法。
利用agent的方式,使LMM主动规划并检索相关子问题信息来做出决定。
思路方法
利用LMM的逻辑推理能力,先将复杂问题进行分解规划。
并结合tool(根据sql等形式语句检索数据库)来获取对应子问题的相关数据。
并利用一个simulator模拟业务规则,计算决策结果。
不断思考,反馈,重规划,直到得出最终答案。
简介
一般而言,决策任务需要执行以下三个步骤:
(1)制定决策需要进行何种分析的计划;
(2)使用查询检索必要的数据;
(3)根据数据作出决定(即回答)
现有的基于RAG的方法主要关注基于知识的QA任务,而没有关注决策QA任务。因此,它们不太擅长处理步骤(1),即制定决策计划。
为了解决这一局限性,提出了迭代规划-然后检索的增广生成技术PlanRAG,它扩展了迭代RAG技术用于决策QA。
规划:基于PlanRAG的LM首先通过检查数据模式和问题来为其需要的分析类型制定计划。
检索:接下来,它通过生成和提出查询来检索用于分析的分散的数据片段。
重规划或回答:它评估是否需要制定新的计划以进行进一步分析,然后反复重复计划和检索步骤,或者根据数据做出决定即回答。
特点:使用单个语言模型执行两种类型的推理,减少使用不同语言模型可能带来的副作用。
在不损失通用性的情况下,数据库D太大,不能一次全部放入LM的输入中。因此,我们假设LM通过提出用于数据分析的查询来从D检索数据
DQA benchmark
分为定位与建筑两种场景,来源于从两款视频游戏Europa UnUniversal alis IV和Victoria 31中提取涉及301个具体情况的游戏数据来构建基准,这两款游戏很好地模拟了真实的商业情况。
定位场景
理解为:选择某个节点进行交易
业务规则R, 即选择该节点交易之后各数据产生一些变化的规则。
在定位场景中,决策的目标是找到一个贸易节点,能使自己国家的利润最大化。
建筑场景
理解为:选择某个建筑进行扩建。
最基本的业务规则是,如果决策者扩大工厂大楼b,则任何货物g在该建筑的产量都会增加。
在建筑场景中,目标是最小化给定商品g的价格。 (个人理解,在这个游戏中,某个城市的商品产量增加,购买物资的成本会降低。玩家需要更多的物资)
建筑场景例子:
红色、绿色和蓝色圆圈分别表示家具、木材和硬木。我们假设目标是通过决定工厂在B1和B2之间扩张从而增加其产量来降低家具的价格。
供应集合表示为Sup,将需求集合表示为DEM。TD表示总需求,TS表示总供应。
在该例子中,扩建建筑b,会增加物品g的产量CO(g,b)
目标即最小化g的价格,即最小化CP(g)
PlanRAG
Single-turn RAG:从D中检索只执行一次
iterative RAG: 如果多次执行检索
PlanRAG的推理过程:(1)规划、(2)检索和回答以及(3)重新规划的步骤
Planning:生成用于数据分析的初步计划。初始计划描述了决策所需的一系列数据分析,因此需要在检索步骤中执行。
Retrieving & Answering: 基于PlanRAG的LM 根据⟨Q、S、R⟩与初始计划,生成与前一个RAG不同的查询。这些查询实际上是由SQL或Cypher通过诸如LangChain2和LlamaIndex3等RAG接口对数据库执行的。查询结果被迭代地用于推理它是否需要重新规划或仅仅是为了更好地决策而进一步检索。通过到计划过程的反向链接,计划和检索过程被迭代地执行,直到LM确定不再需要进一步分析来作出决定。
Re-planning: 当最初的计划不够好,不足以解决决策问题时,就进行重新计划。因此,LM不仅将⟨Q、S、R⟩以及当前的计划和查询结果作为输入,并且生成新的计划以进行进一步的分析,或纠正先前分析的方向。
实验设置
比较了四种不同的决策LMS:
(1)基于Single-turn RAG的SingleRAG-LM
(2)基于iterative RAG的IterRAG-LM
(3)基于PlanRAG的PlanRAG-LM
(4)PlanRAG-LM w/o RP,即不需要重新规划的PlanRAG
所有实验都是在zero-shot和单次运行设置下进行的。
主要结果
对不同类型的问题(单次检索和多次检索问题)进行了分析,定位场景中比最先进SOTA的迭代RAG方法提高了15.8%,在构建场景中提高了7.4%。
PlanRAG在定位方面相对比在建筑中更有效的原因是,建筑需要比定位场景更长的遍历,并且它使得规划比定位更困难。SingleRAG-LM在建筑中的准确率非常低,这是因为建筑场景需要生成一个非常复杂的查询,很难一次进行推理。SingleRAG-LM在超过60%的定位问题和95%的建筑问题中未能从数据库中检索到任何结果。表4还显示,PlanRAG中没有重新规划会导致精度下降,特别是在定位方面下降10.8%,在建筑物方面下降0.9%。这一结果表明,重新规划过程对PlanRAG技术的决策者LM进行决策任务是有帮助的和重要的。
对SR和MR的分析
DQA中有相对简单的问题和相对困难的问题。为了检验PlanRAG的有效性,根据问题的难易程度,将DQA问题分为两种不同的类型:(1)单次检索(SR)问题和(2)多次检索(MR)问题。这里,SR指的是IterRAG-LM为了解决问题而从D执行一次检索的情况,而MR指的是它为了解决问题而执行多次检索的问题。SR的⟨Q,D⟩对共有84对,MR的⟨Q,D⟩对共有518对
结果表明,PlanRAG-LM在SR问题上比在MR问题上表现出更好的性能。这是因为在许多情况下,SR问题实际上并不那么容易。这是IterRAG-LM试图仅通过一次检索来解决的问题。也就是说,其中一些问题是IterRAG-LM低估了其难度的问题,但实际上是需要多次检索的相对较难的问题。相比之下,PlanRAG-LM降低了它通过计划步骤理解给定问题的难度并根据计划执行多次检索的可能性。因此,它可以显著提高精度。对于MR情况,PlanRAG-LM仍然比IterRAG-LM更有效,因为前者根据计划相对系统地执行数据检索,而后者则以杂乱无章的方式执行检索。