自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

繞過 RAG 實(shí)時(shí)檢索瓶頸,緩存增強(qiáng)生成(CAG)如何助力性能突破? 原創(chuàng) 精華

發(fā)布于 2025-2-28 10:37
瀏覽
0收藏

編者按: 你是否曾經(jīng)遇到過這樣的困擾:在開發(fā)基于 RAG 的應(yīng)用時(shí),實(shí)時(shí)檢索的延遲讓用戶體驗(yàn)大打折扣?或者在處理復(fù)雜查詢時(shí),檢索結(jié)果的不準(zhǔn)確導(dǎo)致回答質(zhì)量不盡如人意?

在當(dāng)前大語言模型應(yīng)用大規(guī)模落地的背景下,這些挑戰(zhàn)正成為制約產(chǎn)品競(jìng)爭(zhēng)力的關(guān)鍵瓶頸。傳統(tǒng) RAG 方案中的檢索延遲、準(zhǔn)確性波動(dòng)以及系統(tǒng)復(fù)雜度,都在考驗(yàn)著開發(fā)者的耐心和智慧。

緩存增強(qiáng)生成(CAG)技術(shù)巧妙地利用了新一代大語言模型處理長(zhǎng)上下文的能力,通過預(yù)加載文檔和預(yù)計(jì)算 KV 緩存,消除了實(shí)時(shí)檢索的需求。實(shí)驗(yàn)結(jié)果表明,在可管理的知識(shí)庫(kù)場(chǎng)景下,這種方案不僅能將推理時(shí)間縮短數(shù)倍,還能提供更連貫、更準(zhǔn)確的響應(yīng)。

作者 | Vishal Rajput

編譯 | 岳揚(yáng)

檢索增強(qiáng)生成(RAG)作為一種通過整合外部知識(shí)源來增強(qiáng)語言模型的強(qiáng)大方法而備受矚目。不過,這種方法也帶來了一些挑戰(zhàn),比如檢索過程的延遲、文檔挑選時(shí)可能出現(xiàn)的誤差,以及系統(tǒng)復(fù)雜度的增加。

隨著能夠處理更長(zhǎng)上下文的大語言模型(LLMs)的興起,緩存增強(qiáng)生成(CAG)技術(shù)應(yīng)運(yùn)而生,它避免了實(shí)時(shí)的信息檢索。這項(xiàng)技術(shù)通過將所有必要資源預(yù)先加載到模型的擴(kuò)展上下文中,并在緩存其相關(guān)運(yùn)行時(shí)(runtime)參數(shù),尤其在處理數(shù)量有限且易于管理的文檔或知識(shí)時(shí)更為有效。

話不多說,讓我們來深入探討這一新穎的技術(shù)。

本文將討論以下主題:

  • RAG 如何擴(kuò)展上下文的處理能力?
  • 無限擴(kuò)展的上下文窗口
  • CAG 技術(shù)有何優(yōu)勢(shì)?
  • 其他方面的改進(jìn)
  • CAG 框架的運(yùn)作原理
  • 總結(jié)

繞過 RAG 實(shí)時(shí)檢索瓶頸,緩存增強(qiáng)生成(CAG)如何助力性能突破?-AI.x社區(qū)

01 RAG 如何擴(kuò)展上下文的處理能力?

RAG 是一種半?yún)?shù)化系統(tǒng),其中參數(shù)化部分由大語言模型構(gòu)成,而非參數(shù)化部分則包括其他元素。將這兩部分結(jié)合,便形成了半?yún)?shù)化系統(tǒng)。在 LLMs 中,所有信息都以編碼形式存儲(chǔ)在模型的權(quán)重或參數(shù)中,而系統(tǒng)的其他部分則沒有用參數(shù)來定義這些知識(shí)。

那么,這種設(shè)計(jì)是如何解決問題的呢?

  • 通過在 LLMs 中靈活地替換索引(即特定的信息),能夠?qū)崿F(xiàn)信息的個(gè)性化定制,這意味著我們不會(huì)因?yàn)樾畔⑦^時(shí)而受限,同時(shí)也能夠更新索引的內(nèi)容。
  • 將 LLMs 與這些索引相結(jié)合,可以減少錯(cuò)誤信息的產(chǎn)生,并且我們能夠通過指向信息原始來源來進(jìn)行引用和歸屬描述。

