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