REFRAG针对RAG系统处理长上下文时的高延迟和冗余计算问题,提出两阶段优化方案:首先通过轻量级编码器将检索到的长上下文压缩为块嵌入,减少输入长度;然后在解码过程中通过强化学习策略动态扩展关键块,避免信息丢失。该方法在不牺牲性能的前提下显著降低延迟和内存消耗,扩展了LLM的有效上下文窗口,为RAG应用提供高效解决方案。

分块策略在RAG中至关重要,目的是提高效率、相关性和上下文保持。但也会带来冗余。引发长上下文 RAG 应用的效率痛点:

在 RAG 等依赖外部知识的任务(如多轮对话、长文档总结)中,LLMs 需要将检索到的大量段落拼接为长上下文输入,但这会引发两大问题:

  • 高延迟与高内存消耗:长上下文需占用大量键值缓存(KV Cache),且生成第一个token的时间(TTFT,Time-to-First-Token)随上下文长度呈二次方增长,后续token生成时间(TTIT)呈线性增长,导致系统吞吐量显著下降,难以满足Web级检索等低延迟场景需求。
  • 冗余计算严重:RAG 上下文由多个检索段落拼接而成,但其中仅小部分与查询直接相关;且检索段落因多样性或去重处理,语义相似度极低,形成“块对角注意力模式”(即不同段落间的交叉注意力几乎为零)。现有 LLM 解码时会对整个上下文进行全量计算,而这些与查询无关的段落计算大多是不必要的。

下面看下meta的解决思路/目标:在不损失 RAG 任务性能(如回答准确性、困惑度)的前提下,通过针对性优化 RAG 解码过程,大幅降低延迟(尤其是 TTFT)和内存消耗,同时扩展 LLM 的有效上下文窗口

模型架构

该模型由一个仅解码器的LLM(LLaMA)和一个轻量级编码器模型(Roberta )组成。

REFRAG架构:输入上下文被分块,并由轻量级编码器处理以生成块嵌入,这些嵌入可预先计算以实现高效重用。一个轻量级强化学习策略决定扩展少数块。这些块嵌入与问题输入的 token 嵌入一起送入解码器。

REFRAG的解码过程分为预处理(离线/在线)生成(在线) 两个阶段,完整流程如上。

阶段1:上下文预处理

针对RAG检索到的长上下文(占输入序列的绝大部分,即),通过“分块→编码→投影”三步完成压缩,减少解码器输入长度:

  1. 上下文分块(Chunking)
    将RAG检索到的上下文 tokens()按固定大小拆分为个不重叠块:)。

    如:若上下文长度,分块大小,则拆分为个块,每个块含16个tokens。

  2. 块编码
    轻量级编码器(如RoBERTa-Large)对每个块独立编码,输出低维块嵌入。

    这么做的好处:编码器处理块时无需跨块注意力(因RAG段落语义稀疏,跨块相关性低),可并行计算,大幅降低预处理耗时。

  3. 维度适配
    由于编码器输出的维度(如RoBERTa-Large为1024维)与解码器的token嵌入维度(如LLaMA-2-7B为4096维)不匹配,通过投影层将映射为,确保与解码器输入格式兼容。

阶段2:解码器生成(带动态扩展)

将“主输入token嵌入((用户的核心输入,如查询q)) + 压缩块嵌入(RAG 检索到的长上下文)”作为解码器输入,生成答案;同时通过RL策略动态扩展关键块,避免压缩导致的信息丢失:

  1. 解码器输入构造
    解码器接收两类输入的拼接序列:
  • 主输入token嵌入:(为的原生token嵌入);
  • 压缩块嵌入:(投影后的块嵌入)。
    最终解码器输入长度从缩短至,压缩比约为(因,时总输入长度近似从变为)。
  1. RL动态块扩展
    并非所有块都适合压缩(如与查询强相关的块压缩后可能丢失关键信息)。REFRAG通过轻量级RL策略,在解码前或解码中决定:
  • 低信息块:保留压缩嵌入,减少计算;
  • 高信息块:替换为原始块的token嵌入(即“扩展”),确保信息完整。
    RL策略以“下一段预测的困惑度(Perplexity)”为负奖励,学习选择最优扩展块,且扩展不破坏解码器的自回归特性(可在上下文任意位置进行)。

  1. 答案生成
    解码器基于处理后的输入序列生成答案:,生成过程与原生LLM完全一致,无需修改解码器架构。

训练方法逻辑概述

REFRAG 不修改基础 LLM 解码器架构,通过 “预训练 + 微调” 让解码器学会理解和利用编码器生成的压缩块嵌入。

  • 对齐阶段:通过 “重建任务” 让编码器生成的块嵌入能准确还原原始上下文,同时让投影层将块嵌入映射到解码器兼容的维度(解决 “压缩后信息丢失” 问题)。
  • 优化阶段:通过 “课程学习” 降低训练难度,让模型从单块重建逐步过渡到多块处理,避免直接训练长序列导致的优化困难(解决 “多块压缩难以收敛” 问题)。
  • 适配阶段:通过 “RL 选择性压缩” 动态决定哪些块保留原始 token(扩展)、哪些用压缩嵌入(压缩),在保证性能的前提下最大化效率(解决 “全量压缩可能损失关键信息” 问题)。

实验

REFRAG: Rethinking RAG based Decoding,https://arxiv.org/pdf/2509.01092


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