但GraphRAG在處理全局?jǐn)?shù)據(jù)查詢時(shí)成本非常高,尤其是應(yīng)用在那些大參數(shù)的AI模型中格外明顯,查詢的過程中也存在延遲、不準(zhǔn)確等問題。

今天凌晨,微軟研究院發(fā)布了GraphRAG迭代版本——LazyGraphRAG。

這個(gè)RAG的最大亮點(diǎn)之一就是成本非常低,數(shù)據(jù)索引成本只有完整版GraphRAG的0.1%,同時(shí)采用了全新混合數(shù)據(jù)搜索方法,生成結(jié)果的準(zhǔn)確率、效率等卻更好,很快發(fā)布開源版本并加入到GraphRAG庫中。

什么是RAG——(檢索、增強(qiáng)、生成)

RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成) 是一種結(jié)合了信息檢索技術(shù)與語言生成模型的人工智能技術(shù)。該技術(shù)通過從外部知識庫中檢索相關(guān)信息,并將其作為提示(Prompt)輸入給大型語言模型(LLMs),

以增強(qiáng)模型處理知識密集型任務(wù)的能力,如問答、文本摘要、內(nèi)容生成等。RAG模型由Facebook AI Research(FAIR)團(tuán)隊(duì)于2020年首次提出,并迅速成為大模型應(yīng)用中的熱門方案。

檢索增強(qiáng)生成

什么是RAG?

RAG(Retrieval-Augmented Generation,檢索增強(qiáng)生成),RAG是一種 AI 框架,它將傳統(tǒng)信息檢索系統(tǒng)(例如數(shù)據(jù)庫)的優(yōu)勢與生成式大語言模型 (LLM) 的功能結(jié)合在一起。

LLM通過將這些額外的知識與自己的語言技能相結(jié)合,可以撰寫更準(zhǔn)確、更具時(shí)效性且更貼合具體需求的文字。

如何理解RAG?

RAG的目的是通過從外部知識庫檢索相關(guān)信息來輔助大語言模型生成更準(zhǔn)確、更豐富的文本內(nèi)容。那我們?nèi)绾卫斫釸AG的檢索、增強(qiáng)和生成呢?

  1. 檢索:檢索是RAG流程的第一步,從預(yù)先建立的知識庫中檢索與問題相關(guān)的信息。這一步的目的是為后續(xù)的生成過程提供有用的上下文信息和知識支撐。
  1. 增強(qiáng):RAG中增強(qiáng)是將檢索到的信息用作生成模型(即大語言模型)的上下文輸入,以增強(qiáng)模型對特定問題的理解和回答能力。這一步的目的是將外部知識融入生成過程中,使生成的文本內(nèi)容更加豐富、準(zhǔn)確和符合用戶需求。通過增強(qiáng)步驟,LLM模型能夠充分利用外部知識庫中的信息。
  1. 生成:生成是RAG流程的最后一步。這一步的目的是結(jié)合LLM生成符合用戶需求的回答。生成器會利用檢索到的信息作為上下文輸入,并結(jié)合大語言模型來生成文本內(nèi)容。

微軟新升級的LazyGraphRAG

數(shù)據(jù)索引階段

GraphRAG:主要依賴于大模型來提取和描述實(shí)體及其關(guān)系,并為每個(gè)實(shí)體和關(guān)系生成總結(jié)。這個(gè)過程涉及到圖統(tǒng)計(jì)來優(yōu)化實(shí)體圖,并提取出層次化的社區(qū)結(jié)構(gòu)。然而,這種方法需要借助大量的語言模型處理,導(dǎo)致GraphRAG的數(shù)據(jù)索引成本非常高。

LazyGraphRAG:在數(shù)據(jù)索引階段不進(jìn)行任何預(yù)先的總結(jié)或嵌入生成,而是采用NLP名詞短語提取來識別概念及其共現(xiàn)關(guān)系,然后再通過圖統(tǒng)計(jì)來優(yōu)化概念圖,并提取層次社區(qū)結(jié)構(gòu)。這種方法顯著降低了索引成本。

查詢處理方面

GraphRAG:使用廣度優(yōu)先搜索來確保查詢回答時(shí)考慮了整個(gè)數(shù)據(jù)集的廣度。

LazyGraphRAG:結(jié)合了最佳優(yōu)先搜索和廣度優(yōu)先搜索的動態(tài),采用迭代加深的方式。它首先按相似度排名文本片段,然后通過動態(tài)選擇相關(guān)社區(qū)來逐步細(xì)化查詢結(jié)果。這種方法使得LazyGraphRAG能夠支持本地和全局查詢,同時(shí)在考慮整個(gè)數(shù)據(jù)集的廣度的同時(shí),高效地找到最佳匹配的文本塊。