因此,從理論上講,RAG 提升了我們?yōu)?LLMs 創(chuàng)建更佳上下文的能力,使其表現(xiàn)更加出色。

但這個(gè)過程真的這么簡(jiǎn)單嗎?答案是否定的。

現(xiàn)有的 RAG 系統(tǒng)并不夠智能,它們相對(duì)簡(jiǎn)單,無法應(yīng)對(duì)那些需要大量自定義上下文的復(fù)雜任務(wù)。

因此,簡(jiǎn)而言之,正是由于上下文窗口對(duì) LLMs 的限制,RAG 才得以發(fā)展起來。

02 無限擴(kuò)展的上下文窗口

相關(guān)論文在此:《Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention》。

這篇論文提出了一種高效的方法,可以在有限的內(nèi)存和計(jì)算資源約束下,將基于 Transformer 的大語言模型(LLMs)擴(kuò)展到處理無限長(zhǎng)的輸入。該方法中的一個(gè)關(guān)鍵創(chuàng)新是一種名為 Infini-attention 的全新注意力機(jī)制。

Infini-attention 的核心思想是將局部注意力和全局注意力相結(jié)合。具體來說,首先將整篇文章分割成多個(gè)片段,在其中一個(gè)片段上應(yīng)用標(biāo)準(zhǔn)的注意力機(jī)制,而為了獲取前一個(gè)片段的上下文,我們采用了一種線性注意力機(jī)制。以下是對(duì)這篇論文的簡(jiǎn)要概述:

  • 混合注意力機(jī)制:局部注意力集中于單詞周圍的即時(shí)上下文,而長(zhǎng)距離注意力則通過參考迄今為止所見的整個(gè)序列的壓縮摘要來保持全局視野。
  • 壓縮記憶:利用線性注意力來記憶之前的文本片段。
  • 高效更新:為了避免冗余和節(jié)省計(jì)算量,Infini-attention 不會(huì)直接將新信息添加到記憶中。相反,它會(huì)首先檢查已知信息,然后只更新記憶中的新信息或不同信息,這與 ResNet 中的跳躍連接(skip connections)類似。
  • 權(quán)衡控制:通過一個(gè)超參數(shù)來調(diào)節(jié)局部信息和壓縮記憶的混合比例。

03 CAG 技術(shù)有何優(yōu)勢(shì)?

無檢索長(zhǎng)上下文范式:提出了一種創(chuàng)新方法,通過利用預(yù)加載文檔和預(yù)計(jì)算 KV 緩存的長(zhǎng)上下文 LLMs,消除了檢索延遲、錯(cuò)誤和系統(tǒng)復(fù)雜性。

性能比較:實(shí)驗(yàn)表明,長(zhǎng)上下文 LLMs 的性能優(yōu)于傳統(tǒng)的 RAG 系統(tǒng),特別是在可管理的知識(shí)庫(kù)中。

實(shí)用見解:提出可操作的優(yōu)化策略以提升知識(shí)密集型工作流效率,通過實(shí)證驗(yàn)證無檢索方法在特定應(yīng)用場(chǎng)景下的可行性。

CAG 相較于傳統(tǒng) RAG 系統(tǒng)具有以下顯著優(yōu)勢(shì):

  • 縮短推理時(shí)間:由于無需實(shí)時(shí)檢索,推理過程變得更快、更高效,能夠更快地響應(yīng)用戶查詢。
  • 統(tǒng)一上下文:將整個(gè)知識(shí)集合預(yù)加載到 LLM 中,可提供對(duì)文檔的整體和連貫理解,從而在各種任務(wù)中提高響應(yīng)質(zhì)量和響應(yīng)一致性。
  • 簡(jiǎn)化架構(gòu):通過移除整合檢索器和生成器的需求,系統(tǒng)變得更加簡(jiǎn)潔,降低了系統(tǒng)復(fù)雜性,提高了可維護(hù)性,并減少了開發(fā)成本。

04 其他方面的改進(jìn)

