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

無需檢索!CAG 通過鍵值緩存讓 RAG 輕松上手

發(fā)布于 2025-1-7 11:54
瀏覽
0收藏

隨著大模型技術(shù)的不斷發(fā)展,尤其是大模型上下文窗口(context window)逐漸增大的趨勢,許多研究者開始思考是否可以借此特點(diǎn)簡化傳統(tǒng)的 RAG(Retrieval-Augmented Generation)架構(gòu)。在此背景下,2024年12月的研究論文提出了一個(gè)創(chuàng)新方案——CAG(Cache-Augmented Generation),這是一種通過預(yù)加載外部文檔到大模型的上下文窗口來簡化傳統(tǒng) RAG 流程的方法。本文將詳細(xì)介紹 CAG 的特點(diǎn)、工作原理、實(shí)驗(yàn)結(jié)果、適用場景以及如何快速上手。

1. RAG 的天生不足之處

盡管RAG在理論上能夠通過引入外部知識提高生成能力,但它在實(shí)際應(yīng)用中面臨的挑戰(zhàn)不可忽視:

  • 延遲高和復(fù)雜度大:RAG依賴于實(shí)時(shí)檢索過程,需要在查詢時(shí)進(jìn)行向量搜索、排序、選擇相關(guān)文檔等復(fù)雜操作。這些操作不僅增加了計(jì)算負(fù)擔(dān),還導(dǎo)致了響應(yīng)時(shí)間的延長,尤其是在面對大規(guī)模文檔庫時(shí)。
  • 安全隱患:為了提升檢索的準(zhǔn)確性,RAG通常將外部文檔轉(zhuǎn)化為向量并存儲在向量數(shù)據(jù)庫中。然而,這種做法可能會(huì)導(dǎo)致敏感信息泄漏的風(fēng)險(xiǎn),特別是在涉及個(gè)人隱私或商業(yè)機(jī)密的數(shù)據(jù)時(shí)。
  • 依賴第三方向量存儲:許多RAG實(shí)現(xiàn)依賴于商業(yè)化的向量數(shù)據(jù)庫和嵌入生成服務(wù),這些服務(wù)的使用可能導(dǎo)致商業(yè)偏見,并帶來額外的成本和數(shù)據(jù)隱私問題。

鑒于這些問題,研究者們開始探索一種更加簡化且高效的替代方案——CAG。

2. CAG 簡介

CAG(Cache-Augmented Generation)是一種基于大模型上下文窗口擴(kuò)展特性的RAG優(yōu)化方案,通過預(yù)加載相關(guān)文檔并生成鍵值緩存(KV Cache),消除了傳統(tǒng)RAG中的實(shí)時(shí)檢索環(huán)節(jié)。這一過程將外部知識直接集成到模型的工作內(nèi)存中,從而減少了延遲,提高了系統(tǒng)的整體效率。

2.1 基本特點(diǎn)

CAG的核心思想在于預(yù)加載相關(guān)文檔并將其轉(zhuǎn)化為鍵值緩存(KV Cache),然后將緩存數(shù)據(jù)與用戶查詢一同傳遞給大模型。這樣,在推理時(shí),模型能夠直接利用預(yù)先加載的知識進(jìn)行生成,無需進(jìn)行實(shí)時(shí)檢索和向量搜索。

  • 簡化架構(gòu):CAG不需要構(gòu)建復(fù)雜的向量空間或檢索組件,從而大大簡化了系統(tǒng)架構(gòu)。
  • 消除延遲:通過預(yù)先處理并緩存相關(guān)文檔,CAG避免了檢索過程的延遲,提升了響應(yīng)速度。
  • 增強(qiáng)安全性:敏感數(shù)據(jù)可以存儲在安全的數(shù)據(jù)庫中,而不是轉(zhuǎn)化為向量,這減少了數(shù)據(jù)泄露的風(fēng)險(xiǎn)。

2.2 工作原理

CAG的工作原理可以分為三個(gè)階段:

  • 外部知識預(yù)加載:在這一階段,相關(guān)領(lǐng)域的文檔被預(yù)處理并格式化為適應(yīng)大模型上下文窗口的形式。大模型將這些文檔編碼成鍵值對(KV Cache),并將其存儲以供后續(xù)使用。該過程的計(jì)算成本只發(fā)生在文檔處理時(shí),之后的查詢可以直接利用緩存。
  • 推理:在推理階段,預(yù)先計(jì)算的鍵值緩存與用戶的查詢一同加載到模型中,模型利用這些緩存的上下文生成響應(yīng)。這一過程不再依賴實(shí)時(shí)檢索,極大減少了延遲并降低了數(shù)據(jù)選擇錯(cuò)誤的風(fēng)險(xiǎn)。
  • 緩存重置:為了保持系統(tǒng)性能,緩存可以在多個(gè)推理會(huì)話后高效重置。由于KV Cache是按追加方式增長的,重置操作只需截?cái)嘈略龅牧钆疲鵁o需重新加載整個(gè)緩存。

無需檢索!CAG 通過鍵值緩存讓 RAG 輕松上手-AI.x社區(qū)

