CAG來了,RAG慌了?
CAG:Cache-Augmented Generation 緩存增強(qiáng)生成。
不要做 RAG 了:當(dāng)緩存增強(qiáng)生成對(duì)于知識(shí)任務(wù)就足夠時(shí)
檢索增強(qiáng)生成(RAG)作為一種通過整合外部知識(shí)源來增強(qiáng)語言模型的有效方法,已經(jīng)得到了廣泛應(yīng)用。然而,RAG 引入了檢索延遲、文檔選擇潛在錯(cuò)誤和系統(tǒng)復(fù)雜性增加等挑戰(zhàn)。隨著具有顯著擴(kuò)展上下文窗口的大型語言模型(LLMs)的出現(xiàn),本文提出了一種替代范式,即緩存增強(qiáng)生成(CAG),它繞過了實(shí)時(shí)檢索。我們的方法涉及預(yù)先加載所有相關(guān)資源,特別是當(dāng)檢索的文檔或知識(shí)有限且可管理時(shí),將其加載到 LLM 的擴(kuò)展上下文中,并緩存其運(yùn)行時(shí)參數(shù)。在推理過程中,模型利用這些預(yù)先加載的參數(shù)來回答查詢,而無需額外的檢索步驟。比較分析表明,CAG 消除了檢索延遲,并最小化了檢索錯(cuò)誤,同時(shí)保持了上下文相關(guān)性。在多個(gè)基準(zhǔn)測試中的性能評(píng)估突出了長上下文 LLMs 在哪些場景下優(yōu)于或補(bǔ)充了傳統(tǒng)的 RAG 管道。這些發(fā)現(xiàn)表明,對(duì)于某些應(yīng)用,尤其是那些知識(shí)庫受限的應(yīng)用,CAG 提供了一種簡化和高效的替代方案,與 RAG 相比,在降低復(fù)雜性的同時(shí)實(shí)現(xiàn)可比或更優(yōu)的結(jié)果。
感覺還是longcontext VS RAG,隨便寫寫,好像容易被噴。
套了層緩存的殼。
{context} + prompt + query
CAG對(duì){context}部分的KV提前緩存, RAG的{context}部分是動(dòng)態(tài)的。
3個(gè)階段: 緩存 -> 推理 -> cacheReset(就是應(yīng)對(duì)多輪,超長了,截?cái)嘁幌拢?/p>
優(yōu)勢:(引用)
- 知識(shí)庫有限且可控:當(dāng)需要處理的文檔或知識(shí)量不大時(shí),CAG 可以輕松勝任。
- 追求極致效率:對(duì)于需要快速響應(yīng)的應(yīng)用,CAG 的優(yōu)勢更加突出。
- 需要一致的上下文理解:CAG 可以讓模型對(duì)所有知識(shí)有更全面的理解,從而生成更準(zhǔn)確、更一致的回答。
