RAG長上下文加速解碼策略-meta基于RAG的解決思路淺嘗(REFRAG) 原創(chuàng)
前文在??RAG常見13種分塊策略大總結(jié)(一覽表)???提到,分塊策略在RAG中至關(guān)重要,目的是提高效率、相關(guān)性和上下文保持。但也會帶來冗余。引發(fā)長上下文 RAG 應用的效率痛點:
在 RAG 等依賴外部知識的任務(wù)(如多輪對話、長文檔總結(jié))中,LLMs 需要將檢索到的大量段落拼接為長上下文輸入,但這會引發(fā)兩大問題:
- 高延遲與高內(nèi)存消耗:長上下文需占用大量鍵值緩存(KV Cache),且生成第一個token的時間(TTFT,Time-to-First-Token)隨上下文長度呈二次方增長,后續(xù)token生成時間(TTIT)呈線性增長,導致系統(tǒng)吞吐量顯著下降,難以滿足Web級檢索等低延遲場景需求。
- 冗余計算嚴重:RAG 上下文由多個檢索段落拼接而成,但其中僅小部分與查詢直接相關(guān);且檢索段落因多樣性或去重處理,語義相似度極低,形成“塊對角注意力模式”(即不同段落間的交叉注意力幾乎為零)?,F(xiàn)有 LLM 解碼時會對整個上下文進行全量計算,而這些與查詢無關(guān)的段落計算大多是不必要的。
下面看下meta的解決思路/目標:在不損失 RAG 任務(wù)性能(如回答準確性、困惑度)的前提下,通過針對性優(yōu)化 RAG 解碼過程,大幅降低延遲(尤其是 TTFT)和內(nèi)存消耗,同時擴展 LLM 的有效上下文窗口。
模型架構(gòu)
該模型由一個僅解碼器的LLM(LLaMA)和一個輕量級編碼器模型(Roberta )組成。

REFRAG架構(gòu):輸入上下文被分塊,并由輕量級編碼器處理以生成塊嵌入,這些嵌入可預先計算以實現(xiàn)高效重用。一個輕量級強化學習策略決定擴展少數(shù)塊。這些塊嵌入與問題輸入的 token 嵌入一起送入解碼器。
REFRAG的解碼過程分為預處理(離線/在線) 和生成(在線) 兩個階段,完整流程如上。
階段1:上下文預處理

階段2:解碼器生成(帶動態(tài)擴展)
將“主輸入token嵌入((用戶的核心輸入,如查詢q)) + 壓縮塊嵌入(RAG 檢索到的長上下文)”作為解碼器輸入,生成答案;同時通過RL策略動態(tài)擴展關(guān)鍵塊,避免壓縮導致的信息丟失:
- 解碼器輸入構(gòu)造
解碼器接收兩類輸入的拼接序列:

- RL動態(tài)塊擴展
并非所有塊都適合壓縮(如與查詢強相關(guān)的塊壓縮后可能丟失關(guān)鍵信息)。REFRAG通過輕量級RL策略,在解碼前或解碼中決定:
a.對低信息塊:保留壓縮嵌入eicnk,減少計算;
b.對高信息塊:替換為原始塊的token嵌入(即“擴展”),確保信息完整。
RL策略以“下一段預測的困惑度(Perplexity)”為負獎勵,學習選擇最優(yōu)擴展塊,且擴展不破壞解碼器的自回歸特性(可在上下文任意位置進行)。

3.答案生成解碼器基于處理后的輸入序列生成答案:
,生成過程與原生LLM完全一致,無需修改解碼器架構(gòu)。
訓練方法邏輯概述
REFRAG 不修改基礎(chǔ) LLM 解碼器架構(gòu),通過 “預訓練 + 微調(diào)” 讓解碼器學會理解和利用編碼器生成的壓縮塊嵌入。
- 對齊階段:通過 “重建任務(wù)” 讓編碼器生成的塊嵌入能準確還原原始上下文,同時讓投影層將塊嵌入映射到解碼器兼容的維度(解決 “壓縮后信息丟失” 問題)。
- 優(yōu)化階段:通過 “課程學習” 降低訓練難度,讓模型從單塊重建逐步過渡到多塊處理,避免直接訓練長序列導致的優(yōu)化困難(解決 “多塊壓縮難以收斂” 問題)。
- 適配階段:通過 “RL 選擇性壓縮” 動態(tài)決定哪些塊保留原始 token(擴展)、哪些用壓縮嵌入(壓縮),在保證性能的前提下最大化效率(解決 “全量壓縮可能損失關(guān)鍵信息” 問題)。
實驗





REFRAG: Rethinking RAG based Decoding,https://arxiv.org/pdf/2509.01092
本文轉(zhuǎn)載自???大模型自然語言處理???? 作者:llmnlp

















