同濟大學王昊奮研究員團隊聯合復旦大學熊赟教授團隊發布檢索增強生成(RAG)綜述,從核心范式,關鍵技術到未來發展趨勢對 RAG 進行了全面梳理。這份工作為研究人員繪制了一幅清晰的 RAG 技術發展藍圖,指出了未來的研究探索方向。同時,為開發者提供了參考,幫助辨識不同技術的優缺點,并指導如何在多樣化的應用場景中最有效地利用這些技術。
大型語言模型(LLMs)已經成為我們生活和工作的一部分,它們以驚人的多功能性和智能化改變了我們與信息的互動方式。
然而,盡管它們的能力令人印象深刻,但它們并非無懈可擊。這些模型可能會產生誤導性的 “幻覺”,依賴的信息可能過時,處理特定知識時效率不高,缺乏專業領域的深度洞察,同時在推理能力上也有所欠缺。
在現實世界的應用中,數據需要不斷更新以反映最新的發展,生成的內容必須是透明可追溯的,以便控制成本并保護數據隱私。因此,簡單依賴于這些 “黑盒” 模型是不夠的,我們需要更精細的解決方案來滿足這些復雜的需求。 正是在這樣的背景下,檢索增強生成技術(Retrieval-Augmented Generation,RAG)應時而生,成為 AI 時代的一大趨勢。
RAG 通過在語言模型生成答案之前,先從廣泛的文檔數據庫中檢索相關信息,然后利用這些信息來引導生成過程,極大地提升了內容的準確性和相關性。RAG 有效地緩解了幻覺問題,提高了知識更新的速度,并增強了內容生成的可追溯性,使得大型語言模型在實際應用中變得更加實用和可信。RAG 的出現無疑是人工智能研究領域最激動人心的進展之一。
本篇綜述將帶你全面了解 RAG,深入探討其核心范式、關鍵技術及未來趨勢,為讀者和實踐者提供對大型模型以及 RAG 的深入和系統的認識,同時闡述檢索增強技術的最新進展和關鍵挑戰。
論文原文:https://arxiv.org/abs/2312.10997
官方倉庫:https://github.com/Tongji-KGLLM/RAG-Survey
RAG 是什么?
圖 1 RAG 技術在 QA 問題中的案例
一個典型的 RAG 案例如圖所示。如果我們向 ChatGPT 詢問 OpenAI CEO Sam Atlman 在短短幾天內突然解雇隨后又被復職的事情。由于受到預訓練數據的限制,缺乏對最近事件的知識,ChatGPT 則表示無法回答。RAG 則通過從外部知識庫檢索最新的文檔摘錄來解決這一差距。在這個例子中,它獲取了一系列與詢問相關的新聞文章。這些文章,連同最初的問題,隨后被合并成一個豐富的提示,使 ChatGPT 能夠綜合出一個有根據的回應。
RAG 技術范式發展
RAG 的概念首次于 2020 年被提出,隨后進入高速發展。RAG 技術的演進歷程如圖所示,相關研究進展可以明確地劃分為數個關鍵階段。在早期的預訓練階段,研究的焦點集中在如何通過預訓練模型注入額外的知識,以此增強語言模型的能力。隨著 ChatGPT 的面世,對于運用大型模型進行深層次上下文學習的興趣激增,這推動了 RAG 技術在研究領域的快速發展。隨著 LLMs 的潛力被進一步開發,旨在提升模型的可控性并滿足不斷演變的需求,RAG 的研究逐漸聚焦于增強推理能力,并且也探索了在微調過程中的各種改進方法。特別是隨著 GPT-4 的發布,RAG 技術經歷了一次深刻的變革。研究重點開始轉移至一種新的融合 RAG 和微調策略的方法,并且持續關注對預訓練方法的優化。
圖 2 RAG 技術發展的科技樹
在 RAG 的技術發展過程中,我們從技術范式角度,將其總結成如下幾個階段:
樸素(Naive RAG)
前文案例中展示了經典的 RAG 流程,也被稱為 Naive RAG。主要包括包括三個基本步驟:
1. 索引 — 將文檔庫分割成較短的 Chunk,并通過編碼器構建向量索引。
2. 檢索 — 根據問題和 chunks 的相似度檢索相關文檔片段。
3. 生成 — 以檢索到的上下文為條件,生成問題的回答。
進階的 RAG(Advanced RAG)
Naive RAG 在檢索質量、響應生成質量以及增強過程中存在多個挑戰。Advanced RAG 范式隨后被提出,并在數據索引、檢索前和檢索后都進行了額外處理。通過更精細的數據清洗、設計文檔結構和添加元數據等方法提升文本的一致性、準確性和檢索效率。在檢索前階段則可以使用問題的重寫、路由和擴充等方式對齊問題和文檔塊之間的語義差異。在檢索后階段則可以通過將檢索出來的文檔庫進行重排序避免 “Lost in the Middle ” 現象的發生。或是通過上下文篩選與壓縮的方式縮短窗口長度。
模塊化 RAG(Modular RAG)
隨著 RAG 技術的進一步發展和演變,新的技術突破了傳統的 Naive RAG 檢索 — 生成框架,基于此我們提出模塊化 RAG 的概念。在結構上它更加自由的和靈活,引入了更多的具體功能模塊,例如查詢搜索引擎、融合多個回答。技術上將檢索與微調、強化學習等技術融合。流程上也對 RAG 模塊之間進行設計和編排,出現了多種的 RAG 模式。然而,模塊化 RAG 并不是突然出現的,三個范式之間是繼承與發展的關系。Advanced RAG 是 Modular RAG 的一種特例形式,而 Naive RAG 則是 Advanced RAG 的一種特例。
圖 3 RAG 范式對比圖
如何進行檢索增強?
RAG 系統中主要包含三個核心部分,分別是 “檢索”,“增強” 和 “生成”。正好也對應的 RAG 中的三個首字母。想要構建一個好的 RAG 系統,增強部分是核心,則需要考慮三個關鍵問題:檢索什么?什么時候檢索?怎么用檢索的內容?
檢索增強的階段:在預訓練、微調和推理三個階段中都可以進行檢索增強,這決定了外部知識參數化程度的高低,對應所需要的計算資源也不同。
檢索增強的數據源:增強可以采用多種形式的數據,包括非結構化的文本數據,如文本段落、短語或單個詞匯。此外,也可以利用結構化數據,比如帶有索引的文檔、三元組數據或子圖。另一種途徑是不依賴外部信息源,而是充分發揮 LLMs 的內在能力,從模型自身生成的內容中檢索。
檢索增強的過程:最初的檢索是一次性過程,在 RAG 發展過程中逐漸出現了迭代檢索、遞歸檢索以及交由 LLMs 自行判斷檢索時刻的自適應檢索方法。
圖 4 RAG 核心組件的分類體系
RAG 和微調應該如何選擇?
除了 RAG,LLMs 主要優化手段還包括了提示工程 (Prompt Engineering)、微調 (Fine-tuning,FT)。他們都有自己獨特的特點。根據對外部知識的依賴性和模型調整要求上的不同,各自有適合的場景。
RAG 就像給模型一本教科書,用于定制的信息檢索,非常適合特定的查詢。另一方面,FT 就像一個學生隨著時間的推移內化知識,更適合模仿特定的結構、風格或格式。FT 可以通過增強基礎模型知識、調整輸出和教授復雜指令來提高模型的性能和效率。然而,它不那么擅長整合新知識或快速迭代新的用例。RAG 和 FT,并不是相互排斥的,它們可以是互補的,聯合使用可能會產生最佳性能。
圖 5 RAG 與其他大模型微調技術對比
如何評價 RAG?
RAG 的評估方法多樣,主要包括三個質量評分:上下文相關性、答案忠實性和答案相關性。此外,評估還涉及四個關鍵能力:噪聲魯棒性、拒答能力、信息整合和反事實魯棒性。這些評估維度結合了傳統量化指標和針對 RAG 特性的專門評估標準,盡管這些標準尚未統一。
在評估框架方面,存在如 RGB 和 RECALL 這樣的基準測試,以及 RAGAS、ARES 和 TruLens 等自動化評估工具,它們有助于全面衡量 RAG 模型的表現。表中匯總了如何將傳統量化指標應用于 RAG 評估以及各種 RAG 評估框架的評估內容,包括評估的對象、維度和指標,為深入理解 RAG 模型的性能和潛在應用提供了寶貴信息。
未來 RAG 還有哪些發展前景?
RAG 的發展方興未艾,還有哪些問題值得進一步去研究?我們從三個方面進行展望:
1.RAG 的垂直優化
垂直優化旨在進一步解決 RAG 當前面臨的挑戰;
長下文長度。檢索內容過多,超過窗口限制怎么辦 ?如果 LLMs 的上下文窗口不再受限制,RAG 應該如何改進?
魯棒性。檢索到錯誤內容怎么處理?怎么對檢索出來內容進行過濾和驗證?怎么提高模型抗毒、抗噪聲的能力。
與微調協同。如何同時發揮 RAG 和 FT 的效果,兩者怎么協同,怎么組織,是串行、交替還是端到端?
Scaling-Law:RAG 模型是否滿足 Scaling Law?RAG 是否會,或是在什么場景下會出現 Inverse Scaling Law 的現象?
LLM 的角色。LLMs 可以用于檢索(用 LLMs 的生成代替檢索或檢索 LLMs 記憶)、用于生成、用于評估。如何進一步挖掘 LLMs 在 RAG 中的潛力?
工程實踐。如何降低超大規模語料的檢索時延?如何保證檢索出來內容不被大模型泄露?
2.RAG 的多模態的拓展
如何將 RAG 不斷發展的技術和思想拓展到圖片、音頻、視頻或代碼等其他模態的數據中?一方面可以增強單一模態的任務,另一方面可以通過 RAG 的思想將多模態進行融合。
3.RAG 的生態
RAG 的應用已經不僅僅局限于問答系統,其影響力正在擴展到更多領域。現在,推薦系統、信息抽取和報告生成等多種任務都開始受益于 RAG 技術的應用。與此同時,RAG 技術棧也在井噴。除了已知的 Langchain 和 LlamaIndex 等工具,市場上涌現出更多針對性的 RAG 工具,例如:用途定制化,滿足更加聚焦場景的需求;使用簡易化,進一步降低上手門檻的;功能專業化,逐漸面向生產環境。
圖 6 RAG 的生態系統概覽
-
人工智能
+關注
關注
1796文章
47666瀏覽量
240278 -
語言模型
+關注
關注
0文章
538瀏覽量
10341 -
大模型
+關注
關注
2文章
2545瀏覽量
3163
原文標題:專補大模型短板的RAG有哪些新進展?這篇綜述講明白了
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論