一睹:微软最新发布的LazyGraphRAG

微软近期推出了一项革新性的技术------LazyGraphRAG,这是一种启用图谱的检索增强生成(Retrieval Augmented Generation,RAG)技术,它以其卓越的效率和成本效益,彻底颠覆了传统观念中对"懒惰"的刻板印象。

位于雷德蒙德的微软研究团队宣称,这项最新的RAG技术在成本和质量上展现出了"与生俱来的可扩展性",并在成本与质量的连续谱上呈现出"卓越的性能"。此外,它还成功降低了对整个数据集进行全局搜索的成本,同时提升了局部搜索的效率。

简而言之,LazyGraphRAG绝非徒有其名。

需要指出的是,GraphRAG是"Graphs"和RAG的合成词,它是一种通过文本提取、网络分析以及大型语言模型(LLM)的提示和总结,利用单一端到端系统深入理解基于文本的数据集的技术。更多详细信息,敬请访问微软官方网站(https://www.microsoft.com/en-us/research/project/graphrag/?ref=thestack.technology)。

LazyGraphRAG融合了VectorRAG和GraphRAG的优势,并"同时克服了它们各自的局限性"。

在微软的官方声明中,他们强调了LazyGraphRAG的卓越性能:"LazyGraphRAG展现了其作为一个统一且灵活的查询系统的能力,它能够在本地至全局的查询范围内,显著超越多种专业化查询机制,而且避免了在初始阶段对大型语言模型(LLM)数据进行总结所带来的成本。"

"LazyGraphRAG以其闪电般的索引速度和微乎其微的成本,成为了一次性查询、探索性数据分析以及流数据应用的理想选择。此外,随着相关性测试预算的增长,它能够平稳地提升答案的质量,这使得LazyGraphRAG成为了评估检索增强生成(RAG)方法的宝贵工具。"

在对LazyGraphRAG的不同相关性测试预算水平与多种竞争方法的比较研究中,微软采用了以下参数:

  • 数据集:涵盖了5,590篇美联社新闻文章,这些文章的使用已获得相应许可。

  • 查询:设计了100个合成查询,其中包括50个本地查询和50个全局查询。

  • 指标:评估了全面性、多样性和增强性这三个关键指标,这些指标的评估是通过大型语言模型(LLM)对每一对答案进行直接比较来完成的。

  • 条件:研究包括了三种不同相关性测试预算设置下的LazyGraphRAG,以及来自GraphRAG和学术文献的八种其他竞争条件,具体条件详见下表。

条件 描述
Z100_Lite 使用相关性测试预算为100的LazyGraphRAG,并在所有步骤中使用低成本LLM模型
Z500 使用相关性测试预算为500的LazyGraphRAG,使用低成本LLM进行相关性测试,以及更高级(成本更高)的LLM进行查询优化和映射/简化答案生成
Z1500 使用相关性测试预算为1500的LazyGraphRAG,使用低成本LLM进行相关性测试,以及更高级(成本更高)的LLM进行查询优化和映射/简化答案生成
C1 在社区级别1进行GraphRAG全局搜索
C2 在社区级别2进行GraphRAG全局搜索
C3_Dynamic 使用动态社区选择 在社区级别3进行GraphRAG全局搜索
LS GraphRAG本地搜索
DRIFT GraphRAG DRIFT搜索
SS_8K 使用向量RAG进行语义搜索,检索8k个输入令牌
SS_64K 使用向量RAG进行语义搜索,检索64k个输入令牌(包括为了检验长上下文窗口对向量RAG的影响)
RAPTOR 一种基于层次聚类的RAG方法,与LazyGraphRAG共享一些相似特性

如上图所示,展示了LazyGraphRAG在不同相关性测试预算(100、500、1,500)下,针对每种(本地、全局)查询组合以及(全面性、多样性、增强性)指标的竞争条件的获胜率的聚类条形图。

LazyGraphRAG在与八种竞争条件的对比中取得了显著的获胜率。在最低预算水平,即利用低成本LLM模型进行100个相关性测试(成本与SS_8K相当)时,LazyGraphRAG在本地和全局查询上均显著优于所有条件。当预算增加至500个相关性测试,采用更先进的LLM模型(相当于C2查询成本的4%)时,LazyGraphRAG在本地和全局查询上均显著优于所有条件。随着相关性测试预算增加至1,500,LazyGraphRAG的获胜率持续上升,充分展示了其在成本与质量之间的可扩展性。

向量RAG与图谱RAG:对比与分析

向量RAG,亦称为语义搜索,是一种以查询相似度为基准,挑选最佳匹配源文本片段的"最佳优先搜索"方法,微软对此进行了阐释。

"然而,它未能充分考虑全局查询中数据集的广泛性,"微软进一步指出。

"图谱RAG全局搜索则是一种广度优先搜索,它利用源文本实体的社区结构,确保在处理查询时能够覆盖整个数据集的广度,"研究人员阐述道。"但这种方法在处理局部查询时,并未考虑到最佳社区的选择。"

在回答涉及整个数据集的全局查询时,例如"主要主题是什么?"或"这些信息展示了X的哪些方面?",第二种技术相较于传统的向量RAG更为有效。它在提供覆盖广泛内容的答案方面表现出色。

相较之下,向量RAG在处理局部查询时更为擅长,这类查询的答案通常与问题本身高度相似,微软指出,这在涉及"谁、什么、何时、何地"的问题中是"常见的"情况。这也是"最佳优先"这一术语的由来。

展示了图谱RAG与LazyGraphRAG之间的差异

LazyGraphRAG的内涵与特性

LazyGraphRAG通过迭代深化的方式,融合了最佳优先和广度优先搜索的动态------即先在有限深度内进行搜索,随后逐步深入数据集。

微软强调,LazyGraphRAG的数据索引成本与向量RAG持平,仅为完整图谱RAG成本的0.1%。

"在相同的LazyGraphRAG配置下,其全局查询答案质量与图谱RAG全局搜索相当,但查询成本降低了700倍以上,"微软补充道。"对于图谱RAG全局搜索成本的4%,LazyGraphRAG在本地和全局查询上均显著超越了所有竞争方法。"

LazyGraphRAG为何被赋予"懒惰"之名?

微软对这一问题的回答如下:"相较于完整的GraphRAG全局搜索机制,LazyGraphRAG在推迟使用大型语言模型(LLMs)和显著提升答案生成效率方面表现出了'懒惰'。其整体性能可以通过一个核心参数------相关性测试预算------以一致的方式平衡成本与质量。"

因此,这种勤奋的RAG之所以被冠以"懒惰"之名,是因为它优化了LLMs的使用,将它们的应用推迟到真正必要之时。它不会预先处理整个数据集,而是首先进行初步的相关性测试,通过分析较小的数据子集来识别可能相关的信息。

这些初步测试完成后,系统才会动用更为资源密集的LLMs进行深入分析。

这让人回想起比尔·盖茨在微软任职期间的一句名言,而非他现在所做的任何工作:"我倾向于选择一个懒惰的人来承担艰巨的任务。因为一个懒惰的人会寻找到完成任务的简便方法。"

参考:https://www.microsoft.com/en-us/research/blog/lazygraphrag-setting-a-new-standard-for-quality-and-cost/

相关推荐
霍格沃兹测试开发学社测试人社区1 小时前
OpenAI Chatgpt 大语言模型
软件测试·人工智能·测试开发·语言模型·chatgpt
闰土_RUNTU1 小时前
Pytorch分布式训练print()使用技巧
人工智能·pytorch·python·分布式训练·训练技巧
青青草原一只狼1 小时前
使用ElasticSearch实现全文检索
大数据·elasticsearch·全文检索·logstash
star@星空1 小时前
git工作中常用指令
大数据·git·elasticsearch
Elastic 中国社区官方博客1 小时前
Elasticsearch Serverless 中的数据流自动分片
大数据·数据库·elasticsearch·搜索引擎·serverless·时序数据库
m0_748232921 小时前
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据·架构·apache
m0_748234711 小时前
【大模型】Ollama+open-webuiAnything LLM部署本地大模型构建RAG个人知识库教程(Mac)
人工智能·macos
deephub1 小时前
ORCA:基于持续批处理的LLM推理性能优化技术详解
人工智能·深度学习·性能优化·llm
roman_日积跬步-终至千里2 小时前
【人工智能基础06】人工神经网络(练习题):神经网络的计算、激活函数的选择与神经网络的退化
人工智能·深度学习·神经网络
星光璀璨山河无恙2 小时前
【Linux】grep命令
大数据·linux