微軟重磅開源 GraphRAG:新一代 RAG 技術來了! 原創 精華
1、為什么需要 GraphRAG?
7月3日,微軟重磅開源了基于圖的 RAG -- GraphRAG。在 GitHub 上發布后,短短4天時間,該項目迅速獲得了 6000 Stars!足見這個項目的熱度!
Github 地址:https://github.com/microsoft/graphrag
強化主流大模型,比如:GPT-4o、Qwen-2、文心一言、GLM-4、Llama-3 的搜索、問答、摘要及推理等功能,RAG 已成為這些國際國內知名 AI 大模型不可或缺的核心技術。
過往的 RAG 實踐多沿襲簡約路線:文檔簡化為文本字符串,切割為零碎段落,繼而映射進向量空間,實現語義相似度的直觀展現。然而,這種直白策略在面臨大規模數據全局理解的挑戰時顯露短板——它偏重局部文本匹配,忽略了對整體數據生態的全面洞察。
微軟在此基礎上另辟蹊徑,引入“Graph”圖技術概念,圍繞文本內的實體要素(包括人物、地點、核心概念等)編織龐大知識圖譜網絡。這一創新不僅深化了大模型對文本內部復雜關聯與互動的理解力,還極大提升了其內容生成與信息檢索的智慧邊界,引領 RAG 邁向更廣闊的智能應用領域。
GraphRAG 方法可以歸結為:利用大語言模型從您的私有知識中提取知識圖譜;將此圖譜聚類成不同粒度級別的相關實體;對于 RAG 操作,遍歷此知識圖譜以得到實體之間的關系,從而為得到最終的答案提供更多全局的關系知識。
2、GraphRAG 架構設計剖析
Graph RAG 技術的本質,在于實施一個兩階段策略來建立圖譜驅動的文本索引體系:首步,從原始文獻中挖掘并構建實體的知識圖譜;緊接著,針對圖譜中高度關聯的實體集群,預先制作綜合性社區摘要內容。
Graph RAG 的第一步就是將源文檔分割成較小的文本塊,這些文本塊隨后被輸入到大模型中以提取關鍵信息。
在這個過程中,大模型不僅要識別文本中的實體,還要識別實體之間的關系,包括它們之間的相互作用和聯系,用來構建一個龐大的實體知識圖譜,其中包含了數據集中所有重要實體和它們之間的關系。
通俗來講,這一流程堪比烹飪前的食材準備,以處理西瓜為例:一個完整的大西瓜(原始數據)擺在面前時,我們首先要將其切分成可管理的小塊(數據片段),比如瓜瓣或是更小的瓜丁,并留意這些瓜塊之間的自然連接點,以便之后無論是混搭果盤還是精制果汁,都能得心應手,處理起來更加高效順暢。
隨后,GraphRAG 采納了先進的社區檢測算法,旨在圖譜中精準識別出模塊化社區。這些社區由緊密相連的節點構成,它們之間的相互作用相較于圖譜其余部分更為頻繁和顯著,從而自然地將龐大的圖譜切割成多個小型、更便于分析和管理的區塊,每一區塊均聚焦于數據集內的獨特主題或概念范疇。
依托于上述圖形索引的構建,GraphRAG 進一步深化其分析層次,通過生成社區摘要來概括每個社區內的所有實體及其相互關系。這些摘要作為對特定數據集區域的精煉概覽,極大地促進了用戶對復雜數據的高層次理解。
為提升信息質量和相關性,GraphRAG 引入了一個大模型評分機制,對所有生成的答案進行0至100分的量化評估。評分過低的答案將被自動剔除,而高分答案則被視為優質候選,依據其得分從高到低進行排序。隨后,這些精選的答案被逐步整合至新的上下文窗口中,直至達到預設的詞數上限,確保最終呈現的信息既豐富又精煉。
以用戶查詢“如何進行有效減肥?”為例,GraphRAG 能夠智能地利用與減肥主題緊密相關的社區摘要,快速生成多個初步答案片段。這些片段經過系統的匯總與精煉處理,最終融合成一個全面、針對性的回答,直接響應用戶的需求。具體的 workflow 如下圖所示:
3、GraphRAG 相比傳統 RAG 的優點
Graph RAG 顯著強化了全局檢索能力,尤擅應對大規模數據集,為大模型帶來關鍵助力:
- 拓展上下文視野:克服傳統大模型上下文窗口局限,GraphRAG 利用圖索引分解文本為小型社區,顯著提升模型對長文本的理解與生成能力。?
- 全局精準查詢:超越傳統 RAG 的局部檢索限制,GraphRAG 借助社區摘要技術,從全局數據中萃取信息,確保答案的全面與精準。???
- 豐富摘要生成:并行生成并匯總社區摘要,GraphRAG 促進大模型跨社區、多角度信息整合,生成更高質、更多元的摘要內容。
- 優化算力與資源:GraphRAG 模塊化處理大規模文本,降低算力需求,同時減少 token 使用,高效生成高質量摘要。
- 強化檢索與生成協同:結合檢索與生成,GraphRAG 提升內容準確性與相關性。
- 深化數據集結構理解:構建知識圖譜與社區,GraphRAG 洞悉文本內容及數據集結構。
- 提升復雜問題處理能力:GraphRAG 檢索并摘要多社區信息,深化對復雜問題的理解,尤其擅長處理 PDF、Word 文檔。?
4、GraphRAG 效果如何?
為了驗證 GraphRAG 效能,以復雜、意見分歧、信息不全的 VIINA 數據集為試金石,該數據集因新近發生未入大模型訓練。微軟整合俄烏沖突千余篇英文報道,創建大模型檢索專用數據集。因數據量龐大,采用 RAG 技術處理。微軟團隊率先對傳統 RAG 與 GraphRAG 發起探索性查詢測試。
查詢語句:“Novorossiya 做了什么?”
傳統 RAG 沒能回答這一問題,因為從插入上下文窗口的源文件來看,沒有任何文本片段提及“Novorossiya”,從而導致了這一失敗。
相比之下,GraphRAG 能夠識別查詢中“Novorossiya”實體,助大模型構建圖譜,聯結原文生成帶出處的高質答案。如下圖,L大模型斷言 Novorossiya 目標某銀行,基于圖譜中兩實體關系,源自原文片段。、
為了更大范圍評估 GraphRAG 的性能,微軟在一個100萬 tokens、超復雜結構的數據集上,包含娛樂、播客、商業、體育、技術、醫療等內容,進行了綜合測試。
總之,結果表明,GraphRAG 全局檢索方法在全面性和多樣性上優于傳統 RAG,其中 GraphRAG 在播客與新聞數據集上表現卓越,兼具高度多樣性與全面性,堪稱目前最優秀的 RAG 方案。此外,Grap RAG 對 tokens 需求低,有效降低了開發成本。
本文轉載自公眾號玄姐聊AGI 作者:玄姐
原文鏈接:??https://mp.weixin.qq.com/s/21QmpFRMuWcBTPb8VPAIOA??
