EvoEmbedding:用于长上下文检索和智能体记忆的可演化表示 EvoEmbedding: Evolvable Representations for Long-Context Retrieval and Agentic Memory
引入潜在记忆队列实现动态上下文感知的检索模型
前置知识
检索增强生成(RAG)
RAG是结合检索和生成的一种混合范式,当用户提问时,系统首先从外部知识库中检索相关文档片段,然后将这些片段作为上下文输入到大语言模型中生成答案。这种方法解决了大模型知识过期和幻觉问题,通过实时检索确保答案的事实准确性。标准的RAG流程包括文档切分、向量化编码、相似度检索、上下文拼接和最终生成几个步骤。
本文核心工作是改进RAG中的检索环节,需要先理解传统RAG的局限性和静态嵌入的问题。
嵌入模型(Embedding Model)
嵌入模型将文本(句子、段落、文档)映射到高维向量空间,使得语义相似的文本在空间中距离接近。主流方法如Sentence-BERT、E5、Qwen3-Embedding等,通常采用对比学习训练,最大化正样本对相似度、最小化负样本对相似度。生成的向量维度通常在256-4096之间,通过余弦相似度或欧氏距离计算文本相关性。静态嵌入模型对每个文本片段独立编码,忽略片段之间的上下文关系。
本文提出的是对传统静态嵌入模型的改进,理解其工作原理和局限是理解本文创新的基础。
对比学习(Contrastive Learning)
对比学习通过拉近正样本对、推开负样本对来学习表示。在检索任务中,正样本是查询相关的文档,负样本是无关文档。常用损失函数如InfoNCE损失,其数学表达式为负对数似然形式,温度参数用于控制分布的平滑程度。多正样本对比学习可以处理多个相关文档的情况,长度加权可以平衡不同长度的样本难度。
本文的训练目标包含长度加权多正样本对比损失,这是优化模型检索能力的关键。
潜在记忆(Latent Memory)
潜在记忆是指在模型内部维护的压缩状态表示,用于存储和处理历史信息。与显式的外部记忆(如知识图谱、数据库)不同,潜在记忆是隐式的、分布式的向量表示。在RMT(Recurrent Memory Transformer)等工作中,模型在处理长序列时周期性地压缩部分隐藏状态到记忆槽,后续处理时再从记忆槽中读取信息。记忆容量通常用token数量衡量,比如512个token表示可以存储512个信息单元。
EvoEmbedding的核心创新就是引入潜在记忆队列,这是理解本文方法的关键概念。
研究动机
现有检索系统在处理动态、时序的长上下文场景时存在两个根本缺陷。首先,现有方法将文本片段孤立提取和编码(如将长文档切分成固定大小的chunk),这破坏了片段之间的时间连续性和上下文关联。例如在对话场景中,用户先说'明天10点开会',后来又说'改为下午1点',当被问及'会议时间'时,静态嵌入模型无法捕获这种动态变化,可能检索到过期的10点信息。其次,现有嵌入模型主要在短样本上通过对比学习优化,只能区分语义相关性,缺乏复杂上下文理解能力,如指代消解('他'指谁)和时序推理('最初'、'最后'等时间词的含义)。在图2的示例中,同一查询在不同上下文下需要不同的答案,静态模型无法适应这种动态演化。
本文的目标是本文的目标是设计一种能够生成可演化表示的嵌入模型,在处理动态、时序的长上下文场景时,能够根据上下文演化自适应调整检索结果。具体而言,模型需要维护连续更新的潜在记忆来保存演化的上下文状态,将潜在记忆与当前内容联合编码生成上下文感知的嵌入。在不显著增加计算开销的前提下,训练数据量比现有模型少一个数量级(180K vs 100M),但能在128K长度的测试场景中有效泛化,并且即插即用地集成到现有RAG流程中,无需复杂的管道重构。
与已有工作不同的是,本文的独特切入角度是从表示层而非管道层解决静态嵌入的局限性。现有工作主要优化RAG管道的两个方面:索引阶段(指代消解、结构化记忆、生成元数据如会话摘要)和检索阶段(查询重写、重排序、多步迭代检索)。这些方法虽然缓解了部分问题,但带来显著的计算开销和延迟,且仍然次优。本文则直接在表示层面引入时序和上下文感知能力,通过潜在记忆队列让嵌入表示本身具备演化能力,从而超越静态语义搜索。与RMT等直接在生成模型内部维护记忆的方法不同,本文将记忆机制解耦到检索模块,具有更好的可控性和部署性。
核心方法
EvoEmbedding的核心思想是在编码过程中维护一个固定容量的潜在记忆队列,该队列随着输入序列的推进不断更新,同时将历史记忆与当前片段联合编码生成可演化的嵌入表示。整个过程可以理解为两个并行的任务:记忆演化(Memory Evolution)和表示生成(Representation Generation)。记忆演化负责将当前片段压缩并与历史记忆融合,更新潜在记忆队列;表示生成负责使用历史记忆和当前片段联合编码,生成上下文感知的嵌入向量。这种设计允许模型递归地压缩正在进行的上下文,将丰富的时序动态和跨片段关联注入到最终表示中。模型基于Qwen系列LLM初始化,通过多LoRA设计解耦记忆演化和表示生成能力,训练时冻结骨干模型参数,仅更新LoRA适配器。
核心创新点是潜在记忆队列(FIFO Memory Queue)的设计,它解决了两个关键技术挑战:有界循环和有界容量。队列容量C=L乘以K,存储最近L步生成的K个潜在token,确保单个历史记忆最多被循环编码L次,避免递归编码导致的表示坍塌,使模型能够直接在长上下文上训练而无需课程学习。严格限制记忆大小,将计算复杂度限制在O(C),同时强制模型在每步学习将新知识与历史状态融合。与M+使用缓存层特征作为记忆不同,EvoEmbedding仅存储C=512个潜在token,内存占用相当于一张编码图像。另一个关键创新是动态分段批处理,将连续的k个片段并行处理,确保总长度不超过阈值(如2048 tokens),实现3.8倍的训练加速。
方法步骤详情
EvoEmbedding的工作流程分为训练和推理两个阶段。训练阶段首先给定输入样本包含t个片段和查询q,然后顺序处理每个片段。对于第t个片段和前一步的记忆,并行执行记忆演化和表示生成,其中记忆演化是新生成的K个潜在token,表示生成是该片段的嵌入向量。接着通过记忆队列更新,使用投影函数将新生成token映射到共享记忆空间。最终得到所有片段嵌入和查询嵌入,查询嵌入使用最终记忆状态编码得到。联合优化记忆损失和对比损失,记忆损失用交叉熵损失基于最终记忆和查询预测答案,对比损失是长度加权多正样本对比损失。推理阶段对于查询,只需执行表示生成任务,使用最终记忆状态编码查询得到查询嵌入,然后计算查询嵌入与候选片段的相似度进行检索。
技术新颖性
EvoEmbedding的技术新颖性体现在四个方面。架构层面:首次在嵌入模型中引入可演化的潜在记忆机制,将时序感知能力直接编码到表示中,而非依赖复杂的RAG管道。训练层面:提出记忆队列和动态分段批处理技术,解决了长上下文训练中的表示坍塌和效率问题,无需课程学习即可处理混合长度样本。数据层面:构建EvoTrain-180K数据集,通过三阶段自动化流程生成高质量样本,数据量比现有方法少两个数量级,但在10倍训练窗口长度的测试场景中表现出色。部署层面:多LoRA设计解耦记忆、检索和生成能力,可以独立更新各任务的LoRA适配器,避免灾难性遗忘,同时保持基础模型的生成能力。
实验结果
EvoEmbedding在10个基准测试上全面超越现有方法。检索任务中,EvoEmbedding-4B在8个长上下文基准上取得最高Overall Recall@10(80.5)和NDCG@10(65.2),分别超过第二名KaLM-Embedding-Gemma3-12B的7.8%和8.1%,而EvoEmbedding-4B的参数量(4B)和嵌入维度(1024)都远小于KaLM(12B, 3840)。在ESG-Reports数据集上,EvoEmbedding-4B达到84.0%,远超Qwen3-Embedding-8B(63.6%)和KaLM(63.6%);在LoCoMo上达到76.3%,超过Qwen3-8B(49.6%)和KaLM(58.4%)。生成任务中,标准RAG流程配合EvoEmbedding-4B在LongMemEval上达到77.6%准确率,超过最佳智能体记忆系统LightMem(70.2%)和A-MEM(65.2%),在Single-User(98.6%)和Single-Assistant(100.0%)子任务上接近完美。在LoCoMo上达到74.3%,接近全量上下文上界(74.9%),仅差0.6%。值得注意的是,EvoEmbedding仅用180K合成样本训练,平均长度1.2K tokens,却能泛化到128K长度(10倍训练窗口)的测试场景。图6的时序分析显示,当查询包含firstly、lastly等时间词时,EvoEmbedding的相似度曲线在对应位置出现清晰峰值,证明其有效捕获时序语义。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 长上下文检索(ESG-Reports) | Recall@10 | 84.0% | Qwen3-Embedding-8B: 63.6% | +20.4% |
| 对话记忆检索(LoCoMo) | Recall@10 | 76.3% | Qwen3-Embedding-8B: 49.6% | +26.7% |
| 长记忆评估(LongMemEval) | 生成准确率 | 77.6% | A-MEM: 65.2% | +12.4% |
| 个性化记忆(PersonaMME-128k) | 生成准确率(Top-8) | 73.68% | Qwen3-Embedding-8B: 72.65% | +1.03% |
| 学术问答(QASPER) | Recall@10 | 85.1% | BGE-M3: 66.4% | +18.7% |
局限与改进
作者承认的局限性包括:受限于计算资源和训练数据规模,EvoEmbedding在域外场景下可能出现性能下降;当前实现缺乏原生的多模态检索支持,虽然架构可以扩展到视觉或音频模态,但管理全模态长视距记忆需要更大的队列容量和更复杂的维度对齐。额外的观察局限:时序推理能力仍有提升空间,在LoCoMo的Temporal子任务(49.8%)上低于专门优化的LightMem(76.3%),说明模型在处理复杂时间线索时仍不如专门设计的系统;编码时间较长,表6显示EvoEmbedding-4B的上下文编码时间为22.08秒,远高于Qwen3-8B(5.52秒),虽然这是为了换取更高准确率和更低峰值GPU内存(20.9GB vs 43.1GB)的权衡;记忆容量的选择需要平衡性能和效率,图8显示当C超过512时性能收益递减,但可能无法覆盖极长场景的所有历史信息。
独立分析的弱点
编码效率瓶颈是第一个主要弱点,表6显示EvoEmbedding需要顺序处理输入并维护潜在记忆队列,上下文编码时间比静态模型慢4倍(22.08秒 vs 5.52秒)。改进方向可以探索更高效的记忆压缩算法,或者引入异步编码机制,将记忆演化与表示生成解耦到不同的计算单元。时序推理仍有限制,在LoCoMo的Temporal子任务上(49.8%)明显低于LightMem(76.3%),表明模型在处理复杂时间线索(如'会议开始后3小时')时仍有困难。改进方向可以引入显式的时间编码机制,在潜在记忆中加入时间戳或相对位置编码,增强时序建模能力。记忆容量有限,固定容量C=512可能不足以覆盖极长场景(如100K+ tokens)的所有关键信息。改进方向可以设计自适应记忆分配机制,根据内容重要性动态调整记忆槽,或者引入分层记忆结构(短期/长期记忆)。域外泛化,作者提到在域外场景下性能可能下降,这可能与训练数据EvoTrain-180K的多样性有限有关。改进方向可以扩大训练数据规模和领域覆盖,引入域适应训练策略。
未来方向
作者提出的未来方向包括多模态扩展,将架构扩展到视觉或音频模态,处理多模态长上下文检索场景。这需要更大的队列容量和更复杂的跨模态维度对齐机制。另一个方向是更大的记忆容量,探索更高效的记忆压缩和检索机制,支持更长的历史视距。与生成模型的深度融合也是未来方向,虽然当前设计选择将记忆机制解耦到检索模块以保证可控性,但未来可以探索在生成模型中直接利用这些可演化表示,实现更紧密的记忆-生成协同。基于成果可延伸的方向包括自适应记忆管理,根据查询意图和内容重要性动态调整记忆更新策略,而非简单的FIFO队列。分层记忆架构也是可探索的方向,设计短期记忆(最近片段)和长期记忆(压缩的摘要)的混合结构,平衡细节保留和全局理解。与智能体框架集成,探索如何将EvoEmbedding的记忆状态与智能体的规划、决策模块协同,实现更智能的上下文管理。
复现评估
复现可行性较高。开源情况方面,论文提供了GitHub链接(https://clare-nie.github.io/EvoEmbedding),但未明确说明代码和模型的开放程度。数据方面,EvoTrain-180K数据集通过自动化三阶段流程构建,包括原始上下文构造(FineWeb3数据集采样、LLM合成对话、记忆提取)、动态QA生成(40+模板、多类型LLM)、检索标注和验证(Gemini-3.1-Pro-Preview)。数据规模184K样本,每个样本最大12K tokens、256个片段,平均19.45个负样本。算力需求方面,训练在单台8乘NVIDIA H800服务器上完成,总训练时间26.6小时(包含分段批处理优化)。关键超参数包括学习率5乘10的负5次方,批量大小16,训练1个epoch共11,509步,LoRA rank=64,记忆容量C=512,每步生成K=16个潜在token。复现难度中等,需要获取Qwen系列基础模型(Qwen3.5-0.8B/2B和Qwen3-4B),实现多LoRA训练流程,构造或获取EvoTrain-180K数据集。主要的复杂性在于记忆队列的维护和分段批处理的实现,以及长度加权多正样本对比损失的计算。
论文图表
左侧展示一个动态上下文场景:用户先安排'明天10点开会',后来改为'下午1点'。当在不同上下文阶段被问及'会议时间'时,EvoEmbedding生成可演化表示,避免检索过期的10点信息,而静态模型则失败。右侧是LongMemEval的结果对比图,显示EvoEmbedding-4B的RAG流程(77.6%)超过A-MEM(65.2%)、LightMem(70.2%)等记忆基线,同时零token开销。
左侧图直观展示了EvoEmbedding解决的核心问题(动态上下文中的过期信息检索),右侧图量化证明了其在智能体记忆任务上的优势,且强调其零额外token成本的部署优势。