對(duì)于知識(shí)密集型任務(wù)而言,增加的計(jì)算資源通常被用來融入更多的外部知識(shí)。然而,如果沒有有效地利用這些知識(shí),單純地?cái)U(kuò)展上下文并不總是能提升性能。

兩種推理擴(kuò)展策略:上下文學(xué)習(xí)(In-context learning)和迭代式提示技術(shù)(iterative prompting)。

這些策略為擴(kuò)展測(cè)試時(shí)計(jì)算(test-time computation)提供了額外的靈活性(例如,通過增加檢索的文檔數(shù)量或生成步驟),從而增強(qiáng) LLMs 獲取和利用上下文信息的能力。

我們需要回答兩個(gè)關(guān)鍵問題:

(1) 在進(jìn)行最優(yōu)配置時(shí),RAG 性能如何通過推理計(jì)算規(guī)模的擴(kuò)展獲得提升?

(2) 能否通過建模 RAG 性能與推理參數(shù)之間的量化關(guān)系,預(yù)測(cè)給定預(yù)算約束下的最優(yōu)測(cè)試時(shí)計(jì)算資源分配?

在最優(yōu)推理參數(shù)配置下,RAG性能隨著測(cè)試時(shí)計(jì)算量級(jí)的提升呈現(xiàn)近似線性增長(zhǎng)。基于實(shí)驗(yàn)觀測(cè),我們推導(dǎo)出RAG的推理擴(kuò)展規(guī)律及其配套計(jì)算資源分配模型,該模型可預(yù)測(cè)不同超參數(shù)配置下的系統(tǒng)性能表現(xiàn)。

欲了解更多信息請(qǐng)閱讀此論文:??https://arxiv.org/pdf/2410.04343??

另一項(xiàng)工作則更多地從硬件(優(yōu)化)設(shè)計(jì)的角度出發(fā):

研究團(tuán)隊(duì)開發(fā)了智能知識(shí)存儲(chǔ)系統(tǒng)(Intelligent Knowledge Store, IKS),這是一種基于 CXL 2.0 協(xié)議的設(shè)備,采用橫向擴(kuò)展的近內(nèi)存加速架構(gòu),通過在主機(jī) CPU 與近內(nèi)存加速器之間構(gòu)建新型緩存一致性接口實(shí)現(xiàn)性能突破。

在 512GB 向量數(shù)據(jù)庫(kù)上,IKS 執(zhí)行精確最近鄰搜索的速度相比 Intel Sapphire Rapids CPU 提升 13.4-27.9 倍。這種搜索性能優(yōu)勢(shì)使典型 RAG 應(yīng)用的端到端推理時(shí)間縮短 1.7-26.3 倍。作為內(nèi)存擴(kuò)展器,IKS 的內(nèi)部 DRAM 可解耦供服務(wù)器其他應(yīng)用使用,有效避免當(dāng)今服務(wù)器中最昂貴的 DRAM 資源閑置浪費(fèi)。

欲了解更多信息,請(qǐng)閱讀這里:??https://arxiv.org/pdf/2412.15246??

另一篇論文系統(tǒng)性地研究了長(zhǎng)上下文對(duì) 20 種主流開源和商業(yè)大語言模型(LLM)的檢索增強(qiáng)生成(RAG)性能影響。研究團(tuán)隊(duì)通過在三個(gè)專有領(lǐng)域數(shù)據(jù)集上改變總上下文長(zhǎng)度(從 2,000 到 128,000 tokens,并在可能情況下擴(kuò)展至 200 萬 tokens)運(yùn)行 RAG 工作流,揭示了長(zhǎng)上下文在 RAG 應(yīng)用中的優(yōu)勢(shì)與局限性。

他們的研究發(fā)現(xiàn),雖然檢索更多文檔可以提高性能,但只有少數(shù)最新一代的最先進(jìn) LLMs 能夠在超過 64k tokens 的長(zhǎng)上下文中保持穩(wěn)定的準(zhǔn)確性。 他們還確定了長(zhǎng)上下文場(chǎng)景中的不同故障模式,為未來的研究提出了方向。

欲了解更多信息,請(qǐng)閱讀此論文:??https://arxiv.org/pdf/2411.03538??

05 CAG 框架的運(yùn)作原理

