Agent 記憶系統:6 大核心操作全景解讀
自 LLM 進入 Agent 時代,如何處理人機交互的歷史信息和狀態,一直是學術前沿思考的核心問題。因此,記憶模塊(Memory)也就成爲了研究重點。
以往研究的缺憾在於:
-
關注記憶在特定任務中的應用。如:記憶存儲、檢索或基於記憶的生成,卻忽視了記憶動態變化背後的原子操作。
-
如何通過記憶增強模型的上下文理解能力。未深入研究記憶如何在不同時間尺度上進行整合、更新和遺忘,導致無法全面理解記憶在複雜交互中的作用機制。
-
缺乏對記憶操作的統一和全面視角。如長文本建模、長期記憶、個性化或知識編輯,未能將這些分散的研究成果整合到一個系統性的記憶架構中。
因此,作者提出一個全面的 AI 記憶研究框架,來解決上面這些問題。
Memory 統一框架
-
首先,文章對記憶表示進行了分類,將其分爲:
-
參數記憶(Parametric Memory)
-
上下文結構化記憶(Contextual Structured Memory)
-
上下文非結構化記憶(Contextual Unstructured Memory)
-
並從時間跨度的角度進一步區分短期記憶和長期記憶。
-
其次,文章引入了六種基本記憶操作:
-
鞏固(Consolidation)
-
更新(Updating)
-
索引(Indexing)
-
遺忘(Forgetting)
-
檢索(Retrieval)
-
壓縮(Compression)
-
最後,系統地將這些操作映射到長期記憶、長期上下文、參數修改和多源記憶等上去。
記憶的分類
-
參數記憶(Parametric Memory)
-
參數記憶是指:模型內部參數中隱式存儲的知識。
-
這些知識在預訓練或後訓練過程中獲得,並在推理時通過前饋計算訪問。
-
參數記憶是一種即時的、長期的、持久的記憶,能夠快速、無上下文地檢索事實和常識知識。
-
然而,它缺乏透明度,難以根據新體驗或特定任務上下文選擇性地更新。
-
在需要快速訪問通用知識的場景中,參數記憶發揮重要作用。
-
例如,在多輪對話中,模型可以利用參數記憶快速生成與常識相關的回答,而無需每次都從外部記憶中檢索。
-
上下文非結構化記憶(Contextual Unstructured Memory)
-
這是一種顯式的、模態通用的記憶系統,能夠存儲和檢索跨異構輸入(如文本、圖像、音頻和視頻)的信息。
-
它使 Agent 能夠基於感知信號進行推理,並整合多模態上下文。
-
根據時間範圍,它進一步分爲短期記憶(如當前對話會話上下文)和長期記憶(如跨會話對話記錄和持久的個人知識)。
-
在多模態交互場景中,例如:智能助手需要根據用戶的語音指令和當前環境圖像生成回答時,上下文非結構化記憶能夠提供豐富的上下文信息,幫助生成更準確、更自然的響應。
-
上下文結構化記憶(Contextual Structured Memory)
-
這種記憶被組織成預定義的、可解釋的格式或模式。
-
如:知識圖譜、關係表或本體論,同時保持易於查詢。這些結構支持符號推理和精確查詢,通常補充預訓練語言模型的關聯能力。
-
結構化記憶可以是短期的(在推理時構建用於局部推理)或長期的(跨會話存儲策劃的知識)。
-
在需要進行復雜推理和知識查詢的場景中,如智能問答系統,結構化記。
記憶的操作
記憶管理(Memory Management)
-
鞏固(Consolidation)
-
將短期記憶轉化爲長期記憶,通常通過總結對話歷史等方式實現。
-
例如,MemoryBank 系統通過總結對話歷史,將關鍵信息編碼爲持久記憶,支持長期對話。
-
例如,識別對話中的關鍵實體和事件,並將其組織成知識圖譜形式,以便長期存儲和檢索。
-
索引(Indexing)
-
通過構建結構化的索引,使記憶能夠被高效、準確地檢索。
-
例如,HippoRAG 系統受海馬體理論啓發,構建輕量級知識圖譜,明確揭示不同知識片段之間的連接。
-
將記憶表示爲節點和邊的集合,其中節點表示實體或概念,邊表示它們之間的關係。
-
通過爲每個節點添加時間戳、關鍵詞等屬性,支持基於時間順序和內容相關性的檢索。
-
更新(Updating)
-
根據新信息對現有記憶進行更新,以保持記憶的時效性和一致性。
-
例如,NLI-transfer 系統通過選擇性編輯,管理記憶中的過時信息。
-
對於參數記憶:採用定位和編輯機制,直接修改模型參數中與特定知識相關的部分。
-
對於上下文記憶:通過總結、修剪或提煉等技術,對記憶內容進行重組或替換。
-
例如,識別對話中的新信息,並將其與現有記憶進行對比,對過時或錯誤的信息進行修正。
-
遺忘(Forgetting)
-
選擇性地刪除不再相關或有害的記憶內容,以保護隱私、安全或符合合規要求。
-
例如,FLOW-RAG 系統通過基於 RAG 的遺忘技術,從知識庫中刪除特定信息。
-
在參數記憶中,通過修改模型參數,擦除特定知識。
-
在上下文記憶中,通過基於時間的刪除或語義過濾,丟棄不再相關的內容。
-
例如,通過設置記憶的過期時間或根據隱私政策的要求,刪除用戶不希望被記住的信息。
記憶利用(Memory Utilization)
-
檢索(Retrieval)
-
基於查詢的檢索(優化查詢公式和適應性)
-
基於記憶的檢索(增強記憶候選的組織和排名)
-
基於事件的檢索(根據時序和因果結構檢索記憶)
-
根據給定的查詢,從記憶中選擇最相關的記憶條目。
-
例如,LoCoMo 系統通過基於事件的檢索,根據時序和因果結構檢索記憶。
檢索的目標可以是單一查詢、複雜的多輪對話上下文,也可以是純文本輸入、視覺內容或更多模態。
-
檢索方法可以分爲:
-
例如,採用多跳圖遍歷技術,通過圖結構中的路徑,逐步檢索與查詢相關的記憶。
-
例如,對於一個關於事件發展的問題,系統可以通過圖中的時間線和因果關係鏈,逐步找到與問題相關的記憶片段。
-
壓縮(Compression)
-
預輸入壓縮:在沒有檢索的長上下文模型中,對全上下文輸入進行評分、過濾或總結以適應上下文限制
-
後檢索壓縮:在記憶訪問後,通過上下文壓縮或參數壓縮將檢索到的內容進行壓縮)。
-
在有限的上下文窗口下,通過保留關鍵信息並丟棄冗餘信息,優化上下文的使用。
-
壓縮可以分爲:
-
與記憶鞏固(在記憶構建過程中總結信息)不同,壓縮側重於在推理時減少記憶。
-
例如,通過提取關鍵句子或段落,將長文本壓縮爲更短的摘要。
-
在處理長文本或大量信息時,壓縮操作能夠提高系統的效率。
-
例如,在文檔摘要系統中,通過壓縮長文檔,系統能夠快速生成簡潔的摘要,方便用戶快速瞭解文檔的主要內容。
長期上下文(Long-context Memory)
長期上下文記憶涉及處理大量多源外部記憶的挑戰,尤其是在對話搜索等場景中。
主要涉及兩個方面:
-
參數效率(Parametric Efficiency)
-
上下文利用(Contextual Utilization)
參數效率(Parametric Efficiency)
-
KV 緩存丟棄(KV Cache Dropping)
-
通過丟棄不必要的 KV 緩存來減少緩存大小。例如,StreamingLLM 採用Λ形稀疏模式,動態丟棄 KV 緩存。
-
靜態丟棄方法根據固定模式選擇不必要的緩存,而動態丟棄方法則根據查詢或模型行爲(如注意力權重)在推理過程中決定丟棄哪些 KV 緩存。
-
例如,通過分析注意力權重,識別出對當前推理貢獻較小的 KV 緩存,並將其丟棄。
-
KV 緩存存儲優化(KV Cache Storing Optimization)
-
通過壓縮技術,以更小的存儲空間保留整個 KV 緩存。例如,LESS 方法將不重要的緩存條目壓縮爲低秩表示。
-
採用動態量化技術,如 KVQuant 方法,對 KV 緩存進行量化,以減少內存分配。例如,通過將 KV 緩存中的浮點數量化爲低位表示,顯著降低存儲需求。
-
KV 緩存選擇(KV Cache Selection)
-
根據查詢選擇性地加載所需的 KV 緩存,以加速推理。例如,QUEST 方法採用查詢感知的 KV 緩存選擇,檢索關鍵的 KV 緩存以加速推理。
-
採用近似最近鄰搜索技術,如 RetrievalAttention 方法,快速檢索與查詢最相關的 KV 緩存。例如,通過構建一個高效的索引結構,快速定位與當前查詢最相似的 KV 緩存。
上下文利用(Contextual Utilization)
-
上下文檢索(Context Retrieval)
-
增強 LLMs 從上下文記憶中識別和定位關鍵信息的能力。例如,GraphReader 方法通過將文檔分解爲圖結構,有效選擇上下文。
-
採用基於圖的檢索技術,如 CGSN 方法,通過圖結構中的路徑和關係,快速定位與查詢相關的上下文片段。
-
例如,通過構建一個文檔的圖表示,將句子作爲節點,句子之間的關係作爲邊,通過圖遍歷技術檢索與問題最相關的句子。
-
上下文壓縮(Context Compression)
-
通過壓縮技術優化上下文記憶的利用,減少輸入序列長度。例如,xRAG 方法通過將上下文文檔編碼爲文檔嵌入,實現軟提示壓縮。
-
採用硬提示壓縮技術,如 Lee 等人提出的方法,直接將長輸入片段壓縮爲更短的自然語言片段。例如,通過訓練一個生成模型,將長文本壓縮爲簡潔的摘要,以便在推理時快速使用。
參數記憶修改(Parametric Memory Modification)
修改參數記憶對於動態適應存儲的知識至關重要。
主要關注:編輯(Editing)、遺忘(Unlearning)和持續學習(Continual Learning)三種方法。
編輯(Editing)
-
定位 - 編輯(Locating - then - Editing)
-
例如,ROME 方法通過在單個 MLP 層的權重上執行秩一更新,實現知識編輯。
-
例如:MEMIT 方法,通過優化一個鬆弛的最小二乘目標,實現高效的批量編輯。
-
例如,通過計算模型權重與目標權重之間的差異,找到需要修改的權重部分,並進行更新。
-
元學習(Meta Learning)
-
通過一個編輯器網絡,預測目標權重的變化,實現快速和穩健的修正。
-
例如,MEND 方法通過將梯度分解爲秩一外積形式,實現更高效的編輯。
-
例如:KE 方法,通過一個超網絡學習如何修改梯度,實現對模型權重的動態調整。
-
提示(Prompt)
-
例如,IKE 方法通過上下文學習(ICL),在不修改模型權重的情況下實現知識編輯。
-
例如:MeLLo 方法通過將問題分解爲多個子問題,併爲每個子問題設計專門的提示,引導模型生成正確的答案。
-
附加參數(Additional Parameters)
-
例如,Larimar 方法通過引入一個解耦的潛在記憶模塊,在測試時條件化 LLM 解碼器,而無需參數更新。
-
例如:MEMORYLLM 方法,通過在凍結的 LLM 中引入一個固定大小的記憶池,逐步更新新知識。
遺忘(Unlearning)
-
定位 - 遺忘(Locating - then - Unlearning)
-
例如,WAGLE 方法通過雙層優化計算權重歸因分數,指導選擇性微調。
-
例如:ULD 方法,通過計算目標和助手 LLM 之間的對數差異,推導出遺忘的 LLM。
-
訓練目標(Training Objective)
-
例如,FLAT 方法通過最小化原始模型和目標模型預測之間的 Kullback-Leibler(KL)散度,實現遺忘。
-
例如:SOUL 方法,通過引入正則化項,約束模型在遺忘過程中保持其他知識的穩定性。通過在損失函數中加入一個懲罰項,防止模型在遺忘特定知識時影響其他知識的表示。
-
提示(Prompt)
-
例如,ICUL 方法通過上下文學習實現模型的遺忘。
-
ECO 方法,通過破壞提示嵌入,實現遺忘。例如,通過設計一個特殊的提示,使模型在處理該提示時忘記特定的知識。
-
附加參數(Additional Parameters)
-
通過添加組件(如對數差異模塊或遺忘層),在不重新訓練整個模型的情況下調整記憶。例如,EUL 方法通過引入遺忘層,實現序列遺忘。
-
ULD 方法,通過計算目標和助手 LLM 之間的對數差異,推導出遺忘的 LLM。例如,通過設計一個獨立的遺忘模塊,存儲與遺忘相關的參數,並在推理時將其與主模型結合。
持續學習(Continual Learning)
-
基於正則化的學習(Regularization - based Learning)
-
通過約束重要權重的更新,保護關鍵的參數記憶。例如,TaSL 方法通過參數級任務技能定位和鞏固,實現知識轉移。
-
如 EWC 方法,通過在損失函數中加入一個懲罰項,限制對重要權重的更新。例如,通過計算權重的重要性分數,並在訓練過程中對這些權重施加更大的懲罰,防止其被更新。
多源記憶(Multi-source Memory)
多源記憶涉及整合來自不同來源(包括文本、圖像、視頻等多模態數據)的記憶信息,以支持更復雜的推理和決策。
跨文本整合(Cross-textual Integration)
-
推理(Reasoning)
-
整合來自不同格式和來源的記憶,生成一致且準確的響應。例如,通過結合結構化符號記憶(如知識圖譜)和非結構化文本記憶,生成更豐富的回答。
-
採用動態集成技術,如 ChatDB 系統,通過檢索和融合來自不同領域的參數化記憶,支持更靈活的推理。
-
衝突(Conflict)
-
識別和解決來自異構記憶表示(如內部知識和外部知識)之間的事實或語義不一致性。
-
採用衝突檢測和定位技術,如 RKC-LLM 框架,評估模型檢測和定位上下文矛盾的能力。
多模態協調(Multi-modal Coordination)
-
融合(Fusion)
-
對齊和整合來自不同模態(如文本、圖像、音頻和視頻)的信息。
-
採用統一語義投影技術,如 UniTransSeR 模型,將異構輸入嵌入到共享表示空間中,支持跨模態檢索和推理。
-
檢索(Retrieval)
-
在多模態系統中,通過嵌入空間的相似性計算,訪問跨模態的存儲知識。
-
採用基於嵌入的檢索技術,如 QwenVL 模型,通過將圖像和文本映射到共享語義空間,支持跨模態檢索。
https://arxiv.org/pdf/2505.00675
https://github.com/Elvin-Yiming-Du/Survey_Memory_in_AI
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Jh-LVcTcsIajspC6JnZaRQ