微軟即將推出超強RAG: LazyGraphRAG 效果更好,且成本能降低近1000倍! 原創(chuàng) 精華
1、什么是LazyGraphRAG
GraphRAG[1]旨在通過利用非結構化文本中的隱式關系來擴展AI系統(tǒng)可以在私有數(shù)據(jù)集上回答的問題類別,相對于傳統(tǒng)矢量RAG(或“語義搜索”)的一個關鍵優(yōu)勢是它能夠回答解決整個數(shù)據(jù)集的全局查詢,例如“數(shù)據(jù)中的主要主題是什么?",或者“X最重要的含義是什么"。相反,向量RAG擅長于本地查詢,其中答案類似于查詢并且可以在特定文本區(qū)域內找到,如通常針對“who”、“what”、“when”和“where”問題的情況。
最近微軟提出了一種完全不同的支持圖形的RAG方法,該方法不需要對源數(shù)據(jù)進行事先匯總,從而避免了對某些用戶和用例可能過高的前期索引成本。我們稱這種方法為“LazyGraphRAG”。
LazyGraphRAG的一個關鍵優(yōu)勢是其在成本和質量方面的固有可擴展性。在一系列相互競爭的方法中(標準矢量RAG,RAPTOR[2]和GraphRAG本地[3],全局[4]和DRIFT[5]搜索機制),LazyGraphRAG在成本質量范圍內表現(xiàn)出強大的性能,如下所示:
- LazyGraphRAG的數(shù)據(jù)索引成本與矢量RAG相同,是完整GraphRAG成本的0.1%。
- 對于與向量RAG相當?shù)牟樵兂杀荆琇azyGraphRAG在本地查詢上優(yōu)于所有競爭方法,包括長上下文向量RAG和GraphRAGDRIFT[6]搜索(我們最近引入的RAG方法表現(xiàn)出優(yōu)于向量RAG)以及GraphRAG本地搜索。
- 同樣的LazyGraphRAG配置也顯示出與GraphRAG Global Search相似的全局查詢答案質量,但查詢成本低700倍以上。
- 對于GraphRAG全局搜索的4%的查詢成本,LazyGraphRAG在本地和全局查詢類型上都顯著優(yōu)于所有競爭方法,包括C2級別的GraphRAG全局搜索(大多數(shù)應用程序推薦的社區(qū)層次結構的第三級)。
LazyGraphRAG即將加入開源GraphRAG庫[7],為本地和全局查詢提供統(tǒng)一的查詢接口,其輕量級數(shù)據(jù)索引的成本與標準矢量RAG相當。
2、融合vector RAG和Graph RAG的優(yōu)勢
LazyGraphRAG旨在融合vector RAG和Graph RAG的優(yōu)勢,同時克服各自的局限性:
- vector RAG是一種最佳優(yōu)先搜索的形式,它使用與查詢的相似性來選擇最佳匹配的源文本塊。但是,它沒有考慮全局查詢的數(shù)據(jù)集的廣度。
- GraphRAG全局搜索是廣度優(yōu)先搜索的一種形式,它使用源文本實體的社區(qū)結構,以確保在考慮數(shù)據(jù)集的全部廣度的情況下回答查詢。然而,它沒有意識到本地查詢要考慮的最佳社區(qū)。
LazyGraphRAG以迭代深化的方式結合了最佳優(yōu)先和廣度優(yōu)先搜索。與全GraphRAG的全局搜索機制相比,這種方法在延遲LLM使用和顯著提高答案生成效率方面是“懶惰”的。
3、技術特點
微軟已經(jīng)開源了名為GraphRAG的項目,在數(shù)據(jù)索引部分,其主要借助大型模型對實體及其聯(lián)系進行抽取和描繪,并為每個實體與關系產(chǎn)生摘要。
此過程中涉及圖形統(tǒng)計學來精進實體圖并抽出分級的社區(qū)構造。但這種方式的投入巨大,由于依賴眾多的語言模型處理,GraphRAG的數(shù)據(jù)索引費用極為昂貴。
然而,LazyGraphRAG與前者有所不同,它無需預先進行任何概括或生成嵌入,在數(shù)據(jù)索引階段,它利用自然語言處理的名詞短語抽取技術來識別觀念及其共現(xiàn)關系,在此基礎上運用圖形統(tǒng)計學方法優(yōu)化觀念圖并抽取分層社區(qū)結構。這使得LazyGraphRAG的索引成本極低,只有GraphRAG的0.1%,也就是說,降低了1000倍的成本。
在查詢處理方面,GraphRAG采用廣度優(yōu)先搜索以確保在響應查詢時考慮到了全部數(shù)據(jù)集的廣度。然而,LazyGraphRAG則融合了最優(yōu)先搜索與廣度優(yōu)先搜索的動態(tài)性,采取了逐步深化的策略。首先對文本片段進行相似度排名,然后動態(tài)選擇相關的社區(qū)以逐漸精煉查詢結果。
此種方式使得LazyGraphRAG能夠同時支持局部與全局查詢,而且在考慮整個數(shù)據(jù)集的廣度的同時,也能有效地找到最匹配的文本部分。
4、驗證結果
為了衡量LazyGraphRAG的性能表現(xiàn),微軟設置了三個不同的預算檔次,以觀察其在各種環(huán)境下的運行狀態(tài)。
在最低預算等級下,進行100次相關性測試,并利用低成本大模型時,LazyGraphRAG顯現(xiàn)出了顯著的優(yōu)勢。無論是在局部查詢還是全局查詢中,其表現(xiàn)都超過了其他所有的方法。
在局部查詢場景中,LazyGraphRAG的性能明顯超越了C1、C2、C3_Dynamic、LS、DRIFT、SS_8K、SS_64K和RAPTOR等方法。雖然在全局查找方面,GraphRAG的全球搜索有時會顯現(xiàn)出更好的表現(xiàn),但從成本效益角度考慮,LazyGraphRAG依舊占據(jù)上風。
當預算等級提高至500次,并使用更高級別的大模型時,LazyGraphRAG的優(yōu)勢進一步放大。其成本僅為C2級別的4%,但性能卻遠超過所有其他條件,包括C2級別的GraphRAG全球搜索。
這說明LazyGraphRAG不僅在成本方面表現(xiàn)優(yōu)秀,查詢質量也同樣出色,不論是在局部查詢或全局查詢中,都能給出更高質量的答案。
最終,在1500次的高預算環(huán)境下,LazyGraphRAG的優(yōu)勢繼續(xù)擴大。無論是在局部查詢還是全局查詢中,其表現(xiàn)都繼續(xù)上升,特別是在全球查詢中,其勝出頻率明顯超過其他方法。
即使在高預算環(huán)境下,LazyGraphRAG依然保持著其成本效益和查詢質量的雙重優(yōu)勢。
Figure 1. Clustered bar charts showing win rates of LazyGraphRAG with relevance test budgets of (100, 500, 1,500) over competing conditions for each combination of (local, global) queries and (comprehensiveness, diversity, empowerment) metrics.
5、展望未來
LazyGraphRAG證明了,一個靈活的查詢機制能夠顯著優(yōu)于在本地-全局查詢范圍內的多種專用查詢機制,且無需預先進行大型語言模型數(shù)據(jù)總結的成本。其非常快速且?guī)缀趺赓M的索引使LazyGraphRAG成為一次性查詢、探索性分析和流數(shù)據(jù)使用案例的理想選擇,而其隨著相關性測試預算增加而平滑提高答案質量的能力,使其成為一般性基準測試RAG方法(例如,“RAG方法X以Y預算打敗LazyGraphRAG以完成任務Z”)的有價值工具。
那么這是否意味著全面使用LazyGraphRAG呢?microsoft認為答案是否定的,原因有三:
- 對于實體、關系和社區(qū)摘要的GraphRAG數(shù)據(jù)索引,除了回答問題外,還有其他用途(例如,閱讀和分享報告)。
- 將實體、關系和社區(qū)摘要的GraphRAG數(shù)據(jù)索引與類似LazyGraphRAG的搜索機制相結合,可能會比單獨使用LazyGraphRAG獲得更好的結果。
- 設計新型的GraphRAG數(shù)據(jù)索引以支持類似LazyGraphRAG的搜索機制(例如,通過預先聲明和主題提取)可能會獲得最佳可能的結果。
Microsoft將在接下來的時期探索這些方向,所有的進步(包括LazyGraphRAG本身)都會通過GraphRAG GitHub倉庫發(fā)布,讓我們敬請期待!
參考資料
[1]GraphRAG: ??https://aka.ms/graphrag??
[2]RAPTOR: ??https://github.com/profintegra/raptor-rag??
[3]本地: ??https://microsoft.github.io/graphrag/query/local_search/??
[4]全局: ??https://microsoft.github.io/graphrag/query/global_search/??
[5]DRIFT: ??https://microsoft.github.io/graphrag/query/drift_search/??
[7]GraphRAG庫: ???https://github.com/microsoft/graphrag??
本文轉載自公眾號AI 博物院 作者:longyunfeigu
原文鏈接:??https://mp.weixin.qq.com/s/MWfDS92ITfspLij_LZCKDQ??
