揭祕 MemoRAG:AI 記憶模塊如何提升生成質量
RAG 技術已經成爲當下提升大語言模型(LLMs)生成質量的重要手段。然而,傳統的 RAG 方法在處理模糊信息需求或非結構化知識時存在顯著侷限性。近期,一項名爲《MEMORAG: MOVING TOWARDS NEXT-GEN RAG VIA MEMORY-INSPIRED KNOWLEDGE DISCOVERY[1]》的研究提出了一種創新的 RAG 框架——MemoRAG,通過引入長時記憶模塊,顯著提升了 RAG 系統在複雜任務中的表現。
MemoRAG 的創新架構
上一篇我們介紹了二階段檢索產生的原因,用到了圖書館找書的例子,介紹了重排序的思路,詳見:Rerankers 標準化重排序過程,一行代碼就能擁有。現在我們仍然以圖書館找書爲例介紹 MemoRAG 的思路。想象一下,你在圖書館裏尋找一本關於某個特定主題的書。傳統的 RAG 方法就像是你在圖書館裏隨機翻找書籍,效率低下且容易遺漏重要信息。而 MemoRAG 則更像是你帶着一位記憶力超羣的圖書管理員,他不僅知道每本書的位置,還能根據你的需求提供精準的推薦。
MemoRAG 採用了雙系統架構:一個輕量但長程的 LLM 用於形成數據庫的全局記憶,另一個昂貴但表達能力強的 LLM 則基於檢索到的信息生成最終答案。具體來說,當任務被提出時,輕量 LLM 生成草稿答案,提示檢索工具在數據庫中定位有用信息;然後,重型 LLM 基於檢索到的信息生成最終答案。從這一點,可以看出重排序是預篩選,而 MemoRAG 是預生成。
這種架構的核心在於記憶模塊的設計。記憶模塊需要具備兩個關鍵特性:一是記憶性,能夠記住整個數據庫的全局信息;二是指導性,能夠提供有用的線索以全面檢索所需知識。爲此,MemoRAG 引入了以下優化設計:
-
雙系統架構:輕量 LLM 作爲記憶模塊,重型 LLM 執行檢索增強生成。輕量 LLM 需要具備成本效益且具備長上下文處理能力。
-
記憶模塊微調:通過微調記憶模塊,使生成的線索能夠達到優化的檢索質量。
MemoRAG 的工作機制
MemoRAG 的工作機制可以用以下公式表示:
其中,Y 是最終答案,q 是輸入查詢,C 是從數據庫 D 中檢索到的上下文,y 是記憶模塊生成的階段性答案或線索。記憶模塊
這個公式可以分解爲三個部分,每個部分都代表 MemoRAG 系統中的一個關鍵步驟。讓我們逐一解析:
- 記憶模塊生成線索 y:
這一步是由記憶模塊完成的。記憶模塊接收到用戶的查詢 q 和數據庫 D 後,生成一個階段性答案或線索 y 。可以把記憶模塊想象成一個聰明的助手,它根據你提出的問題和它記住的所有信息,給出一個初步的建議或方向。
- 檢索模塊定位上下文 C:
接下來,檢索模塊根據記憶模塊生成的線索 y 在數據庫 D 中尋找相關的信息,形成上下文 C。這一步就像是你根據助手的建議,在圖書館裏找到幾本相關的書籍或文章。
- 生成最終答案 Y:
最後,生成模塊接收到用戶的查詢 q 和檢索到的上下文 C 後,生成最終的答案 Y。這一步類似於你根據找到的書籍和文章,整理出一個完整且詳細的回答。
MemoRAG 的應用場景
MemoRAG 通過引入長時記憶模塊,顯著提升了 RAG 系統在複雜任務中的表現。其雙系統架構和記憶模塊的優化設計,使其在處理模糊信息需求和非結構化知識時表現出色。MemoRAG 特別適合以下場景:
-
需要綜合大量信息和資源的複雜查詢
-
涉及多領域知識的跨學科問題
-
需要高準確性和詳細解釋的專業諮詢
比如:在法律領域,處理複雜的法律查詢通常需要檢索大量的法律條文和案例。例如,用戶可能會提出一個涉及多項法律條文的複雜問題:“在某特定情況下,如何解釋合同法中的違約責任?” 傳統的 RAG 系統可能會因爲信息需求模糊而難以提供準確答案。
MemoRAG 通過其記憶模塊生成階段性答案,例如:“合同法第 XX 條規定了違約責任的基本原則,相關案例包括 A 案和 B 案。” 然後,檢索模塊根據這些線索定位相關法律條文和案例,最終生成詳細的法律解釋。這種方法不僅提高了檢索的準確性,還顯著提升了生成答案的質量。
再比如:在醫療領域,醫生可能會提出複雜的診斷問題,例如:“患者表現出 X、Y、Z 症狀,可能的診斷是什麼?” 傳統的 RAG 系統可能會因爲症狀描述不明確而難以提供準確的診斷建議。
MemoRAG 的記憶模塊可以生成階段性答案,例如:“這些症狀可能與以下疾病相關:A 病、B 病、C 病。” 然後,檢索模塊根據這些線索定位相關的醫學文獻和病例,最終生成詳細的診斷建議。這種方法不僅提高了診斷的準確性,還顯著提升了生成答案的質量。
實驗與評估
爲了評估 MemoRAG 的有效性,研究團隊開發了一個名爲 ULTRADOMAIN 的綜合基準,包含來自法律、金融、教育、醫療、編程等多個領域的複雜 RAG 任務。實驗結果顯示,MemoRAG 在處理複雜任務時表現出色,顯著優於傳統 RAG 系統。
結論
MemoRAG 通過引入長時記憶模塊,顯著提升了 RAG 系統在複雜任務中的表現。其雙系統架構和記憶模塊的優化設計,使其在處理模糊信息需求和非結構化知識時表現出色。未來,隨着更多資源和數據的引入,MemoRAG 有望在更多領域展現其強大的應用潛力。希望這項研究能夠爲更多 AI 應用場景提供新的思路和解決方案。
參考資料
[1]
MEMORAG: MOVING TOWARDS NEXT-GEN RAG VIA MEMORY-INSPIRED KNOWLEDGE DISCOVERY: https://arxiv.org/pdf/2409.05591
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/cpFYc20KeJk0g6Is0bTW6A