但GraphRAG在處理全局數(shù)據(jù)查詢時成本非常高,尤其是應用在那些大參數(shù)的AI模型中格外明顯,查詢的過程中也存在延遲、不準確等問題。
今天凌晨,微軟研究院發(fā)布了GraphRAG迭代版本——LazyGraphRAG。
這個RAG的最大亮點之一就是成本非常低,數(shù)據(jù)索引成本只有完整版GraphRAG的0.1%,同時采用了全新混合數(shù)據(jù)搜索方法,生成結果的準確率、效率等卻更好,很快發(fā)布開源版本并加入到GraphRAG庫中。
什么是RAG——(檢索、增強、生成)
RAG(Retrieval-Augmented Generation,檢索增強生成) 是一種結合了信息檢索技術與語言生成模型的人工智能技術。該技術通過從外部知識庫中檢索相關信息,并將其作為提示(Prompt)輸入給大型語言模型(LLMs),
以增強模型處理知識密集型任務的能力,如問答、文本摘要、內容生成等。RAG模型由Facebook AI Research(FAIR)團隊于2020年首次提出,并迅速成為大模型應用中的熱門方案。
檢索增強生成
什么是RAG?
RAG(Retrieval-Augmented Generation,檢索增強生成),RAG是一種 AI 框架,它將傳統(tǒng)信息檢索系統(tǒng)(例如數(shù)據(jù)庫)的優(yōu)勢與生成式大語言模型 (LLM) 的功能結合在一起。
LLM通過將這些額外的知識與自己的語言技能相結合,可以撰寫更準確、更具時效性且更貼合具體需求的文字。
如何理解RAG?
RAG的目的是通過從外部知識庫檢索相關信息來輔助大語言模型生成更準確、更豐富的文本內容。那我們如何理解RAG的檢索、增強和生成呢?
微軟新升級的LazyGraphRAG
數(shù)據(jù)索引階段
GraphRAG:主要依賴于大模型來提取和描述實體及其關系,并為每個實體和關系生成總結。這個過程涉及到圖統(tǒng)計來優(yōu)化實體圖,并提取出層次化的社區(qū)結構。然而,這種方法需要借助大量的語言模型處理,導致GraphRAG的數(shù)據(jù)索引成本非常高。
LazyGraphRAG:在數(shù)據(jù)索引階段不進行任何預先的總結或嵌入生成,而是采用NLP名詞短語提取來識別概念及其共現(xiàn)關系,然后再通過圖統(tǒng)計來優(yōu)化概念圖,并提取層次社區(qū)結構。這種方法顯著降低了索引成本。
查詢處理方面
GraphRAG:使用廣度優(yōu)先搜索來確保查詢回答時考慮了整個數(shù)據(jù)集的廣度。
LazyGraphRAG:結合了最佳優(yōu)先搜索和廣度優(yōu)先搜索的動態(tài),采用迭代加深的方式。它首先按相似度排名文本片段,然后通過動態(tài)選擇相關社區(qū)來逐步細化查詢結果。這種方法使得LazyGraphRAG能夠支持本地和全局查詢,同時在考慮整個數(shù)據(jù)集的廣度的同時,高效地找到最佳匹配的文本塊。
GraphRAG | LazyGraphRAG | |
Build index構建索引 | 使用 LLM 提取和描述實體及其關系,b) 使用 LLM 總結每個實體和關系的所有觀察結果,c) 使用圖形統(tǒng)計來優(yōu)化實體圖并提取分層社區(qū)結構 | 使用 NLP 名詞短語提取來提取概念及其共現(xiàn),b) 使用圖形統(tǒng)計來優(yōu)化概念圖并提取分層社區(qū)結構 |
優(yōu)化查詢 | None – 整個過程中使用原始查詢 | 使用 LLM 來 a) 識別相關的子查詢并將它們重新組合成一個擴展的查詢,b) 使用概念圖中的匹配概念來優(yōu)化子查詢 |
匹配查詢 | None – 使用所有社區(qū)摘要回答所有查詢 ( 廣度優(yōu)先 ) | 對于每個 q 子查詢 [3-5]: – 使用文本塊嵌入和塊-社區(qū)關系,首先按與查詢的相似性對文本塊進行排名,然后按其排名靠前的社區(qū)排名對社區(qū)進行排名k 個文本塊 ( 最好在前 ) – 使用基于 LLM 的句子級相關性評估器來評估前 -k 個來自社區(qū)的未經測試的文本塊(按排名順序排列)( 廣度優(yōu)先 ) – 遞歸到子社區(qū)之后z個連續(xù)社區(qū)產生零相關文本塊,或達到相關性測試預算 / Q( 迭代加深 ) |
地圖答案 | 使用 LLM 并行回答隨機批次社區(qū)摘要的原始查詢 | 對于每個 q 子查詢 [3-5]: – 從相關文本塊構建概念子圖 – 使用概念的社區(qū)分配將相關塊分組在一起 – 使用 LLM 從相關塊組中提取與子查詢相關的聲明,作為僅關注相關內容的一種方式 – 對提取的聲明進行排名和過濾,以適應預定義的上下文窗口大小 |
減少答案 | 使用 LLM 通過映射的答案來回答原始查詢 | 使用 LLM 通過提取的 map 聲明來回答擴展的查詢 |
在靈活性和擴展性方面,GraphRAG由于其豐富的總結信息,可以用于多種用途,但高成本限制了其在一次性查詢和探索性分析中的使用。
LazyGraphRAG則提供了統(tǒng)一的查詢接口,支持本地和全局查詢,非常靈活,適合一次性查詢、探索性分析和流式數(shù)據(jù)使用場景。
在應用場景上,GraphRAG適合需要高質量、全面查詢結果的場景,例如,企業(yè)級知識管理和復雜數(shù)據(jù)分析等。而LazyGraphRAG則適合需要高效處理全局查詢且對成本敏感的場景,如中小企業(yè)和個人開發(fā)者的內容推薦系統(tǒng)和項目管理工具,這對于那些資源有限的人來說非常友好。
將向量RAG和GraphRAG與延遲LLM使用混合
LazyGraphRAG旨在融合向量RAG和GraphRAG的優(yōu)點,同時克服它們各自的局限性:
LazyGraphRAG以迭代深化的方式結合了最佳優(yōu)先和廣度優(yōu)先搜索動態(tài)。與完整GraphRAG的全局搜索機制相比,這種方法在延遲LLM使用并顯著提高答案生成效率的方式上是“懶惰的”。整體性能可以通過一個主要參數(shù)(相關性測試預算)進行擴展,該參數(shù)以一致的方式控制成本-質量權衡。
結語
LazyGraphRAG在成本、技術、靈活性與擴展性、應用場景以及性能評估等方面都展現(xiàn)出了顯著的優(yōu)勢。它的發(fā)布將為數(shù)據(jù)檢索和分析領域帶來新的技術突破和應用前景。(文/宋雨涵)