REFRAG:基于塊壓縮的RAG解碼優化
Meta發布的REFRAG(REFRAG: Rethinking RAG based Decoding)在解碼時將大部分檢索到的token替換為預計算的塊嵌入,然后選擇性地只擴展少數重要的塊。這利用了RAG提示中的塊對角注意力模式來減少延遲和內存,同時在RAG、多輪對話和長文檔摘要中保持準確性。這是一種用于RAG系統的即插即用解碼策略,能夠大幅降低延遲和內存使用。REFRAG實現了高達30.85倍的TTFT(首字符生成時間)加速。
圖片
核心思想
將檢索到的上下文分塊,用輕量級編碼器對每個塊進行編碼,投影到解碼器的嵌入尺寸,并將嵌入直接與用戶查詢一起輸入。一個輕量級強化學習策略決定哪些塊應該保持壓縮狀態,哪些需要擴展回完整文本。可以把它想象成只在必要的地方放大。
底層工作原理
注意力圖顯示檢索到的段落很少相互交互(塊對角模式)。因此REFRAG避免在無關文本上浪費注意力,只為重要的塊付出完整代價。
圖片
提速不降智
基準測試顯示,與vanilla LLaMA相比,首字符生成時間提速高達30倍,吞吐量提高6-7倍。即使與CEPE等強基線相比,REFRAG仍然快3-4倍,且準確性相等或更好。
圖片
免費獲得更長內存
通過壓縮大部分塊,REFRAG有效地將模型上下文長度擴展至16倍更多token,讓它能夠處理更多檢索段落而不破壞延遲預算。
圖片
更好地利用檢索預算
在相同延遲下,REFRAG能夠處理比基線模型更多的段落,并在16個RAG任務中表現更優,特別是當檢索器較弱時(結果混亂或有噪音)。除了RAG之外,它還提升多輪對話(保留更多歷史而不截斷)和長文檔摘要(在固定計算下獲得更高的ROUGE分數)。
本文轉載自??AI帝國??,作者:無影寺

















