簡單高效的大模型檢索增強系統LightRAG,香港大學黃超團隊最新研究成果。
開源兩周時間在 GitHub 上獲得将近 5k 标星,并登上趨勢榜。
該模型不僅能夠全面理解實體之間的複雜關系,從而處理更複雜的問題,還大幅降低了大模型檢索增強系統的成本。總體而言,LightRAG 具備以下優勢:
簡單快速的大模型檢索增強生成(RAG)系統
全面理解複雜實體依賴關系的信息檢索
通過雙層檢索範式實現高效的信息檢索
快速适應動态數據變化
檢索增強生成(RAG)系統通過集成外部知識源來增強大語言模型(LLM),從而提供更準确且符合上下文的響應,滿足用戶需求。然而,現有的 RAG 系統存在顯著局限性,包括依賴平面數據表示和缺乏全局的上下文感知,導緻回答零散,難以捕捉複雜的依賴關系。
爲了解決這些問題,團隊提出 LightRAG,它在文本索引和檢索過程中引入了圖結構。該創新框架采用雙層檢索系統,增強了從低層次和高層次知識的全面信息檢索。
此外,圖結構與向量表示的結合有助于高效地檢索相關實體及其複雜的關聯關系,大幅提高了響應速度,同時保持上下文的相關性。此外,該系統能夠高效地在動态環境裏處理數據的更新變化,使其在快速變化的數據環境中仍然保持快速有效的響應能力。
LightRAG 框架基于圖的文本索引
圖增強的實體和關系抽取
LightRAG 将文檔分段爲較小的塊,利用大語言模型(LLM)識别和抽取各種實體(如名字、日期、地點和事件)及其之間的關系。通過這一過程收集的信息用于構建一個全面的知識圖譜,展示整個文檔集合中的連接關系。我們将該圖生成模塊形式化地表示如下:
其中, 代表生成的知識圖。爲了創建這些數據,我們對原始文本文檔 進行了三個主要的處理步驟,這些步驟利用大語言模型(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
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回複你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>