僅4個多月RAG就進化到「一個新時代」了:成本降低到GraphRAG的0.1%
在質量和成本方面,將 VectorRAG 與 GraphRAG 相結合的新方案將為行業帶來革命性的變革。
近日微軟推出了一種「不同於以往的方法」,名為 LazyGraphRAG,追求的是以高效、低成本的方式實現圖形 RAG 功能。
微軟方面的研究人員聲稱,這種新型 RAG 方案「在成本和質量方面實現了天然可擴展性」,能夠「在理想的成本和質量範圍之內表現出強大性能」。此外,它還降低了整個數據集的全局搜索成本,並使得本地搜索更加高效。
有些朋友可能不太熟悉,GraphRAG 是「Graph」圖形與 RAG(檢索增強生成)的混合詞。這項技術通過單一端到端系統利用文本提取、網絡分析以及大模型提示 / 摘要的方式,深入理解基於單詞的數據集內容。
今年 7 月,微軟首次開源了 GraphRAG,僅 4 個多月的時間在 Github 已有 19.7k 顆星,成為目前最火的 RAG 框架之一。
在人工智能領域,RAG 系統對於文檔摘要、知識提取和探索性數據分析任務至關重要。但現有系統的主要問題之一在於成本與質量之間的權衡。
傳統方法(如基於向量的 RAG)在處理局部化任務時表現良好,例如從特定文本片段中檢索直接答案。然而,當涉及需要全面理解數據集的全局性查詢時,這些方法往往難以勝任。相比之下,圖支持的 RAG 系統通過利用數據結構中的關係,可以更好地解決此類更廣泛的問題。然而,與圖 RAG 系統相關的高索引成本,使其難以被成本敏感的場景所接受。因此,在可擴展性、經濟性和質量之間實現平衡,仍然是現有技術的關鍵瓶頸。
這次微軟推出的 LazyGraphRAG 是一種全新系統,不僅克服了現有工具的局限性,還融合了它們的優勢。LazyGraphRAG 通過消除對高成本初始數據摘要的需求,將索引成本降至接近向量 RAG 的水平。
後續,微軟也會很快發佈 LazyGraphRAG 開源版本並加入到 GraphRAG 庫中。
開源地址:https://github.com/microsoft/graphrag
成本降低至 1/1000
LazyGraphRAG 代表了檢索增強生成領域的突破性進步,微軟稱它是「適用於所有場景的低成本解決方案」。
為了評估 LazyGraphRAG 的性能,微軟設計了三種不同的預算場景,觀察其在多種條件下的表現。
最低預算(100 次相關性測試,使用低成本 LLM,與 SS_8K 成本相同),LazyGraphRAG 在本地和全局查詢中顯著優於所有條件,僅在全局查詢時略遜於 GraphRAG 的全局搜索條件。
中等預算(500 次相關性測試,使用更高級的 LLM,查詢成本為 C2 的 4%),LazyGraphRAG 在本地和全局查詢上全面超越所有對比條件。
高預算(1,500 次相關性測試),LazyGraphRAG 的勝率進一步提升,展現出其在成本與質量平衡方面的優異擴展性。
也就是說,LazyGraphRAG 將 VectorRAG 與 GraphRAG 相結合,「同時克服了二者的各自局限性」。微軟方面寫道,「LazyGraphRAG 表明,單一、靈活的查詢機制有望在本地全局查詢範圍之內大大超越各類專用查詢機制,而且消除了大語言模型的前期數據彙總成本。」
「其極快且幾乎免費的索引功能,使得 LazyGraphRAG 成為致病性查詢、探索性分析以及流式數據用例的理想選擇。與此同時,它還能夠隨著相關性測試預算的增加而平衡提高答案質量,這使其成為對其他 RAG 方法進行基準測試的重要工具。」
Vector RAG 也被稱為語義搜索,根據微軟方面的解釋,這是一種「最佳優先搜索形式,使用與查詢的相似性來選擇最佳匹配的源文本塊。」「然而,語義搜索仍有一大短板,即無法滿足全局查詢所需要考慮的數據集廣度。」
研究人員寫道,「GraphRAG 全局搜索則是一種廣度優先搜索,它使用源文本實體的社區結構以確保查詢結果中能充分考慮到數據集廣度。但問題在於,它無法識別本地查詢所需要的最佳社區。」
在回答關於整個數據集內容的全局查詢請求時,後一項技術往往比傳統向量 RAG 效果更好,其適合的問題包括「核心主題是什麼?」或者「這些信息體現了 X 的什麼特徵?」等等。總之,GraphRAG 更擅長提供重視廣度的問題。
在另一方面,Vector RAG 則更適合本地查詢場景下,答案跟問題結構相似的情況。例如涉及「誰、什麼、何時、何地」之類的問題,微軟強調這也是所謂「最佳優先」這種算法形式的由來。
LazyGraphRAG 以迭代深化的方式將最佳優先與廣度優先兩種搜索動態結合起來——首先在有限的深度上進行搜索,之後再通過迭代深入數據集內部。
微軟公司表示,LazyGraphRAG 的數據索引成本與向量 RAG 相同,而僅為完整 GraphRAG 成本的 0.1%。
「在同等配置下,LazyGraphRAG 也表現出與 GraphRAG 全局搜索相當的答案質量,但全局查詢的成本卻降低至 1/700 以下。只需要相當於 GraphRAG 全局搜索查詢成本的 4%,LazyGraphRAG 就能在本地和全局兩方面表現出明顯優於所有競爭方法的查詢效果。」
微軟是這樣回答這個問題的:「與完整的 CraphRAG 全局搜索機制相比,這種方法在某種程度上確實更「懶」,因為它會推遲對大模型的使用,從而大大提高答案生成效率。其整體性能可以通過一條主要參數(相關性測試預算)進行擴展,該參考則以一致的方式把控成本與質量之間的權衡。」
因此,這種勤奮的 RAG 方法確有「懶」的一面,因為它只在絕對必要時才會應用大語言模型(LLM),由此優化了對大語言模型的使用。它不會預先處理整個數據集,而是先進行初始相關性測試,分析較小的數據子集以識別出潛在的相關性信息。
在完成這些測試之後,系統才會使用資源密集型的大語言模型開展更加深入的分析。雖然跟如今他的個人風格不盡相同,但這還是讓我們想起比爾·蓋茨當初執掌微軟時說過的一句話:「我寧願選個懶人去做困難的工作,因為懶人會找到一種更簡單的辦法來完成任務。」
參考鏈接:
https://www.thestack.technology/microsoft-lazygraphrag/
本文來自微信公眾號「AI前線」,編譯:核子可樂、Tina,36氪經授權發佈。