摘要
微软研究人员开发了一种名为 GraphRAG 的动态社区选择方法,显著降低了全局搜索的成本(平均降低 77%),同时保持了与静态方法相当的响应质量,甚至在某些方面有所改进。
关键要点:
- GraphRAG 使用分层知识图来回答需要整体数据集理解的'全局'查询。
- 动态社区选择方法通过预先评估社区报告的相关性来减少计算成本。
- 与静态方法相比,动态方法在保持类似响应质量的同时,将 Token 成本降低了 77%。
- 动态方法允许搜索整个知识图,而不是预定义静态社区级别,从而可能产生更详细的答案。
- 使用较小的 LLM 模型进行相关性评分,降低了计算成本。
- 在 AP News 数据集上的实验表明,动态方法在全面性和赋能方面略有改进。
- 该方法的代码已在 GraphRAG GitHub 仓库上公开。
正文
检索增强生成(RAG)允许 AI 系统在生成对用户查询的响应时为大型语言模型(LLM)提供额外的信息和上下文。但是,基于 RAG 的传统方法可能难以检索需要整个数据集的高级知识的信息,尤其是对于抽象和全局问题,例如无关键字的查询:'Catch me up on the last two weeks of updates.'这些类型的查询称为'全局'查询,因为它们需要全面了解数据集才能回答问题。GraphRAG 旨在通过两个主要步骤来解决这些问题:索引和查询。索引引擎首先将文本文档的集合分解为多个段,然后这些段被聚集到分层社区中,其中的实体和关系通过更高级别的抽象将每个段连接起来。然后,我们使用 LLM 生成每个社区的摘要,称为社区报告。因此,索引引擎会创建数据集的分层知识图谱,层次结构中的每个级别都代表原始材料的不同抽象和总结级别。在查询步骤中,GraphRAG 使用此结构化知识为 LLM 提供额外的上下文,以帮助回答问题。在这篇博文中,我们展示了一种执行'全局'查询的新方法,该方法有效地利用了知识图谱表示并优化了 GraphRAG 中全局搜索的性能。
静态与动态全局搜索
GraphRAG 中的全局搜索算法旨在回答需要了解整个数据集的抽象问题。它通过在知识图谱中预先确定的级别搜索社区来生成答案。然后,LLM 在此抽象级别组合并总结所有社区报告。最后,摘要用作 LLM 的附加上下文,以生成对用户问题的响应。这个 map-reduce 过程允许 LLM 从所有社区报告中选择相关文本来生成其最终答案。这种静态方法成本高昂且效率低下,因为它包含许多对用户查询没有信息性的较低级别报告。由于不太可能所有社区报告(尤其是高级别报告)都与回答查询相关,因此非常可取在资源密集型 map-reduce 操作之前首先考虑报告的相关性的方法。
在这里,我们将动态社区选择引入全局搜索算法,该算法利用了索引数据集的知识图谱结构。从知识图谱的根开始,我们使用 LLM 来评估社区报告在回答用户问题方面的相关性。如果报告被认为不相关,我们只需从搜索过程中删除它及其节点(或子社区)即可。另一方面,如果认为报告相关,则我们向下遍历其子节点并重复该操作。最后,仅将相关报告传递给 map-reduce 操作,以生成对用户的响应。
![图 1:动态社区选择工作流程]
动态全局搜索方法有两个主要好处。首先,它会在早期删除不相关的报告,从而减少 map-reduce 操作中要考虑的社区报告总数。其次,它使用户能够搜索整个知识图谱,而不是预定义静态社区级别,并且可以获得更详细的答案。这允许它收集各种抽象级别的信息。此外,评级操作是一个分类问题,比摘要和文本生成要容易得多,因此可以使用不太复杂的模型。在我们利用 OpenAI 模型的实验中,GPT-4o-mini 评分者实现了与 GPT-4o 评分者非常相似的检索率,同时以极低的成本和时间运行。总体而言,我们在评分操作中使用更小、更具成本效益的模型 GPT-4o-mini 来删除任何不相关的社区报告,然后使用 GPT-4o 执行 map-reduce 操作以生成最终响应。
AP News 数据集上的动态社区选择
为了证明动态全局搜索在保持相似响应质量的同时带来的成本节约,我们在 AP News 的数据集上并排评估了这两种方法。我们测试了 50 个全局问题的静态和动态搜索,并使用 LLM 评估器评估了最终的回答质量。此外,我们比较了两种方法的总 Token 成本。为了直接比较这两种方法,我们限制了动态全局搜索的最大搜索深度,以便两种方法使用相同的基础信息。
我们使用 LLM 评估器根据 3 个关键指标选择最佳响应(即胜率):
- 全面性:答案提供了多少细节来涵盖问题的所有方面和细节?
- 多样性:在对问题提供不同的观点和见解时,答案的多样性和丰富性如何?
- 赋能:答案在多大程度上帮助读者理解并对主题做出明智的判断?
在保持输出质量的同时显著降低成本
动态社区选择生成的响应质量与其静态响应质量相当,同时降低了总 Token 成本。我们的 LLM 评估表明,在 AP News 数据集的 50 个全球问题中,两种方法的输出质量在三个关键指标上相似,它们之间没有统计意义。更重要的是,我们观察到使用新方法时,Token 总成本显著降低,与社区级别 1 的现有静态全局搜索相比,平均成本降低了 77%。这是因为通过评级过程会消除大量社区报告,因此 map-reduce 操作中需要的提示和输出 Token 更少。例如,现有的静态全局搜索方法在 map-reduce 操作中处理大约 1500 份 1 级社区报告,而在动态搜索中平均只选择 470 份社区报告来生成最终答案。


