專案地址:https://github.com/HKUDS/LightRAG
實驗室主頁: https://sites.google.com/view/chaoh
港大黃超團隊最新開源的LightRAG,結合了圖結構與雙層檢索機制,顯著降低了大模型檢索增強的成本,同時提升了資訊檢索的準確性和效率。首先,透過引入圖結構,LightRAG能夠更好地捕捉實體之間的複雜依賴關係,實現全面的資訊理解。其次,其雙層檢索策略允許系統同時處理具體和抽象的查詢,確保使用者獲得既相關又豐富的響應。此外,LightRAG具備快速適應新資料的能力,使其在動態環境中保持高效和準確。綜合來看,這些優勢使得LightRAG在處理複雜查詢時表現出色,能夠提供更具上下文相關性的答案。
1.研究背景
檢索增強生成(RAG)是增強大型語言模型(LLM)效能的技術。LLM 應用廣泛,但存在侷限,如無法涵蓋所有領域最新知識,對特定領域或複雜問題回答不夠準確全面。RAG 系統透過整合外部知識源解決這些問題。它在生成回答時,結合從外部知識資料庫檢索的資訊與 LLM 自身能力,從而提高回答的準確性、全面性以及符合使用者需求的程度,增強了 LLM 在實際應用中的實用性和有效性。
現有 RAG 方法主要透過整合外部知識源來增強大型語言模型(LLM),包括檢索元件獲取相關文件和生成元件生成回答。然而,這些方法存在以下缺點和問題:
- 資料表示侷限:現有方法大多依賴扁平資料表示,這種方式難以捕捉實體之間複雜的關係資訊。例如,在處理涉及多個相關實體且關係複雜的查詢時,無法深入理解實體間的內在聯絡,從而限制了資訊檢索的準確性和全面性。
- 上下文連貫性差:這些系統往往缺乏足夠的上下文感知能力。當面對涉及多個實體及其相互關係的查詢時,難以保持回答的連貫性,導致生成的回答可能無法完全滿足使用者的查詢需求,無法提供一個完整、邏輯連貫的解決方案。
- 知識更新困難:部分現有方法在知識圖的動態更新和擴充套件方面存在不足。隨著新知識的不斷產生,系統難以有效地將新資訊納入到已有的知識結構中,導致知識的時效性和完整性受到影響,無法及時為使用者提供最新的準確資訊。
- 檢索效率不足:對於大規模查詢,一些現有方法採用的檢索方式效率較低,例如可能依賴暴力搜尋。這種方式在處理大量資料時,會消耗過多的計算資源和時間,導致檢索速度慢,無法滿足實時性要求較高的應用場景。
2.LightRAG框架
2.1 RAG框架
RAG框架可以被系統地分為兩個主要部分:檢索部分和生成部分。前者負責根據查詢(query)返回相關的資訊片段;而生成部分則由通用的生成模型,例如大語言模型,根據檢索的資訊和查詢生成高質量回答。檢索部分主要包括兩大功能:
- 資料索引:該功能基於外部資料庫的內容,構建一種特定的資料結構,支援快速檢索、高階的內容總結等。
- 資料檢索:根據外部查詢,利用索引資料結構返回相關內容。
在本文中,LightRAG致力於實現幾項對上述RAG系統至關重要的效率和效果指標:
- 全面的資訊檢索:LightRAG的索引函式必須善於提取全域性資訊,這對於增強模型有效回答查詢的能力至關重要。它透過基於圖的文字索引正規化,利用圖結構來表示不同實體之間的相互依存關係,從而能夠從多跳子圖中提取全域性資訊。這種方式使LightRAG能夠處理複雜的查詢,這些查詢可能跨越多個文件塊,大大提高了資訊檢索的全面性。
- 高效和低成本的檢索:LightRAG的索引資料結構需要實現快速且低成本的檢索,以有效處理大量查詢。它透過圖增強的實體和關係提取,將文件分割為更小的部分進行處理,最佳化了檢索過程。同時,其採用的鍵值資料結構是從圖中派生出來的,針對快速和精確檢索進行了最佳化,相比於現有方法中不太準確的嵌入匹配方法和低效的塊遍歷技術,提供了更優越的檢索效能,從而降低了檢索成本。
- 面向資料更新的快速迭代:LightRAG需要能夠快速且高效地調整資料結構,以納入來自外部知識庫的新資訊。它採用增量更新演算法,對於新文件,無需重新處理整個外部資料庫,而是使用相同的基於圖的索引步驟進行處理,然後將新的圖資料與原始資料合併。這種方式不僅減少了計算開銷,還確保了系統能夠及時適應資料的變化,保持在動態環境中的相關性和有效性。
2.2 基於圖的文字索引
LightRAG採用了一種基於圖的文字索引方法,主要包括以下幾個關鍵方面:
實體和關係提取
- 文件分割與初步處理:LightRAG首先將文件分割成更小、更易於管理的片段。這種策略避免了對整個文件進行分析,能夠快速識別和獲取相關資訊。
- 利用LLM進行提取實體和關係:藉助大型語言模型(LLM)來識別和提取各種實體(例如名稱、日期、位置、事件等)以及它們之間的關係。例如,從文字“Cardiologists assess symptoms to identify potential heart issues.”中,可以提取出實體“Cardiologists”和“Heart Disease”,以及關係“Cardiologists diagnose Heart Disease”。
- LLM分析生成鍵-值對:採用LLM驅動的分析函式為每個實體節點和關係邊生成一個文字的鍵值對。每個索引鍵是一個單詞或短短語,便於高效檢索,對應的值是一個文字段落,總結了來自外部資料的相關片段,有助於文字生成。實體使用其名稱作為唯一索引鍵,而關係可能有多個索引鍵,這些索引鍵源於LLM增強,包括來自連線實體的全域性主題。
- 去重最佳化圖操作:最後實施去重函式,它識別併合並來自原始文字不同片段的相同實體和關係。透過最小化圖的大小,有效減少了與圖操作相關的開銷,從而實現更高效的資料處理。
基於圖的文字索引的優勢
- 全面資訊理解:構建的圖結構能夠從多跳子圖中提取全域性資訊,極大地增強了LightRAG處理複雜查詢的能力,這些複雜查詢可能跨越多個文件塊。
- 增強檢索效能:從圖中派生的鍵-值資料結構針對快速和精確檢索進行了最佳化。這為現有方法中不太準確的嵌入匹配方法和低效的塊遍歷技術提供了一種更優越的替代方案。
快速適應增量知識庫
- 增量更新演算法:為了有效適應不斷變化的資料,LightRAG採用增量更新演算法。對於新文件,該演算法使用與之前相同的基於圖的索引步驟進行處理,得到新文件的圖結構索引。
- 新資料與原始資料的合併:隨後,LightRAG透過取新舊節點集以及新舊邊集的並集,將新的圖資料與原始資料合併。
- 快速適應的目標與優勢:透過對新資訊應用一致的方法,增量更新模組允許LightRAG整合新的外部資料庫,而不會破壞現有圖結構。這確保了歷史資料仍然可訪問,同時豐富了圖,且沒有衝突或冗餘。此外,由於無需重建整個索引圖,這種方法減少了計算開銷,促進了新資料的快速同化。因此,LightRAG能夠保持系統準確性,提供最新資訊,並節約資源,確保使用者及時獲得更新,提高了整體RAG的有效性。
2.3 雙層檢索正規化
在RAG任務面臨的查詢請求中,主要存在以下兩種型別:
- 特定查詢(Specific Queries):這些查詢以細節為導向,通常參考圖中的特定實體,需要精確檢索與特定節點或邊緣相關的資訊。例如,“Who wrote ’Pride and Prejudice’?”就是一個特定查詢,它明確指向特定的作品及其作者這一實體關係。
- 抽象查詢(Abstract Queries):抽象查詢更具概念性,涵蓋更廣泛的主題、總結或總體主題,與特定實體沒有直接關聯。例如,“How does artificial intelligence influence modern education?”這個問題涉及到人工智慧和現代教育這兩個廣泛的概念領域,不侷限於特定的實體。
為了應對這兩種不同的查詢請求,LightRAG設計了兩種不同的檢索策略:
- 低階別檢索(Low-Level Retrieval):這種檢索策略主要聚焦於檢索特定實體以及它們相關的屬性或關係。查詢是細節導向的,旨在從圖中提取關於特定節點或邊緣的精確資訊。比如在一個包含眾多學術論文的知識圖中,如果查詢某一特定研究人員的某項具體研究成果,低階別檢索就會針對該研究人員實體及其相關研究成果的關係進行精確查詢。
- 高階別檢索(High - Level Retrieval):該檢索策略旨在處理更廣泛的主題和總體主題。這類查詢會聚合多個相關實體和關係的資訊,提供對更高階別概念和總結的洞察,而不是特定細節。例如,當查詢“人工智慧在醫療領域的應用趨勢”時,高階別檢索會綜合多個與人工智慧和醫療相關的實體及關係資訊,給出關於應用趨勢的總體概述。
整合圖和向量進行檢索
LightRAG將圖結構和向量表示進行結合,從而同時滿足檢索的高效性和對實體間關聯性的感知,具體做法如下:
- **查詢關鍵詞提取(Query Keyword Extraction)**:對於給定的查詢,LightRAG的檢索演算法首先提取區域性查詢關鍵詞和全域性查詢關鍵詞。這一步驟是為了全面捕捉查詢中的關鍵資訊,以便更好地在知識圖中定位相關實體和關係。
- **關鍵詞匹配(Keyword Matching)**:演算法使用高效的向量資料庫來匹配區域性查詢關鍵詞與候選實體,以及全域性查詢關鍵詞與與全域性鍵相關的關係。透過這種方式,能夠快速定位到與查詢相關的知識圖元素。
- **納入高階相關性(Incorporating High-Order Relatedness)**:為了增強查詢的高階相關性,LightRAG進一步收集檢索到的圖元素在區域性子圖中的相鄰節點。這樣可以更全面地考慮與查詢相關的知識圖結構,提高檢索結果的準確性和全面性。
雙層檢索正規化的優勢
- 透過在雙層檢索正規化中結合特定查詢和抽象查詢的處理方式,以及低階別檢索和高階別檢索策略,並整合圖和向量進行檢索,LightRAG能夠有效適應多樣化的查詢型別。
- 不僅可以精確檢索到與特定實體相關的詳細資訊,還能獲取更廣泛主題的相關知識,確保系統能夠為使用者提供全面且相關的回答,滿足不同使用者的需求。
3.實驗
3.1 實驗設定
評估資料集:從UltraDomain基準中選取了四個具有不同特點的資料集。Agriculture資料集包含12個文件共2,017,886個令牌,主要圍繞農業實踐相關主題。CS資料集有10個文件和2,306,535個令牌,側重於電腦科學領域的多個方面。Legal資料集最大,含94個文件及5,081,069個令牌,聚焦公司法律實踐。Mix資料集則包含61個文件共計619,009個令牌,涵蓋多種學科的文字。這些資料集涵蓋了不同領域,為全面評估模型效能提供了基礎。
問題生成:將每個資料集的所有文字內容作為上下文,採用特定方法生成問題。具體是讓一個大型語言模型(LLM)生成五個RAG使用者以及每個使用者的五個任務,對於每個使用者-任務組合,LLM再生成五個需要理解整個語料庫的問題,這樣每個資料集最終可得到125個問題,以此來測試模型對各種問題的處理能力。
實施和評估細節:在實驗中,使用nano向量資料庫管理向量資料,LightRAG中基於LLM的操作預設使用GPT-4o-mini,所有資料集的塊大小統一設為1200,部分引數固定。採用基於LLM的多維比較方法評估,定義了全面性、多樣性、賦能性和總體四個維度。由於RAG查詢標準答案難定義,利用GPT-4o-mini對基線和LightRAG排名,透過交替放置答案等方式確保公平評估並計算贏率得出結果。
3.2 基線方法對比
在不同的評估維度和四個選定的資料集(Agriculture、CS、Legal、Mix)上,將LightRAG與各種基線模型進行比較。實驗結果如下圖所示。在Agriculture資料集上,例如在全面性維度,Naive RAG的勝率為32.69%,LightRAG為67.31%;在多樣性維度,Naive RAG為24.09%,LightRAG為75.91%等。在CS資料集、Legal資料集和Mix資料集上也呈現出類似的對比結果,LightRAG在多數評估維度上的勝率顯著高於基線模型。從結果中,可以得到以下結論:
- 圖增強RAG系統的優勢:在處理大規模語料和複雜查詢時,像LightRAG和GraphRAG這樣基於圖的RAG系統表現出明顯優勢。隨著資料集規模增大,這種優勢更加突出。例如在Legal資料集(最大的資料集)中,基線方法的勝率僅約20%,而LightRAG佔據主導地位。這表明圖增強的RAG系統能夠更好地捕捉大規模語料庫中的複雜語義依賴關係,有助於更全面地理解知識,從而提高了泛化效能。
- LightRAG在多樣性上的優勢:與各種基線模型相比,LightRAG在多樣性指標上展現出顯著優勢,尤其在較大的Legal資料集上表現更為突出。這得益於LightRAG的雙層檢索正規化,它能夠從低階別和高階別兩個維度全面檢索資訊,有效利用基於圖的文字索引來完整地捕捉查詢上下文,從而生成更廣泛多樣的回答。
3.3 消融實驗
文章還對雙層檢索機制,以及LightRAG中的語義圖進行了消融實驗,結果如下所示,從中可以觀察到以下特點:
- 低階別-高階別檢索單獨作用的結果
- 僅低階別檢索(-High變體):去除高階別檢索後,在幾乎所有資料集和評估指標上效能都顯著下降。例如在Agriculture資料集的全面性維度,從LightRAG的67.31%下降到35.79%。
- 僅高階別檢索(-Low變體):優先考慮高階別檢索而去除低階別檢索時,在全面性上有一定優勢,但在考察特定實體細節的指標上可能受限。如在Agriculture資料集的多樣性維度,從LightRAG的75.91%下降到35.09%。
- 語義圖在檢索中的效果
- 當在檢索過程中去除原始文字(-Origin變體),在四個資料集上並沒有出現顯著的效能下降,甚至在某些資料集(如Agriculture和Mix)還有所提升。
結果分析
- 雙層檢索的必要性:僅低階別檢索因過度關注特定實體及其直接鄰居,難以處理複雜查詢所需的全面洞察資訊,導致效能不佳。僅高階別檢索雖能獲取更廣泛資訊,但在特定實體細節考察上能力有限。這表明雙層檢索方法(即同時包含低階別和高階別檢索)對於確保檢索的廣度和深度是必要的,能夠提供更全面的資料檢視,從而實現平衡的效能表現。
- 語義圖的有效性:去除原始文字後效能未顯著下降,歸因於在基於圖的索引過程中有效提取了關鍵資訊。這說明圖結構本身能夠為回答查詢提供足夠的上下文,而原始文字可能包含一些無關資訊,會對檢索結果產生干擾。
3.4 樣例學習
在樣例學習中,文章展示了一個特定案例,比較LightRAG和GraphRAG對一個機器學習問題的回答情況。該案例聚焦於“Which methods can normalize the feature values for effective machine learning?”這一問題。兩者的回答和裁定如下
在由大型語言模型(LLM)作為評判的所有評估維度上,LightRAG均優於GraphRAG。在全面性維度,LightRAG涵蓋了更廣泛的機器學習指標,展示出更強的發現相關資訊的能力。在多樣性和賦能性維度,LightRAG不僅提供了更多樣的資訊,還能給予讀者更有價值的內容,使其能夠更好地理解和應用相關知識。這些結果說明了以下問題:
- 圖索引正規化的優勢:LightRAG在全面性上的優勢得益於其圖索引正規化,該正規化在精確的實體和關係提取以及LLM分析方面表現出色。透過有效地識別和關聯相關的實體和關係,能夠更全面地涵蓋問題相關的各個方面。
- 分層檢索正規化的作用:在多樣性和賦能性方面的成功歸因於LightRAG的分層檢索正規化。它透過低階別檢索深入探索相關實體,同時透過高階別檢索獲取更廣泛的知識領域,兩者結合能夠從不同層次和角度滿足對資訊的需求,從而提高回答的質量和多樣性。
3.5 模型開銷和適應性分析
文章從兩個關鍵角度比較LightRAG和表現最佳的基線模型GraphRAG的成本。第一個角度是檢查在索引和檢索過程中使用的令牌數量以及API呼叫次數。第二個角度是分析在動態環境中處理資料變化時這些指標的情況。實驗以Legal資料集為例進行評估。
- 檢索階段:GraphRAG在檢索過程中生成1,399個社群,其中610個二級社群用於實際檢索。每個社群報告平均包含1,000個令牌,總共消耗610,000個令牌(610個社群×1,000個令牌/社群)。此外,GraphRAG需要逐個遍歷社群,導致數百次API呼叫。相比之下,LightRAG在這個過程中使用少於100個令牌用於關鍵詞生成和檢索,並且整個過程僅需一次API呼叫。
- 增量資料更新階段:在處理新資料時,GraphRAG和LightRAG在實體和關係提取方面的開銷相似。但是,當引入與Legal資料集相同大小的新資料集時,GraphRAG需要拆除現有的社群結構來納入新的實體和關係,然後完全重新生成。這一過程每個社群報告大約需要5,000個令牌,對於1,399個社群,大約需要1,399×2×5,000個令牌,成本極高。而LightRAG可以無縫地將新提取的實體和關係整合到現有圖中,無需完全重建,在增量更新過程中開銷顯著更低。
在檢索階段,LightRAG的優勢在於其檢索機制,它透過無縫整合圖結構和向量表示進行資訊檢索,避免了處理大量資訊的前期工作,從而大大減少了令牌使用量和API呼叫次數。
在增量資料更新階段,GraphRAG由於其社群結構的處理方式,在納入新資料時需要大量的令牌和複雜的重建過程,效率低下。而LightRAG的增量更新演算法使其能夠輕鬆整合新資料,保持系統的高效性和成本效益。
LightRAG在資訊檢索效率和成本效益方面表現更優。無論是在檢索階段還是在處理動態環境中的資料變化時,LightRAG都能以較低的成本提供高效的服務,其檢索機制和增量更新能力使其更適合應用於實際場景中,尤其是在處理大量資料和頻繁資料更新的情況下。