傳統(tǒng) RAG 和 CAG 工作流程的比較:上部說明了 RAG 管道,包括推理過程中的實(shí)時(shí)檢索和參考文本輸入,而下部描述了 CAG 方法,該方法預(yù)加載 KV 緩存,從而消除了推理時(shí)的檢索步驟和參考文本輸入。


2.3 優(yōu)點(diǎn)

  • 提升效率:通過預(yù)加載和緩存外部知識,CAG消除了實(shí)時(shí)檢索過程,顯著提高了計(jì)算效率。
  • 增強(qiáng)安全性:敏感數(shù)據(jù)存儲在安全數(shù)據(jù)庫中,而非嵌入到向量空間,降低了數(shù)據(jù)泄露的風(fēng)險(xiǎn)。
  • 簡化架構(gòu):無需構(gòu)建復(fù)雜的向量檢索和存儲組件,系統(tǒng)架構(gòu)更加簡潔。
  • 減少延遲:通過避免實(shí)時(shí)操作,CAG減少了推理延遲,提高了響應(yīng)速度。

3. 實(shí)驗(yàn)結(jié)果及適用場景

為了驗(yàn)證CAG的效果,研究者們對其進(jìn)行了大量實(shí)驗(yàn),比較了CAG與傳統(tǒng)RAG(基于BM25的稀疏檢索和OpenAI的密集檢索)的性能。

3.1 實(shí)驗(yàn)結(jié)果

  • 數(shù)據(jù)集:使用了SQuAD 1.0和HotPotQA數(shù)據(jù)集,這兩個(gè)數(shù)據(jù)集包含了多種不同難度的問答任務(wù)。
  • 評估指標(biāo):采用BERTScore作為評估指標(biāo),用于比較生成文本與真實(shí)答案的相似度。
  • 實(shí)驗(yàn)結(jié)果

性能優(yōu)越:CAG在大多數(shù)測試中超越了傳統(tǒng)的RAG方法,特別是在HotPotQA數(shù)據(jù)集上,CAG憑借全量上下文理解的優(yōu)勢,表現(xiàn)明顯優(yōu)于基于檢索的RAG。

推理時(shí)間縮短:由于不再需要實(shí)時(shí)檢索,CAG顯著降低了推理時(shí)間,特別是在面對大規(guī)模文檔時(shí)的響應(yīng)速度明顯提高。

BERTScore表現(xiàn):CAG在大部分情況下的BERTScore優(yōu)于傳統(tǒng)RAG系統(tǒng),證明了其在生成準(zhǔn)確性上的優(yōu)勢。

無需檢索!CAG 通過鍵值緩存讓 RAG 輕松上手-AI.x社區(qū)

CAG在大多數(shù)測試中超越了傳統(tǒng)的RAG方法

3.2 適用場景

CAG尤其適用于知識庫有限且文檔量可控的任務(wù)。對于文檔集較小、內(nèi)容相對固定的應(yīng)用場景,CAG能夠顯著提升性能,并簡化系統(tǒng)架構(gòu)。

  • 約束性知識庫:對于某些任務(wù),知識庫大小適中且固定,可以直接加載到大模型的上下文窗口中,這時(shí)CAG表現(xiàn)出色。
  • 混合方法:對于需要全面知識和適應(yīng)特定查詢的任務(wù),CAG還可以與檢索機(jī)制結(jié)合使用,通過預(yù)加載基礎(chǔ)上下文并結(jié)合選擇性檢索來應(yīng)對特定問題。

4. 快速上手

想要快速體驗(yàn)CAG,可以按照以下步驟進(jìn)行:

安裝依賴

pip install -r ./requirements.txt

準(zhǔn)備數(shù)據(jù)

# 下載所需的數(shù)據(jù)集
sh ./downloads.sh

配置環(huán)境

# 復(fù)制并配置環(huán)境文件
cp ./.env.template ./.env

運(yùn)行實(shí)驗(yàn)

  • ??rag.py??:用于傳統(tǒng)RAG實(shí)驗(yàn)。
  • ??kvcache.py??:用于CAG實(shí)驗(yàn)。

5. 結(jié)論及展望

CAG作為RAG的簡化替代方案,特別適合在知識庫有限且可控的場景下應(yīng)用。通過預(yù)加載和緩存外部知識,CAG不僅消除了實(shí)時(shí)檢索帶來的延遲,還減少了系統(tǒng)復(fù)雜度,并提升了計(jì)算效率。在未來,隨著大模型上下文窗口的不斷擴(kuò)展,CAG的優(yōu)勢將更加明顯,尤其是在處理大規(guī)模知識庫和長文本時(shí)。

隨著技術(shù)的不斷進(jìn)步,CAG將成為大模型技術(shù)中的重要組成部分,提供更加高效、安全和簡潔的解決方案。在不久的將來,我們可能會(huì)看到CAG與更多先進(jìn)技術(shù)的結(jié)合,為實(shí)際應(yīng)用帶來更強(qiáng)大的智能服務(wù)。

參考鏈接

本文轉(zhuǎn)載自??非架構(gòu)??,作者: 非架構(gòu) ????

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