企業導入 AI 時,可能會依需求進行客製化,讓生成式 AI 模型的回覆更準確、與自身關聯性更高,這也讓「RAG(檢索增強生成)」成為客製化大型語言模型(LLM)的主流方式。不過,RAG 也有其侷限,一份新研究指出,新的作法能打造表現比 RAG 更好的客製化應用。
這份刊登於預印論文網站 arXiv 的研究來自台灣政治大學,標題高喊「不要用 RAG」引發社群熱議。研究指出,透過長文本 LLM 和快取技術,能讓企業開發出性能超越 RAG 的客製化應用──這種被稱為「快取增強生成(CAG)」的方法,讓知識語料庫能夠容納進模型的上下文視窗。
RAG 有什麼不好?
先來說說好處,RAG 透過即時抓取外部資訊,來加強 AI 模型的回應,這可以確保取得的資訊具有相關性;第二,讓 AI 模型輕量化──因為能將特定知識資訊卸載到外部來源;第三,透過引用實際文件,可望減少幻覺。RAG 可說是處理開放領域問題和專門任務的有效方法。
不過,RAG 存在的限制,激起開發人員尋找更好的解法。原因之一,RAG 每次都會觸發檢索步驟,可能導致延遲、降低使用者體驗。此外,如果系統選擇到不相關的資料,就會影響輸出。而普遍來說,用於檢索的模型,會要求把文件分解成較小的區塊,可能損害檢索過程。
外媒分析,RAG 增加了 LLM 應用的複雜性,並且需要開發、整合和維護額外的元件,而這些增加的開銷會減慢開發過程。
CAG 有何特點?3 個優勢帶動
研究指出,RAG 的替代方案,是將整個文件語料庫預先放入提示之中,並且讓模型自己選擇和查詢有關的資料,這能消除 RAG 的複雜性,以及由檢索錯誤造成的問題。在推理過程中,模型可利用這些預先載入的參數來回答查詢,而無需額外的檢索步驟。此外,CAG 移除了檢索器和生成器的整合需求,降低了系統維護的複雜度。
不過,如果只是把所有文件都預先丟進提示裡,會面臨 3 個挑戰。第一,長提示還是會減慢模型速度,並增加推理的成本;第二,LLM 的上下文視窗有長度限制;第三,在提示中,如果不小心放進不相關的資訊,可能會讓模型混淆,降低答案品質。
這些限制都能被 CAG 一一克服。首先,CAG 的前提是把知識文件,包進給模型的每個提示之中,因此使用者可以提前算出需要多少 token,而不是收到查詢的時候才算,這能消除即時擷取的需要。如此一來,CAG 可以讓提示樣本(prompt templates)處理變得更快、更便宜。
事實上,OpenAI、Anthropic 和 Google 等 AI 巨頭,也有針對提示的重複部分,提供提示快取功能,可以在提示開頭先插入知識文件和說明。以 Anthropic 來說,這麼做可將提示的快取部分成本降低高達 90% ,並將延遲降低 85%。
第二,可容納更多 token 的長文本 LLM 越來越多,能在提示中容納更多文件和知識。舉例來說,Claude 3.5 Sonnet 支援多達 20 萬個 token,GPT-4 支援 12.8 萬個 token,而 Gemini 更可支援 200 萬個 token。
最後,先進的訓練方法,正在提升模型處理超長序列時的檢索、推理和問答能力。《VentureBeat》指出,過去一年,研究人員開發了許多針對長序列任務的 LLM 標準,包含 BABILong、LongICLBench 和 RULER,可以測試 LLM 在多重檢索、跳躍式問答等難題上的表現,而 LLM 也將據此不斷取得進展。
這樣還需要 RAG 嗎?
研究團隊在 SQuAD 和 HotPotQA 這兩個廣受認可的問答基準測試中實驗,比較了 RAG 和 CAG 的表現。實驗使用具有 12.8 萬個 token 上下文視窗的 Llama-3.1-8B 模型,結果顯示 CAG 在大多數情況下的表現都優於 RAG 系統。特別的是,隨著參考文本長度增加,CAG 減少產生答案時間的優勢更加明顯。
然而,研究也指出 CAG 並非萬能解決方案。它最適合用於知識庫不常變動且規模夠小、可以容納在模型上下文視窗內的場景。因此,企業在使用時仍需注意文件中可能存在的上下文衝突。進一步來說,RAG、CAG 兩者可以相互補充使用。
《VentureBeat》指出,要確定 CAG 是否適合自己,最好的方法就是進行實驗。此外,因為 CAG 因為很容易部署,企業在決定投資更多資源開發 RAG 之前,可以先將 CAG 視為永遠的第一步。
預約收看「AI 人才高峰會」NVIDIA、台積電演講精華!

【推薦閱讀】
◆ 川普宣布史上最大 AI 計畫「星際之門」,除 OpenAI、軟銀還有誰參與?
*本文開放合作夥伴轉載,資料來源:《VentureBeat》、Hamza Ennaffati、arxiv,首圖來源:Ideogram。



