近年来,上下文工程(Context Engineering)的热度持续攀升,成为AI领域关注的焦点。Meta超级智能实验室发布的首篇论文,便围绕该领域的核心难题——模型上下文智能压缩,展开了深入探索。
在实际开发RAG(检索增强生成)与智能体(Agent)时,上下文过长常常导致输出质量大幅下降,几乎成了AI应用开发中的“家常便饭”。
具体而言,痛点主要体现在两个方面:
一方面,长上下文带来了更高的内存开销,模型的首Token生成时间(TTFT)会随着上下文长度呈二次方增长。另一方面,冗余计算问题尤为突出:RAG与Agent的上下文通常由多个检索段落拼接而成,段落之间几乎没有关联。然而,大模型的注意力机制却会对所有Token之间的关联进行计算,导致大量冗余计算资源被浪费。
针对这一背景,Meta团队提出了REFRAG框架。其核心思路是:在仅保留核心内容的原始Token前提下,对RAG提供的低相关性分块内容进行智能压缩,从而在不牺牲性能的情况下,实现高达30.85倍的TTFT加速,并将LLM的上下文处理长度扩展至原来的16倍。
实际测试表明,该方案在RAG、多轮对话、智能体以及Web级检索等高吞吐量、低延迟场景中,表现尤为亮眼。
如何实现上下文的智能压缩
以下是整个策略的核心流程示意图,整体可分为三个关键步骤:
第一步:上下文分块与压缩
RAG检索到的长文档,通常包含成千上万个Token,直接输入LLM会导致显存和计算成本急剧上升。REFRAG的做法是:首先将文档切分为固定大小的块(chunk)。每个块经过一个轻量级编码器(例如RoBERTa)生成块嵌入(chunk embedding)。接着,通过一个投影层,将这些嵌入映射到与解码器Token embedding相同的维度空间。
这一做法的优势显而易见:LLM不再需要处理每个原始Token,而是直接处理“压缩后的整块表示”。如果某个块原本包含k个Token,现在仅用一个embedding来表示,那么输入长度便缩短了约k倍,显著降低了注意力计算量和显存占用。
第二步:选择性扩展与自回归保留
单纯的压缩可能会丢失关键信息,尤其是对于包含问题答案等核心内容的块。REFRAG引入了一种基于强化学习(RL)的策略,用于动态决策:哪些块必须保留原始Token(不压缩),以确保信息完整性;哪些块则可以用压缩后的embedding代替。
这样一来,准确性与效率得以兼顾。同时,由于LLM采用自回归生成方式(依赖前文Token),REFRAG的方法保证了原始Token仍能参与生成过程,不会破坏上下文的连续性。这对多轮对话等场景尤为关键。
第三步:高效推理与上下文扩展
REFRAG还包含两个优化点:一是复用检索阶段生成的块嵌入。RAG在检索时已经计算过chunk embedding,推理时可直接复用,避免了冗余计算。二是注意力复杂度的降低。普通注意力机制的计算量与Token数量成平方关系,当每个chunk代表一组Token时,复杂度便降为与chunk数量成平方关系,大幅减少计算量。
从整体效果来看,该方案在短上下文场景下,可实现k倍的首Token延迟(TTFT)加速;在长上下文场景下,加速比最高可达k的平方倍。同时,该方案还能将LLM的上下文长度扩展至16倍以上。
关键技术细节
REFRAG的方法体系围绕“让编码器与解码器高效协同处理长上下文”展开,核心流程分为三个阶段:
1. 编码器-解码器对齐
持续预训练(CPT)以“下一段预测任务”为核心:每个训练样本包含s个前序Token和o个后续Token(共T个)。将前s个Token输入编码器,其输出用于辅助解码器预测后o个Token。目标是让解码器基于压缩上下文(编码器输出)的生成结果,尽可能接近基于完整上下文的生成结果,为下游任务(如RAG)奠定坚实基础。
2. CPT的关键训练方案(保障对齐效果)
重建任务:先冻结解码器,仅训练编码器和投影层——让编码器输入s个Token后,能生成可让解码器准确重建这s个Token的嵌入。目的是确保编码器压缩过程中的信息损失最小,同时让投影层能将嵌入转换为解码器可理解的格式,并迫使解码器依赖输入的上下文记忆(而非自身参数)。完成该步骤后,解冻解码器,正式启动CPT。
课程学习:由于直接训练难度较大(块长度k增加会导致Token组合呈指数级增长),采用“从简到难”的训练策略:先让模型用单个块嵌入重建k个Token,再逐步增加块数量和重建长度;训练数据也从以简单任务为主,逐渐过渡到以复杂任务为主,帮助模型循序渐进地掌握能力。
3. 性能增强:选择性压缩与下游适配
选择性压缩:引入RL策略,以“下一段预测困惑度”作为负奖励(困惑度越高说明块越重要),决定保留哪些上下文块的原始形式(不压缩),仅压缩次要块;同时微调编码器和解码器,使其适配“压缩+未压缩”混合输入,兼顾效率与性能。
下游适配:完成CPT和选择性压缩优化后,通过有监督微调(SFT)让模型适配具体下游任务(如RAG、多轮对话)。
关键效果与核心场景解读
Meta团队在Slimpajama(书籍、arXiv领域)、PG19、Proof-Pile等主流数据集,以及RAG、多轮对话、长文档摘要等任务中,对REFRAG进行了全面验证。其优势主要体现在效率提升、上下文扩展、场景适配三个维度。
基于以上能力,REFRAG的核心落地场景主要有三个:
增强版RAG:支持Web级高效检索
在Web级搜索等需要处理大量检索结果的场景中,REFRAG能够“以更低延迟纳入更多有效信息”。在延迟持平的情况下,REFRAG可处理8个检索段落(而LLaMA仅能处理1个),在MMLU、BoolQ等知识密集型任务中,精度提升超过1.5%。在多段落处理场景中,当处理10个检索段落时,TTFT加速达5.26倍,且在弱检索器(模拟真实场景中的检索误差)条件下优势更为明显。
多轮对话:突破上下文窗口限制
传统LLaMA因4K上下文窗口限制,在多轮对话中不得不截断历史信息,导致回答连贯性下降。REFRAG无需扩展位置编码,通过压缩机制即可实现长对话记忆。在TopiOCQA、ORConvQA等知识密集型多轮对话数据集上,面对10个检索段落加6轮对话的长上下文,性能全面优于LLaMA微调模型,其中ORConvQA任务精度提升超过30%。
长文档摘要:提升科学性文献处理能力
在arXiv、PubMed等长科学文献摘要任务中,REFRAG可通过高压缩率纳入全文档信息,生成的摘要完整性与准确性更优。在相同延迟条件下(解码器生成Token数量一致),Rouge-1指标较LLaMA提升15%-20%,尤其在医学、物理等需要精准提炼核心结论的领域表现尤为突出。
尾声
模型上下文长度管理,只是上下文工程(Context Engineering)的议题之一。未来围绕提示工程、动态上下文生成、多模态上下文整合等关键话题,我们将持续为大家带来更专业、更深入的解读。
