使用检索增强生成(RAG)从外部知识源检索相关信息使大型语言模型(LLM)能够回答私人和/或以前看不见的文档集合中的问题。
然而,RAG在针对整个文本语料库的全局问题上失败了,例如“数据集中的主要主题是什么?”,因为这本质上是一个以查询为中心的摘要(QFS)任务,而不是一个明确的检索任务。
同时,先前的QFS方法无法按比例缩放到典型RAG系统索引的文本数量。
为了结合这些对比方法的优势,我们提出了一种在私人文本语料库上进行问答的图RAG方法,该方法既考虑了用户问题的普遍性,又考虑了要索引的源文本的数量。
我们的方法使用LLM分两个阶段构建基于图的文本索引:首先从源文档中导出实体知识图,然后为所有密切相关的实体组预生成社区摘要。
给定一个问题,在所有部分响应再次汇总为对用户的最终响应之前,每个社区摘要都用于生成部分响应。对于一类在100万令牌范围内的数据集上的全局感知问题,我们表明,在生成答案的全面性和多样性方面,Graph RAG比天真的RAG基线有了实质性的改进。
也许LLM最大的挑战和机遇是扩展其强大的能力,以解决他们所训练的数据之外的问题,并与LLM从未见过的数据取得可比的结果。这为数据调查开辟了新的可能性,例如通过上下文识别主题和语义概念,并以数据集为基础。在这篇文章中,我们介绍了由Microsoft Research创建的GraphRAG,它是增强LLM功能的一个重大进步。
出版物
泛化基础模型能否胜过特殊用途的调优?医学案例研究
检索增强生成(RAG)是一种基于用户查询搜索信息并提供结果作为生成人工智能答案的参考的技术。该技术是大多数基于LLM的工具的重要组成部分,并且大多数RAG方法使用向量相似性作为搜索技术。GraphRAG使用LLM生成的知识图,在对复杂信息进行文档分析时,大大提高了问答性能。这建立在我们最近的研究基础上,该研究指出了在私人数据集上执行发现时及时增强的力量。在这里,我们将私有数据集定义为LLM未接受过培训且从未见过的数据,例如企业的专有研究、业务文档或通信。创建基线RAG[1]是为了帮助解决这个问题,但我们观察到基线RAG表现非常差的情况。例如:基线RAG很难将这些点连接起来。当回答一个问题需要通过共享属性遍历不同的信息片段以提供新的综合见解时,就会发生这种情况。
当被要求全面理解大型数据集合甚至单个大型文档中总结的语义概念时,基线RAG表现不佳。
为了解决这一问题,技术界正在努力开发扩展和增强RAG的方法(例如,LlamaIndex(在新选项卡中打开))。Microsoft Research的新方法GraphRAG使用LLM创建基于私有数据集的知识图。然后将该图与图机器学习一起使用,以在查询时执行提示增强。GraphRAG在回答上述两类问题方面表现出了显著的改进,证明了其智能或掌握能力优于之前应用于私人数据集的其他方法。
将RAG应用于私有数据集
为了证明GraphRAG的有效性,让我们从使用新闻文章中的暴力事件信息(VIINA)数据集(在新选项卡中打开)进行调查开始。之所以选择该数据集,是因为其复杂性以及存在不同意见和部分信息。这是一个混乱的真实世界测试用例,它是最近的,不包括在LLM基础模型的训练中。
在这项研究中,我们使用了2023年6月俄罗斯和乌克兰新闻来源的数千篇新闻文章,并将其翻译成英语,创建了一个私人数据集,我们将在该数据集上进行基于LLM的检索。数据集太大,无法放入LLM上下文窗口,因此需要RAG方法。
我们从一个探索性查询开始,我们将其提交给基线RAG系统和我们的新方法GraphRAG:
查询:“新罗西亚是什么?”
基线RAG
所提供的上下文中未提及“新罗西亚”一词。然而,为了提供一些信息,新罗西亚或新俄罗斯是一个历史术语,指的是18世纪被俄罗斯帝国征服的乌克兰南部地区。近年来,俄罗斯支持的乌克兰东部分离主义者重新使用了这个词,指的是他们声称拥有的领土,但国际机构并没有正式承认它是一个独立的实体。
GraphRAG
新罗西亚,又称新俄罗斯,是一个具有历史和当代意义的术语。历史上,它指的是俄罗斯帝国南部的一个地区,现在是乌克兰的一部分。在当代背景下,亲俄分裂分子使用它来指代乌克兰的某些地区[数据:实体(64949126493)]。
新罗西亚一词被用于乌克兰的政治运动,特别是俄罗斯民族主义者。这场运动与破坏乌克兰稳定和建立所谓“新罗西亚”的努力有关[数据:实体(912);关系(1521115206)]。该术语也被用于表示乌克兰的分离主义国家,称为新罗西亚联邦共和国(FRN)[数据:实体(7690)]。
有关本项目的原文内容:GraphRAG: Unlocking LLM discovery on narrative private data - Microsoft Research
项目地址:microsoft/graphrag: A modular graph-based Retrieval-Augmented Generation (RAG) system (github.com)