開源兩周4.7k標星,港大LightRAG大幅降低大模型問答成本,全面理解復雜實體依賴關系
簡單高效的大模型檢索增強系統LightRAG,香港大學黃超團隊最新研究成果。
開源兩周時間在GitHub上獲得將近5k標星,并登上趨勢榜。
該模型不僅能夠全面理解實體之間的復雜關系,從而處理更復雜的問題,還大幅降低了大模型檢索增強系統的成本。總體而言,LightRAG具備以下優勢:
- 簡單快速的大模型檢索增強生成(RAG)系統
- 全面理解復雜實體依賴關系的信息檢索
- 通過雙層檢索范式實現高效的信息檢索
- 快速適應動態數據變化
檢索增強生成(RAG)系統通過集成外部知識源來增強大語言模型(LLM),從而提供更準確且符合上下文的響應,滿足用戶需求。然而,現有的RAG系統存在顯著局限性,包括依賴平面數據表示和缺乏全局的上下文感知,導致回答零散,難以捕捉復雜的依賴關系。
為了解決這些問題,團隊提出LightRAG,它在文本索引和檢索過程中引入了圖結構。該創新框架采用雙層檢索系統,增強了從低層次和高層次知識的全面信息檢索。
此外,圖結構與向量表示的結合有助于高效地檢索相關實體及其復雜的關聯關系,大幅提高了響應速度,同時保持上下文的相關性。此外,該系統能夠高效地在動態環境里處理數據的更新變化,使其在快速變化的數據環境中仍然保持快速有效的響應能力。
LightRAG框架
基于圖的文本索引
圖增強的實體和關系抽取
LightRAG 將文檔分段為較小的塊,利用大語言模型(LLM)識別和抽取各種實體(如名字、日期、地點和事件)及其之間的關系。通過這一過程收集的信息用于構建一個全面的知識圖譜,展示整個文檔集合中的連接關系。我們將該圖生成模塊形式化地表示如下:
其中, 代表生成的知識圖。為了創建這些數據,我們對原始文本文檔
- 抽取實體及其關聯關系 :該函數利用大語言模型(LLM)從文本數據中識別實體(節點)及其關系(邊)。例如,它可以從“心臟病醫生評估癥狀以識別潛在的心臟問題”中抽取“心臟病醫生”和“心臟病”等實體,以及“心臟病醫生診斷心臟病”這樣的關系。為了提高效率,原始文本 被分割成多個塊 。
- LLM生成鍵值對分析 :我們利用大語言模型(LLM)的分析功能 為每個實體節點 和關系邊 生成文本鍵值對 。每個索引鍵是一個詞或短語,用于高效檢索,而相應的值則是文本描述,總結了來自外部數據的相關片段,以便于后續的文本生成。實體通常僅使用其名稱作為索引鍵,而關系則可能通過 LLM 的增強,包含來自相關實體的全局主題,從而生成多個索引鍵。
- 圖文本所以去重 : 最后,我們實現了去重功能 ,能夠識別并合并來自不同文本片段 的相同實體和關系。通過減少圖的大小,這一過程有效降低了在知識圖 上進行操作的開銷,從而提高了數據處理效率。
LightRAG 通過其基于圖的文本索引范式具備兩個顯著優勢:
- 全面的信息理解: 構建的圖結構能夠從多跳連接關系中提取全局信息,大大提升了 LightRAG對復雜實體關聯性的理解能力, 以針對復雜查詢提供上下文更豐富的生成能力。
- 增強的檢索性能: 圖中生成的鍵值數據結構經過優化,能夠實現快速且精準的檢索。這相比于現有方法中不夠精確的嵌入匹配和效率低下的文本塊遍歷技術,提供了更優的替代方案。
快速適應動態增量知識庫
為了高效適應不斷變化的數據并確保響應的準確性和相關性,LightRAG 通過增量更新知識庫,而無需重新處理整個外部數據庫對于新文檔 ,增量更新算法使用與之前相同的基于圖的索引步驟 進行處理,生成 。隨后,通過對節點集 和 以及邊集 和 進行并集操作,將新的圖數據與原始數據結合起來。
LightRAG 實現的動態增量知識庫處理方法旨在滿足以下目標:
- 無縫整合新數據:增量更新模塊通過一致的方法處理新信息,使其能夠在不破壞現有圖結構的情況下整合新的外部數據庫。此方法保持了既有連接的完整性,確保歷史數據可訪問,同時豐富了圖結構,避免了沖突或冗余的產生。
- 降低計算開銷:通過消除重建整個索引圖的需求,該方法顯著減少了計算開銷,加速了新數據的吸收。因此,LightRAG 能夠保持系統的準確性,提供最新信息,并節約資源,確保用戶能夠及時獲得更新,從而提升整體 RAG 系統的有效性。
雙層檢索范式
為了從特定文檔片段及其復雜依賴關系中檢索相關信息,LightRAG 提出了在詳細和抽象層面生成查詢鍵的策略。
- 具體查詢:這些查詢注重細節,通常參考圖中的特定實體,要求精準檢索與特定節點或邊相關的信息。例如,一個具體查詢可能是:“《傲慢與偏見》的作者是誰?”
- 抽象查詢:與具體查詢相比,抽象查詢更加概念化,涵蓋廣泛的主題或總結,而不是直接與特定實體相關。例如,一個抽象查詢的例子是:“人工智能如何影響現代教育?”
為了適應不同類型的查詢,LightRAG 在雙層檢索范式中采用了兩種不同的檢索策略。該設計確保能夠有效處理具體問題,同時應對抽象查詢,從而為用戶提供量身定制的相關響應。
- Low-Level信息檢索:這一層次主要聚焦于檢索特定實體及其相關屬性或關系。低層次檢索中的查詢注重細節,目標是提取圖中特定節點或邊的精準信息。
- High-Level信息檢索:該層次針對更廣泛的主題和總體概念。高層次檢索匯聚多個相關實體和關系的信息,提供對更高層次概念和總結的見解,而非具體細節。
融合圖結構和向量表示以實現高效檢索
通過將圖結構與向量表示相結合,模型能夠更深入地理解實體之間的相互關系。這種協同作用使檢索算法能夠有效地利用局部和全局關鍵詞,簡化搜索過程并提高結果的相關性。
- 查詢關鍵詞提取:對于給定的查詢 ,首先提取局部查詢關鍵詞 和全局查詢關鍵詞 。
- 關鍵詞匹配:算法使用高效的向量數據庫,將局部查詢關鍵詞與候選實體匹配,全局查詢關鍵詞與與全局鍵關聯的關系匹配。
- 引入高階關聯性:為了增強查詢與高階關聯性的結合,LightRAG進一步收集已檢索圖元素的局部子圖中的相鄰節點。此過程涉及集合 ,其中 和 分別代表已檢索節點 和邊
這種雙層檢索范式不僅通過關鍵詞匹配實現了高效的相關實體和關系檢索,還通過結合構建的知識圖譜中的相關結構信息,提升了結果的全面性。
基于大模型的檢索增強生成
利用檢索到的信息 ,LightRAG 通過大語言模型(LLM)生成答案。這些數據包括由分析函數 生成的相關實體和關系 ,其中包含實體和關系的名稱、描述以及原始文本中的摘錄。
上下文整合與答案生成
通過將查詢與多源文本統一,LLM 生成符合用戶需求的答案,確保與查詢意圖一致。該方法通過將上下文和查詢整合到 LLM 模型中,簡化了答案生成的過程。
LightRAG框架的復雜度分析
團隊對提出的 LightRAG 框架的復雜度進行了具體分析,主要分為兩個部分。
- 索引階段:在這一階段,我們使用大語言模型(LLM)從每個文本塊中提取實體和關系。因此,LLM 需要調用
- 檢索階段:對于每個查詢,團隊首先利用 LLM 生成相關的關鍵詞。與現有的檢索增強生成(RAG)系統類似,團隊的檢索機制依賴于基于向量的檢索。然而,與傳統 RAG 系統檢索文本塊不同,團隊專注于檢索實體和關系。相比于 GraphRAG 中基于社區遍歷的方法,這種方式顯著減少了檢索開銷。
模型評估
評估數據集
為了對 LightRAG 進行全面分析,團隊從 UltraDomain Benchmark中選擇了四個數據集。UltraDomain 數據來源于 428 本大學教科書,涵蓋 18 個不同領域,包括農業、社會科學和人文學科。在這些領域中,團隊選擇了農業、計算機科學、法律和混合領域的數據集。每個數據集包含 60 萬到 500 萬之間的 tokens。以下是實驗中使用的四個領域的具體介紹:
- 農業:該領域專注于農業實踐,涵蓋主題包括養蜂、蜂箱管理、作物生產以及疾病防治等。
- 計算機科學:該領域主要聚焦于計算機科學,涵蓋數據科學和軟件工程的關鍵領域,特別強調機器學習和大數據處理,內容包括推薦系統、分類算法以及使用Spark進行的實時分析。
- 法律:該領域以企業法律實踐為中心,涉及企業重組、法律協議、監管合規和治理,重點關注法律與金融領域的交集。
- 混合領域:該領域包含豐富多樣的文學、傳記和哲學文本,涵蓋文化、歷史和哲學等廣泛學科。
評估問題生成
為了評估 RAG 系統在高層次意義建構任務中的有效性,團隊將每個數據集的所有文本內容整合為上下文,并采用 GraphRAG 中描述的生成方法。具體而言,團隊指示 LLM 生成五個 RAG 用戶,每個用戶提出五個任務。每個生成的用戶都附有描述,說明其專業知識及提出問題的動機。同時,每個用戶任務也有相應的描述,強調用戶在使用 RAG 系統時的潛在意圖。對于每個用戶任務組合,LLM 會生成五個需要理解整個語料庫的問題。最終,每個數據集生成 125 個問題。
現有方法對比
LightRAG在所有數據集上與以下最新方法進行了比較:
- Naive RAG:此模型作為現有RAG系統的代表方法。它將原始文本分割為多個塊,并使用文本嵌入將它們存儲在向量數據庫中。對于查詢,Naive RAG 生成向量化表示,并根據表示的相似性直接檢索文本塊,確保高效且簡單的匹配。
- **RQ-RAG:該方法利用 LLM 將輸入查詢分解為多個子查詢。這些子查詢通過顯式的技術(如重寫、分解和消歧)來增強檢索的準確性。
- HyDE:該方法利用 LLM 基于輸入查詢生成假設文檔,然后使用這些生成的文檔檢索相關文本塊,最后將這些文本塊用于生成最終答案。
- GraphRAG:這是一個圖增強的 RAG 系統,利用 LLM 從文本中提取實體和關系,將它們表示為節點和邊,并為這些元素生成相應的描述。它將節點聚合成社區,并生成社區報告以捕捉全局信息。在處理高層次查詢時,GraphRAG 通過遍歷這些社區來檢索更全面的信息。
為復雜高層次語義查詢定義準確的“真實答案”是一項極具挑戰性的任務。為了解決這一問題,團隊基于現有的 GraphRAG 工作,采用了基于 LLM 的多維比較方法。團隊使用 GPT-4o-mini 對每個基線模型與團隊的 LightRAG 進行一對一比較,總共設定了四個評估維度,包括:
- 全面性:答案在多大程度上涵蓋了問題的各個方面和細節?
- 多樣性:答案提供的不同視角和相關見解有多豐富?
- 賦能性:答案在多大程度上幫助讀者理解主題并做出明智的判斷?
- 整體表現:該維度評估前三個標準的綜合表現,以確定最佳的總體答案。
LLM 直接比較每個維度中的兩個答案,并選擇每個標準的優勝答案。在確定三個維度的優勝答案后,LLM 將這些結果組合起來,以確定整體表現更好的答案。為了確保評估的公平性,并減少由于答案在提示中呈現順序可能產生的偏差,團隊交替調整每個答案的位置,并根據此計算勝率,最終得出結果。
評估結果
根據表中評估結果,團隊得出以下結論:
- 圖增強RAG系統在大規模語料庫中的優勢: 在處理大量 tokens 和復雜查詢時,圖增強的 RAG 系統(如 LightRAG 和 GraphRAG)始終優于純塊檢索方法,如 Naive RAG、HyDE 和 RQ-RAG。隨著數據集規模的增加,這種性能差距尤為明顯。例如,在最大的法律數據集中,差距顯著擴大,基線方法的勝率僅約為 20%,而 LightRAG 占據主導地位。這一趨勢突顯了圖增強 RAG 系統在捕捉大規模語料庫中復雜語義依賴關系的優勢,有助于更全面地理解知識并提升泛化性能。
- LightRAG生成結果多樣性: 與其他方法相比,LightRAG 在多樣性指標上表現出顯著優勢,尤其是在較大的法律數據集中。其在這一領域的一貫領先,突顯了 LightRAG 在生成多樣化生成結果方面的有效性,特別是在需要多樣內容的場景中。團隊將這種優勢歸因于 LightRAG 的雙層檢索范式,該范式促進了從低層次和高層次維度進行全面的信息檢索。通過圖增強的文本索引,該方法有效捕捉了查詢的完整上下文。
- LightRAG相對于GraphRAG的優勢: 雖然 LightRAG 和 GraphRAG 都采用基于圖的檢索機制,但 LightRAG 在性能上始終優于 GraphRAG,尤其是在包含復雜語言上下文的大型數據集中。在農業、計算機科學和法律數據集中(每個數據集包含數百萬個 tokens),LightRAG 顯示出明顯的優勢,顯著超越 GraphRAG,突顯了其在多樣化環境中對信息全面理解的強大能力。
消融實驗
團隊還進行了消融研究,以評估雙層檢索范式的影響以及LightRAG中基于圖的文本索引的有效性。結果如表所示。
雙層檢索范式的有效性
團隊首先分析了低層次和高層次檢索范式的效果,比較了兩種消融模型(分別去掉一個模塊)與完整的 LightRAG 在四個數據集上的表現。以下是團隊對不同變體的主要觀察結果:
- 僅Low-Level檢索:去掉高層次檢索的 -High 變體導致幾乎所有數據集和指標上的性能顯著下降。這一下降主要是由于該變體過于強調特定信息,集中于實體及其直接鄰居。盡管這種方法能夠深入探索直接相關的實體,但在處理需要全面見解的復雜查詢時表現不佳。
- 僅High-Level檢索:去掉低層次檢索的 -Low 變體通過利用實體間的關系來捕捉更廣泛的內容,而非專注于具體實體。這種方法在全面性方面具有顯著優勢,能夠獲取更多樣化和廣泛的信息。然而,其代價是對特定實體的深入分析較少,這限制了其提供高度詳細見解的能力。因此,這種僅高層次的檢索方法在需要精確、詳細答案的任務中可能表現欠佳。
- 混合模式:混合模式,即 LightRAG 的完整版本,結合了低層次和高層次檢索方法的優勢。它既能檢索更廣泛的關系,又能深入探索具體實體。這種雙層方法在檢索過程中兼具廣度和深度,能夠提供數據的全面視圖。因此,LightRAG 在多個維度上表現出良好的平衡。
構建語義圖在RAG中的優勢
團隊在檢索過程中去掉了對原始文本的使用。令人意外的是,結果顯示的變體 -Origin 在所有四個數據集上并沒有顯著的性能下降。在某些情況下,這一變體甚至表現出提升(例如在農業和混合數據集中)。團隊將這一現象歸因于基于圖的索引過程有效地提取了關鍵信息,提供了足夠的上下文來回答查詢。此外,原始文本往往包含無關信息,這可能在響應中引入噪音。
模型開銷分析
團隊從兩個關鍵角度比較了 LightRAG 與表現最優的對比方法GraphRAG的成本。首先,團隊考察了在索引和檢索過程中使用的 tokens 數量和 API 調用次數。其次,團隊分析了這些指標在處理動態環境中的數據變化時的表現。法律數據集上的評估結果如表所示。在此背景下, 代表實體和關系抽取的 token 開銷,表示每次 API 調用允許的最大 token 數量,而 則代表抽取所需的 API 調用次數。
- 檢索階段:GraphRAG 生成了1399個社區,其中610個二級社區在本實驗中被用于檢索。每個社區的平均報告為1000個tokens,總 token消耗為610000個 tokens(610個社區×每個社區1000個tokens)。此外,GraphRAG需要逐個遍歷社區,這導致了數百次API調用,顯著增加了檢索開銷。相比之下,LightRAG 優化了這一過程,僅使用少于100個tokens 進行關鍵詞生成和檢索,且整個過程只需要一次API調用。這種效率得益于團隊整合圖結構和向量化表示的檢索機制,從而消除了事先處理大量信息的需求。
- 增量數據更新階段:該階段旨在應對動態現實場景中的數據變化。在實體和關系抽取上,兩個模型表現出類似的開銷。然而,GraphRAG 在處理新增數據時顯示出顯著的低效性。當引入與法律數據集同等規模的新數據集時,GraphRAG必須拆除其現有的社區結構以整合新實體和關系,隨后重新生成社區結構。這一過程產生了大約每個社區報告5000個tokens的巨大開銷。考慮到有1399個社區,GraphRAG需要大約1399×2×5000個tokens來重建原有和新的社區報告——這一高昂的代價凸顯了其低效性。相比之下,LightRAG無縫地將新抽取的實體和關系整合到現有圖中,無需完全重建。這種方法在增量更新過程中顯著降低了開銷,展現出其卓越的效率和成本效益。
總結
本研究通過引入基于圖的索引方法,對檢索增強生成(RAG)進行了改進,從而提升了信息檢索的效率和理解能力。LightRAG 利用全面的知識圖,促進快速且相關的文檔檢索,幫助用戶更深入地理解復雜查詢。其雙層檢索范式能夠提取具體和抽象的信息,以滿足多樣化的用戶需求。此外,LightRAG 的無縫增量更新功能確保系統能夠隨時響應新信息,保持長期的有效性。總體而言,LightRAG 在效率和效能上表現卓越,顯著提升了信息檢索和生成的速度與質量,同時大幅度降低了基于LLM檢索生成成本。
項目鏈接:https://github.com/HKUDS/LightRAG
港大數據智能實驗室:https://sites.google.com/view/chaoh/group-join-us