GraphRAGLazyGraphRAG
Build index構(gòu)建索引使用 LLM 提取和描述實(shí)體及其關(guān)系,b) 使用 LLM 總結(jié)每個(gè)實(shí)體和關(guān)系的所有觀察結(jié)果,c) 使用圖形統(tǒng)計(jì)來優(yōu)化實(shí)體圖并提取分層社區(qū)結(jié)構(gòu)使用 NLP 名詞短語提取來提取概念及其共現(xiàn),b) 使用圖形統(tǒng)計(jì)來優(yōu)化概念圖并提取分層社區(qū)結(jié)構(gòu)
優(yōu)化查詢None – 整個(gè)過程中使用原始查詢使用 LLM 來 a) 識別相關(guān)的子查詢并將它們重新組合成一個(gè)擴(kuò)展的查詢,b) 使用概念圖中的匹配概念來優(yōu)化子查詢
匹配查詢None – 使用所有社區(qū)摘要回答所有查詢 ( 廣度優(yōu)先 )對于每個(gè) q 子查詢 [3-5]:
– 使用文本塊嵌入和塊-社區(qū)關(guān)系,首先按與查詢的相似性對文本塊進(jìn)行排名,然后按其排名靠前的社區(qū)排名對社區(qū)進(jìn)行排名k 個(gè)文本塊 ( 最好在前 )
– 使用基于 LLM 的句子級相關(guān)性評估器來評估前 -k 個(gè)來自社區(qū)的未經(jīng)測試的文本塊(按排名順序排列)( 廣度優(yōu)先 )
– 遞歸到子社區(qū)之后z個(gè)連續(xù)社區(qū)產(chǎn)生零相關(guān)文本塊,或達(dá)到相關(guān)性測試預(yù)算 / Q( 迭代加深 )
地圖答案使用 LLM 并行回答隨機(jī)批次社區(qū)摘要的原始查詢對于每個(gè) q 子查詢 [3-5]:
– 從相關(guān)文本塊構(gòu)建概念子圖
– 使用概念的社區(qū)分配將相關(guān)塊分組在一起
– 使用 LLM 從相關(guān)塊組中提取與子查詢相關(guān)的聲明,作為僅關(guān)注相關(guān)內(nèi)容的一種方式
– 對提取的聲明進(jìn)行排名和過濾,以適應(yīng)預(yù)定義的上下文窗口大小
減少答案使用 LLM 通過映射的答案來回答原始查詢使用 LLM 通過提取的 map 聲明來回答擴(kuò)展的查詢

在靈活性和擴(kuò)展性方面,GraphRAG由于其豐富的總結(jié)信息,可以用于多種用途,但高成本限制了其在一次性查詢和探索性分析中的使用。

LazyGraphRAG則提供了統(tǒng)一的查詢接口,支持本地和全局查詢,非常靈活,適合一次性查詢、探索性分析和流式數(shù)據(jù)使用場景。

在應(yīng)用場景上,GraphRAG適合需要高質(zhì)量、全面查詢結(jié)果的場景,例如,企業(yè)級知識管理和復(fù)雜數(shù)據(jù)分析等。而LazyGraphRAG則適合需要高效處理全局查詢且對成本敏感的場景,如中小企業(yè)和個(gè)人開發(fā)者的內(nèi)容推薦系統(tǒng)和項(xiàng)目管理工具,這對于那些資源有限的人來說非常友好。

將向量RAG和GraphRAG與延遲LLM使用混合

LazyGraphRAG旨在融合向量RAG和GraphRAG的優(yōu)點(diǎn),同時(shí)克服它們各自的局限性:

LazyGraphRAG以迭代深化的方式結(jié)合了最佳優(yōu)先和廣度優(yōu)先搜索動態(tài)。與完整GraphRAG的全局搜索機(jī)制相比,這種方法在延遲LLM使用并顯著提高答案生成效率的方式上是“懶惰的”。整體性能可以通過一個(gè)主要參數(shù)(相關(guān)性測試預(yù)算)進(jìn)行擴(kuò)展,該參數(shù)以一致的方式控制成本-質(zhì)量權(quán)衡。

結(jié)語

LazyGraphRAG在成本、技術(shù)、靈活性與擴(kuò)展性、應(yīng)用場景以及性能評估等方面都展現(xiàn)出了顯著的優(yōu)勢。它的發(fā)布將為數(shù)據(jù)檢索和分析領(lǐng)域帶來新的技術(shù)突破和應(yīng)用前景。(文/宋雨涵)

分享到

lixiangjing

算力豹主編

相關(guān)推薦