CAG 框架利用長(zhǎng)上下文 LLMs 的擴(kuò)展上下文能力,消除了實(shí)時(shí)檢索的需求。通過預(yù)加載外部知識(shí)源(例如,文檔集合 D={d1,d2,…} )并預(yù)計(jì)算鍵值(KV)緩存(C_KV),它克服了傳統(tǒng) RAG 系統(tǒng)的效率低下問題。該框架主要分三個(gè)階段運(yùn)行:

1. 外部知識(shí)預(yù)加載

  • 對(duì)精選的文檔集合 D 進(jìn)行預(yù)處理,使其適配模型的擴(kuò)展上下文窗口。
  • LLM 處理這些文檔,將它們轉(zhuǎn)換為預(yù)計(jì)算的鍵值(KV)緩存,該緩存封裝了 LLM 的推理狀態(tài)。LLM(M)將文檔集合 D 編碼成預(yù)計(jì)算的 KV 緩存:

繞過 RAG 實(shí)時(shí)檢索瓶頸,緩存增強(qiáng)生成(CAG)如何助力性能突破?-AI.x社區(qū)

  • 該預(yù)計(jì)算緩存被存儲(chǔ)以供復(fù)用,確保無論后續(xù)執(zhí)行多少次查詢,處理文檔集合D的計(jì)算成本僅需支付一次。

2. 推理階段

  • 在推理階段,KV 緩存(C_KV)與用戶查詢 Q 一起加載。
  • LLM 利用這個(gè)緩存中的上下文來生成響應(yīng),從而消除了檢索延遲,并減少了由于動(dòng)態(tài)檢索引起的錯(cuò)誤或遺漏的風(fēng)險(xiǎn)。LLM 通過利用緩存中的上下文來生成響應(yīng):

繞過 RAG 實(shí)時(shí)檢索瓶頸,緩存增強(qiáng)生成(CAG)如何助力性能突破?-AI.x社區(qū)

這種方法消除了檢索延遲,將檢索錯(cuò)誤的風(fēng)險(xiǎn)降至最低。組合提示詞 P=Concat(D,Q) 確保了對(duì)外部知識(shí)和查詢的統(tǒng)一理解。

3. 緩存重置

  • 為維持性能,需對(duì) KV 緩存進(jìn)行高效重置。在推理過程中,隨著新 token(t1,t2,…,tk)被添加至上下文窗口,重置過程會(huì)截?cái)噙@些 tokens:

繞過 RAG 實(shí)時(shí)檢索瓶頸,緩存增強(qiáng)生成(CAG)如何助力性能突破?-AI.x社區(qū)

  • 隨著新 token 的連續(xù)添加,KV 緩存逐漸增長(zhǎng),重置時(shí)僅需截?cái)噙@些新增 token,即可實(shí)現(xiàn)快速重新初始化,無需從磁盤重新加載整個(gè)緩存。這種設(shè)計(jì)避免了全量緩存加載的 I/O 瓶頸,確保了系統(tǒng)響應(yīng)速度的持續(xù)穩(wěn)定。

06 Conclusion

緩存增強(qiáng)生成(CAG)在實(shí)時(shí)檢索不可行或需要極低延遲響應(yīng)的場(chǎng)景中優(yōu)勢(shì)顯著。通過將海量外部知識(shí)嵌入模型的上下文窗口,CAG 能夠生成信息豐富且上下文相關(guān)的回答,避免了傳統(tǒng)檢索增強(qiáng)生成(RAG)系統(tǒng)的檢索延遲。

Thanks for reading!

Hope you have enjoyed and learned new things from this blog!

About the author

Vishal Rajput

3x??Top writer in AI |

AI Book ??: ??https://rb.gy/xc8m46?? |

LinkedIn +: ??https://www.linkedin.com/in/vishal-rajput-999164122/??

END

本期互動(dòng)內(nèi)容 ??

?你認(rèn)為隨著大模型上下文窗口持續(xù)擴(kuò)大,RAG和CAG的技術(shù)路線會(huì)如何演進(jìn)?哪些場(chǎng)景仍然更適合使用RAG?

原文鏈接:

??https://medium.com/aiguys/dont-do-rag-it-s-time-for-cag-fb24ff87932b??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