更快、更強(qiáng)、更經(jīng)濟(jì)!港大開(kāi)源大模型RAG系統(tǒng)LightRAG
隨著大語(yǔ)言模型(LLM)自身能力的日趨完善,很多學(xué)者的目光聚焦于如何幫助大模型處理和感知大規(guī)模的私有數(shù)據(jù)庫(kù)。RAG(Retrieval-Augmented Generation)系統(tǒng)采用檢索方法,從私有數(shù)據(jù)庫(kù)中高效、準(zhǔn)確地召回與查詢(xún)高度相關(guān)的信息內(nèi)容,用以增強(qiáng)通用大模型處理查詢(xún)的語(yǔ)境知識(shí)和生成效果。
現(xiàn)有RAG方法基于信息索引和檢索算法,在整合外部知識(shí)源方面已經(jīng)取得了一定的成效,然而這些方法普遍存在以下問(wèn)題亟待解決:
1. 當(dāng)前方法大多采用扁平的向量化表示方法,這限制了模型對(duì)外部數(shù)據(jù)的理解和檢索的準(zhǔn)確性,影響了檢索的效果。
2. 現(xiàn)有工作缺乏對(duì)實(shí)體間相互聯(lián)系的充分探索,導(dǎo)致面對(duì)復(fù)雜的高級(jí)問(wèn)題時(shí)無(wú)法有效結(jié)合多個(gè)方面的信息進(jìn)行聯(lián)系和總結(jié)。
為了應(yīng)對(duì)這些問(wèn)題,北京郵電大學(xué)、香港大學(xué)的研究人員提出了一種使用圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行增強(qiáng)的RAG系統(tǒng)——LightRAG,利用圖結(jié)構(gòu)對(duì)復(fù)雜關(guān)系的準(zhǔn)確描繪,LightRAG能夠有效地解決上述問(wèn)題。
論文地址:https://arxiv.org/abs/2410.05779
項(xiàng)目地址:https://github.com/HKUDS/LightRAG
為了實(shí)現(xiàn)系統(tǒng)的性能和效率,LightRAG的設(shè)計(jì)聚焦于解決以下挑戰(zhàn):
1. 信息檢索的全面性:RAG系統(tǒng)應(yīng)當(dāng)能夠全面考慮查詢(xún)和外部知識(shí)在不同層級(jí)的語(yǔ)義,既能夠感知具體的實(shí)體,也能夠理解抽象概念。
2. 信息檢索的效率:在保證檢索準(zhǔn)確性的情況下,能夠進(jìn)行高效的信息檢索,是RAG系統(tǒng)面對(duì)海量查詢(xún)請(qǐng)求時(shí)的關(guān)鍵能力。
3. 對(duì)新數(shù)據(jù)的快速適應(yīng)能力:在實(shí)際使用過(guò)程中,外部數(shù)據(jù)庫(kù)常常發(fā)生持續(xù)不斷的演化,如何讓RAG系統(tǒng)保持靈活的更新能力,是一個(gè)重要問(wèn)題。
為了解決上述挑戰(zhàn),LightRAG系統(tǒng)具有以下關(guān)鍵設(shè)計(jì)。
基于圖數(shù)據(jù)結(jié)構(gòu)的文本索引
LightRAG首先對(duì)外部數(shù)據(jù)庫(kù)進(jìn)行預(yù)處理,以利于處理查詢(xún)時(shí)的高效性和準(zhǔn)確性,這一過(guò)程被稱(chēng)為文本索引。為了充分理解數(shù)據(jù)庫(kù)中實(shí)體間的相互聯(lián)系,這一過(guò)程采用了圖的數(shù)據(jù)結(jié)構(gòu)進(jìn)行增強(qiáng)。
總體來(lái)說(shuō),這一過(guò)程包含以下幾個(gè)重要階段:
1. 實(shí)體和關(guān)系抽?。?/span>為了獲取索引圖中的基本元素,LightRAG首先使用大語(yǔ)言模型處理原始文本數(shù)據(jù),識(shí)別出其中具有固定語(yǔ)義的實(shí)體、以及它們之間的關(guān)系。例如在一篇醫(yī)學(xué)文章中識(shí)別出「心臟病」以及「心內(nèi)科醫(yī)生」這兩種實(shí)體,并指出兩者之間的治療關(guān)系。
通過(guò)這一過(guò)程,首先可以很好地提取出數(shù)據(jù)中關(guān)鍵的細(xì)粒度語(yǔ)義元素,方便之后的信息檢索;其次,這種關(guān)系結(jié)構(gòu)可以很好地將原始數(shù)據(jù)中的信息聯(lián)系起來(lái),加強(qiáng)RAG系統(tǒng)對(duì)實(shí)體間聯(lián)系的理解和感知,提升檢索的全面性。
2. 用于檢索的鍵值對(duì)生成:通過(guò)上述步驟獲得了圖數(shù)據(jù)的骨架后,LightRAG繼續(xù)使用大語(yǔ)言模型方法,生成每個(gè)實(shí)體和關(guān)系的檢索鍵和檢索值。其中檢索鍵是較短的文本,用于與查詢(xún)文本的語(yǔ)義進(jìn)行匹配。
節(jié)點(diǎn)的檢索鍵通常是他的文本名稱(chēng)本身,而關(guān)系的檢索鍵則通過(guò)提示大語(yǔ)言模型的方法生成,反應(yīng)了該關(guān)系對(duì)關(guān)聯(lián)的抽象語(yǔ)義。檢索值則為相對(duì)大段的文本描述,是檢索后用于增強(qiáng)通用大模型回答查詢(xún)的細(xì)節(jié)信息。通過(guò)這種方法,LightRAG的檢索既能夠感知豐富具體的語(yǔ)義信息以提升準(zhǔn)確性,又可以通過(guò)鍵值進(jìn)行快速索引和數(shù)據(jù)獲取。
3. 實(shí)體和關(guān)系去重:對(duì)較長(zhǎng)的外部文本數(shù)據(jù),上述過(guò)程會(huì)重復(fù)提取一些相同或者高度相似的實(shí)體和關(guān)系。為了進(jìn)一步提升RAG系統(tǒng)的效率,接下來(lái)通過(guò)提示大語(yǔ)言模型來(lái)進(jìn)行實(shí)體和關(guān)系的去重,得到最終的圖結(jié)構(gòu)索引。
4. 增量更新:為了應(yīng)對(duì)外部數(shù)據(jù)庫(kù)體量的不斷擴(kuò)大,LightRAG基于上述過(guò)程設(shè)計(jì)了增量方法。通過(guò)采用同樣的實(shí)體和關(guān)系抽取、鍵值對(duì)生成、圖結(jié)構(gòu)元素的去重和合并過(guò)程,LightRAG可以避免對(duì)全部數(shù)據(jù)進(jìn)行重新處理,而只進(jìn)行增量式的信息索引和合并,大大提升了RAG系統(tǒng)的適應(yīng)能力。
LightRAG的雙層檢索范式
為了提升模型的全面性,LightRAG充分考慮到了具體查詢(xún)和抽象查詢(xún)這兩類(lèi)查詢(xún)請(qǐng)求的不同。前者通常明確關(guān)聯(lián)于實(shí)際的實(shí)體,需要檢索回相關(guān)的實(shí)體并結(jié)合問(wèn)題進(jìn)行總結(jié)。而后者主要設(shè)計(jì)抽象的概念,需要準(zhǔn)確識(shí)別出具象實(shí)體和抽象概念之間的聯(lián)系,才能得到需要的信息進(jìn)行回答。
對(duì)應(yīng)這兩類(lèi)查詢(xún)請(qǐng)求,LightRAG采用了一種雙層檢索范式:在底層檢索中,LightRAG基于實(shí)體包含具象語(yǔ)義的鍵值進(jìn)行檢索和召回;而在高層檢索中,LightRAG首先識(shí)別出查詢(xún)請(qǐng)求所涉及的抽象概念,以將其與關(guān)系中的抽象檢索鍵進(jìn)行匹配。
這種雙層檢索范式的優(yōu)勢(shì)在于,它通過(guò)結(jié)合特定查詢(xún)和抽象查詢(xún)的處理方式以及低級(jí)別檢索和高級(jí)別檢索策略,并整合圖和向量進(jìn)行檢索,從而能夠有效適應(yīng)多樣化的查詢(xún)類(lèi)型。這使得它不僅可以精確檢索到與特定實(shí)體相關(guān)的詳細(xì)信息,還能獲取更廣泛主題的相關(guān)知識(shí),進(jìn)而確保系統(tǒng)能夠?yàn)橛脩籼峁┤媲蚁嚓P(guān)的回答,滿足不同用戶的需求。
在檢索過(guò)程中,LightRAG將圖數(shù)據(jù)檢索與向量數(shù)據(jù)庫(kù)檢索進(jìn)行結(jié)合,既考慮到了召回實(shí)體和關(guān)系的鄰域信息,也考慮到了如何在實(shí)現(xiàn)中進(jìn)行快速匹配。
實(shí)驗(yàn)
實(shí)驗(yàn)設(shè)置
評(píng)估數(shù)據(jù)集
為了全面評(píng)估模型的性能,我們精心選擇了來(lái)自UltraDomain的四個(gè)具有不同特征的數(shù)據(jù)集。首先,Agriculture數(shù)據(jù)集專(zhuān)注于農(nóng)業(yè)實(shí)踐領(lǐng)域,包含了12篇文檔,總token數(shù)達(dá)到2,017,886個(gè)。其內(nèi)容廣泛涵蓋了農(nóng)業(yè)相關(guān)的各種主題,為模型在農(nóng)業(yè)領(lǐng)域的理解和處理能力提供了測(cè)試平臺(tái)。
接下來(lái)是CS(計(jì)算機(jī)科學(xué))數(shù)據(jù)集,由10篇文檔組成,總計(jì)2,306,535個(gè)token。該數(shù)據(jù)集涉及計(jì)算機(jī)科學(xué)的多個(gè)方面,包括算法、人工智能、軟件工程等,旨在評(píng)估模型在計(jì)算機(jī)科學(xué)領(lǐng)域的表現(xiàn)。
第三個(gè)數(shù)據(jù)集是規(guī)模最大的Legal數(shù)據(jù)集,包含了94篇文檔,累計(jì)5,081,069個(gè)token。它聚焦于公司法律實(shí)踐,涵蓋了各種法律文件、案例分析和法規(guī)解讀,測(cè)試模型在法律文本處理和法律知識(shí)理解方面的能力。
最后,Mix數(shù)據(jù)集包含了61篇文檔,共計(jì)619,009個(gè)token。該數(shù)據(jù)集匯集了多個(gè)學(xué)科的文本,包括人文、社會(huì)科學(xué)和自然科學(xué)等,旨在評(píng)估模型在處理跨領(lǐng)域、多主題內(nèi)容時(shí)的綜合性能。
通過(guò)選擇這些多樣化的數(shù)據(jù)集,我們得以在不同領(lǐng)域和規(guī)模下全面評(píng)估模型的表現(xiàn),為實(shí)驗(yàn)結(jié)果的可靠性和普遍性提供了保障。
問(wèn)題生成
為了測(cè)試模型在各種復(fù)雜問(wèn)題上的處理能力,我們針對(duì)每個(gè)數(shù)據(jù)集生成了一系列需要深入理解的問(wèn)題。具體方法是,將每個(gè)數(shù)據(jù)集的所有文本內(nèi)容視為背景上下文,然后利用大型語(yǔ)言模型(LLM)生成問(wèn)題。
首先,我們讓LLM為每個(gè)數(shù)據(jù)集創(chuàng)建五個(gè)虛擬的RAG用戶,每個(gè)用戶代表不同的信息需求或興趣領(lǐng)域。接著,針對(duì)每個(gè)用戶,設(shè)計(jì)了五個(gè)獨(dú)特的任務(wù),模擬他們可能提出的查詢(xún)類(lèi)型。
對(duì)于每個(gè)用戶-任務(wù)組合,LLM進(jìn)一步生成了五個(gè)需要全面理解整個(gè)語(yǔ)料庫(kù)才能回答的問(wèn)題。通過(guò)這種方式,每個(gè)數(shù)據(jù)集最終產(chǎn)生了125個(gè)多樣化的問(wèn)題(5個(gè)用戶 × 5個(gè)任務(wù) × 5個(gè)問(wèn)題),從而全面評(píng)估模型在處理各種查詢(xún)時(shí)的能力。
實(shí)現(xiàn)和評(píng)估細(xì)節(jié)
在實(shí)驗(yàn)實(shí)施過(guò)程中,我們采用了nano向量數(shù)據(jù)庫(kù)來(lái)管理向量化的數(shù)據(jù),以提高檢索的效率和速度。在LightRAG模型中,所有基于LLM的操作默認(rèn)使用了GPT-4o-mini模型,以保持實(shí)驗(yàn)的一致性和可比性。
在預(yù)處理階段,統(tǒng)一將所有數(shù)據(jù)集的文本塊大小設(shè)置為1200個(gè)token,旨在平衡模型的計(jì)算效率和上下文捕獲能力。一些關(guān)鍵參數(shù)被固定,以減少變量對(duì)實(shí)驗(yàn)結(jié)果的影響。
為了評(píng)估模型的性能,我們采用了基于LLM的多維度比較方法。具體定義了全面性、多樣性、賦能性和總體表現(xiàn)四個(gè)評(píng)估維度。這些維度從不同角度衡量模型的回答質(zhì)量,確保評(píng)估的全面性。
由于檢索增強(qiáng)生成(RAG)模型的查詢(xún)通常沒(méi)有標(biāo)準(zhǔn)答案,直接評(píng)估回答的準(zhǔn)確性存在挑戰(zhàn)。
為此,我們利用GPT-4o-mini對(duì)基線模型和LightRAG的回答進(jìn)行排名評(píng)估。通過(guò)交替排列答案、盲審等方式,確保評(píng)估過(guò)程的公平性和客觀性。最終,我們計(jì)算了各模型在不同維度上的勝率,以量化它們的性能差異。
回答質(zhì)量比較
我們將LightRAG與多種基線模型在四個(gè)選定的數(shù)據(jù)集(Agriculture、CS、Legal、Mix)上進(jìn)行了比較,評(píng)估它們?cè)诓煌S度下的性能表現(xiàn)。
以Agriculture數(shù)據(jù)集為例,在全面性維度上,Naive RAG模型的勝率為32.69%,而LightRAG的勝率達(dá)到了67.31%,顯著優(yōu)于基線模型。同樣地,在多樣性維度上,Naive RAG的勝率為24.09%,而LightRAG高達(dá)75.91%。這種優(yōu)勢(shì)在CS、Legal和Mix數(shù)據(jù)集上也得到了體現(xiàn),LightRAG在多數(shù)評(píng)估維度上的勝率都明顯超過(guò)了基線模型。
通過(guò)深入分析實(shí)驗(yàn)結(jié)果,我們得出了以下結(jié)論:
首先,基于圖的RAG系統(tǒng)在處理大規(guī)模語(yǔ)料和復(fù)雜查詢(xún)時(shí)表現(xiàn)出更好的性能。
LightRAG和GraphRAG等模型利用圖結(jié)構(gòu)捕獲了語(yǔ)料庫(kù)中的復(fù)雜語(yǔ)義依賴(lài)關(guān)系,隨著數(shù)據(jù)集規(guī)模的增加,這種優(yōu)勢(shì)更加明顯。
例如,在規(guī)模最大的Legal數(shù)據(jù)集上,基線方法的勝率僅約為20%,而LightRAG顯著領(lǐng)先。這表明,圖增強(qiáng)的RAG系統(tǒng)能夠更全面地理解和整合知識(shí),提高模型的泛化能力。
其次,LightRAG在多樣性維度上展現(xiàn)了卓越的優(yōu)勢(shì)。
與各種基線模型相比,LightRAG在提供豐富、多樣化的回答方面表現(xiàn)突出,尤其是在Legal數(shù)據(jù)集等大型數(shù)據(jù)集上。
這主要?dú)w功于LightRAG的雙層檢索策略,它能夠從低級(jí)別(具體細(xì)節(jié))和高級(jí)別(宏觀主題)兩個(gè)層次全面檢索信息,充分利用基于圖的文本索引,捕獲查詢(xún)的完整上下文,從而生成更為豐富的回答。
消融實(shí)驗(yàn)
為了深入了解模型各組件對(duì)整體性能的影響,我們對(duì)LightRAG進(jìn)行了消融實(shí)驗(yàn),重點(diǎn)考察了雙層檢索機(jī)制和語(yǔ)義圖在模型中的作用。實(shí)驗(yàn)結(jié)果如下,我們從中觀察到了以下現(xiàn)象:
首先,僅使用低級(jí)別或高級(jí)別檢索的影響:
1. 當(dāng)僅使用低級(jí)別檢索(即移除高級(jí)別檢索,稱(chēng)為「-High」變體)時(shí),模型在幾乎所有數(shù)據(jù)集和評(píng)估指標(biāo)上性能顯著下降。例如,在Agriculture數(shù)據(jù)集的全面性維度,勝率從LightRAG的67.31%下降到35.79%。
2. 反之,當(dāng)僅使用高級(jí)別檢索(即移除低級(jí)別檢索,稱(chēng)為「-Low」變體)時(shí),雖然在全面性上可能有所提升,但在涉及具體實(shí)體細(xì)節(jié)的指標(biāo)上表現(xiàn)不足。例如,在Agriculture數(shù)據(jù)集的多樣性維度,勝率從LightRAG的75.91%降至35.09%。
3. 雙層檢索機(jī)制對(duì)于模型性能至關(guān)重要。僅使用低級(jí)別檢索時(shí),模型過(guò)于關(guān)注特定實(shí)體及其直接關(guān)聯(lián),無(wú)法全面理解復(fù)雜查詢(xún)所需的廣泛信息,導(dǎo)致性能下降。僅使用高級(jí)別檢索則缺乏對(duì)具體細(xì)節(jié)的深入挖掘。在這兩種情況下,模型的回答都不夠完整或精準(zhǔn)。這表明,結(jié)合低級(jí)別和高級(jí)別檢索的雙層策略能夠平衡信息的廣度和深度,為模型提供更全面的數(shù)據(jù)支持,從而提升整體性能。
其次,語(yǔ)義圖在檢索中的作用:
1. 當(dāng)在檢索過(guò)程中不包含原始文本(稱(chēng)為「-Origin」變體)時(shí),模型在四個(gè)數(shù)據(jù)集上的性能并未顯著下降,甚至在某些數(shù)據(jù)集(如Agriculture和Mix)上還有所提升。
2. 語(yǔ)義圖在信息提取中的有效性得到驗(yàn)證。當(dāng)移除原始文本時(shí),模型性能未見(jiàn)明顯下降,說(shuō)明基于圖的索引過(guò)程已經(jīng)成功提取了關(guān)鍵信息。語(yǔ)義圖結(jié)構(gòu)本身提供了足夠的上下文,用于回答查詢(xún)。而原始文本中可能存在的冗余或不相關(guān)信息,反而可能干擾模型的檢索和回答過(guò)程。
案例研究
為了更直觀地展示模型在實(shí)際應(yīng)用中的表現(xiàn),我們進(jìn)行了具體的案例研究,比較了LightRAG和GraphRAG在回答特定問(wèn)題時(shí)的效果。此次研究聚焦于一個(gè)涉及機(jī)器學(xué)習(xí)的問(wèn)題:
「哪些方法可以對(duì)特征值進(jìn)行規(guī)范化以提高機(jī)器學(xué)習(xí)的效果?」
我們分別獲取了兩個(gè)模型對(duì)該問(wèn)題的回答,并使用大型語(yǔ)言模型(LLM)對(duì)它們?cè)诟鱾€(gè)評(píng)估維度上的表現(xiàn)進(jìn)行評(píng)估。結(jié)果顯示,LightRAG在全面性、多樣性和賦能性等所有維度上均優(yōu)于GraphRAG。
在全面性方面,LightRAG的回答涵蓋了更多的特征規(guī)范化方法,如歸一化、標(biāo)準(zhǔn)化和歸一化到特定區(qū)間等,體現(xiàn)了更強(qiáng)的信息整合能力。
在多樣性維度上,LightRAG提供了多種不同的技術(shù)手段,涵蓋了數(shù)據(jù)預(yù)處理的各個(gè)方面,信息更加豐富。
在賦能性方面,LightRAG的回答不僅列出了方法,還對(duì)每種方法的適用場(chǎng)景和優(yōu)缺點(diǎn)進(jìn)行了詳細(xì)解釋?zhuān)瑤椭脩舾玫乩斫夂蛻?yīng)用這些知識(shí)。
通過(guò)這個(gè)案例,我們可以得出以下結(jié)論:
1. 基于圖的索引策略提升了模型的理解深度。LightRAG在全面性上的優(yōu)勢(shì),得益于其精確的實(shí)體和關(guān)系提取能力,以及對(duì)知識(shí)的深入整合。
2. 雙層檢索策略增強(qiáng)了回答的質(zhì)量和豐富性。低級(jí)別檢索使模型能夠深入挖掘具體細(xì)節(jié),高級(jí)別檢索則提供了宏觀視角,兩者結(jié)合提高了回答的全面性和實(shí)用性。
模型開(kāi)銷(xiāo)與適應(yīng)性分析
在實(shí)際應(yīng)用中,模型的資源消耗和對(duì)動(dòng)態(tài)環(huán)境的適應(yīng)性至關(guān)重要。我們從兩個(gè)關(guān)鍵角度對(duì)LightRAG和表現(xiàn)最優(yōu)的基線模型GraphRAG進(jìn)行了比較:一是索引和檢索過(guò)程中使用的token數(shù)量和API調(diào)用次數(shù),二是在動(dòng)態(tài)環(huán)境中處理數(shù)據(jù)變化時(shí)的效率和成本。
以Legal數(shù)據(jù)集為例進(jìn)行評(píng)估:
在檢索階段:
1. GraphRAG:生成了1,399個(gè)社區(qū),其中610個(gè)用于實(shí)際檢索。每個(gè)社區(qū)報(bào)告平均包含1,000個(gè)token,總消耗約610,000個(gè)token。同時(shí),檢索過(guò)程中需要逐一遍歷這些社區(qū),導(dǎo)致數(shù)百次API調(diào)用,增加了時(shí)間和資源成本。
2. LightRAG:僅使用了不到100個(gè)token用于關(guān)鍵詞生成和檢索,整個(gè)過(guò)程只需一次API調(diào)用。這大大降低了token消耗和API調(diào)用次數(shù),提高了檢索效率。
在增量數(shù)據(jù)更新階段:
1. GraphRAG:當(dāng)引入與Legal數(shù)據(jù)集等規(guī)模的新數(shù)據(jù)時(shí),需要拆除現(xiàn)有的社區(qū)結(jié)構(gòu)并完全重新生成。每個(gè)社區(qū)報(bào)告約需5,000個(gè)token,對(duì)于1,399個(gè)社區(qū),總計(jì)需要約13,990,000個(gè)token,成本極高。
2. LightRAG:利用增量更新算法,能夠直接將新提取的實(shí)體和關(guān)系無(wú)縫集成到現(xiàn)有的圖結(jié)構(gòu)中,無(wú)需完全重建索引,大幅降低了token消耗和處理時(shí)間。
通過(guò)上述分析,我們發(fā)現(xiàn):
1. LightRAG在檢索效率和資源消耗上具備明顯優(yōu)勢(shì)。其優(yōu)化的檢索機(jī)制減少了不必要的信息處理,降低了token和API調(diào)用的使用量。
2. 在動(dòng)態(tài)數(shù)據(jù)環(huán)境中,LightRAG的適應(yīng)性更強(qiáng)。通過(guò)增量更新能力,能夠有效應(yīng)對(duì)數(shù)據(jù)的頻繁變化,保持系統(tǒng)的高效性和成本效益。
綜上所述,LightRAG在信息檢索效率、成本效益和動(dòng)態(tài)環(huán)境適應(yīng)性方面都優(yōu)于GraphRAG。這使其在需要處理大量數(shù)據(jù)和頻繁更新的實(shí)際應(yīng)用場(chǎng)景中,更具優(yōu)勢(shì)和競(jìng)爭(zhēng)力。