系列文章:
【RAG綜述系列】之 RAG 相關背景和基本原理
【RAG綜述系列】之 RAG 特點與挑戰以及方法與評估
【RAG綜述系列】之 RAG 先進方法與綜合評估
【RAG綜述系列】之 RAG 應用和未來方向
正文:
檢索增強生成(Retrieval-Augmented Generation, RAG) 近年來因其能夠結合大規模檢索系統與生成模型,提高自然語言理解和生成能力而受到了廣泛關注。RAG 充分利用外部知識源(如文檔、數據庫或結構化數據)來增強模型性能,使其生成更準確且上下文相關的輸出。
本綜述旨在提供對 RAG 的全面概述,深入分析其基本組件,包括檢索機制、生成過程及二者的融合方式。討論了 RAG 的關鍵特性,例如利用動態外部知識增強生成模型的能力,以及如何對齊檢索到的信息與生成目標所面臨的挑戰。此外,提出了一種RAG 方法的分類體系,涵蓋從基礎的檢索增強方法到結合多模態數據和推理能力的高級模型。
此外,還回顧了評估 RAG 系統的基準測試和常用數據集,并深入探討了其在問答(QA)、摘要(Summarization)和信息檢索(IR)等領域的應用。最后,總結了 RAG 領域的前沿研究方向和改進機會,包括提升檢索效率、增強模型可解釋性和優化特定領域的適應性。最終展望了 RAG 在應對真實世界挑戰中的潛力,以及它在推動自然語言處理(NLP)進一步發展方面的重要作用。
1. 引言
檢索增強生成(RAG)已成為一種關鍵方法,它將信息檢索與生成式模型相結合,以增強自然語言處理任務的能力。通過利用外部知識源,RAG 系統能夠生成更準確且上下文相關的輸出,從而解決諸如問答、摘要和開放領域對話等領域的復雜挑戰。近年來,各種 RAG 方法相繼被提出,這些方法涵蓋了從基本的檢索增強模型到更高級的架構,包括多跳推理 和 增強記憶技術。這些發展突顯了 RAG 在 NLP 領域的潛力,它能夠在一個統一的框架內動態地結合檢索和生成,以提升系統的整體表現。
RAG 模型通過在生成過程中引入外部知識源(如文檔、數據庫或結構化數據)來增強傳統的語言模型。與僅依賴預訓練參數的傳統模型不同,RAG 系統在生成時動態檢索相關信息,從而生成更加信息豐富且上下文準確的內容。這種方法克服了傳統語言模型的關鍵局限性,例如:
- 無法訪問實時知識或特定領域知識,以及難以處理超出詞匯表(OOV)或罕見實體。
- 在問答任務中,RAG 模型會從海量語料庫中檢索相關段落,以生成更精準且信息更豐富的答案;
- 在文本摘要任務中,RAG 依賴外部文檔生成更具深度和完整性的摘要。
RAG 在早期的成功實踐已經顯著提升了多個 NLP 任務的效果,例如在開放域問答中,RAG 通過引入相關的外部上下文,超越了傳統的生成模型;在基于文檔的摘要任務中,它能夠生成更貼合原始材料細微差別的摘要。
RAG 的核心是一種以知識為中心的生成方式,即將外部知識作為提升語言生成能力的關鍵因素。通過結合相關、實時且結構化的信息,RAG 模型能夠顯著提高其生成上下文精準且事實準確的能力。這種知識驅動的生成方式有效解決了傳統語言模型的核心局限——傳統模型受限于其訓練數據,無法獲取動態知識或特定領域知識。RAG 通過集成外部知識,不僅能夠檢索并融合相關信息,還能在多條信息之間進行推理,從而生成更具細節和深度的輸出。這一向知識增強方向的轉變使得模型能夠處理更復雜的任務,例如:掌握專業領域知識,提高對話系統的回復相關性,以及生成高質量的摘要,使其更能體現原始文本的核心要點。通過將知識融入生成過程,RAG 為那些需要高精度和強上下文感知能力的應用打開了新的可能性。
盡管檢索增強生成已經取得了令人矚目的進展,但仍然存在多個挑戰,阻礙了該方法的充分發揮。
- 知識選擇(knowledge selection)是主要問題之一,即模型必須從海量的外部資源中有效篩選出最相關的信息。這一任務極具挑戰性,主要因為現實世界的知識庫規模龐大、信息噪聲大且內容多樣。
- 另一個關鍵挑戰是知識檢索(knowledge retrieval),即在生成時檢索到正確的信息,同時在檢索效率和相關性之間取得平衡。當前的檢索技術仍然難以精準匹配查詢與知識源,尤其是在高度專業化或存在歧義的場景下。
- 此外,知識增強的上下文推理(knowledge-enhanced in-context reasoning) 也是一個重要難題,模型不僅要檢索到相關知識,還需要有效整合并推理,以確保生成內容的邏輯性和上下文適配性。
這些挑戰凸顯了 RAG 領域仍然需要更深入的研究,以及更優化的方法論。因此,對 RAG 進行全面的調研至關重要,這不僅有助于總結當前的局限性,也能為未來的發展方向提供指導。
本次調研的主要目標是從知識驅動的視角,全面梳理 RAG 的發展。通過聚焦外部知識與生成過程的融合,希望回顧RAG 領域的最新進展,包括模型、方法和技術。將介紹近年來涌現的關鍵 RAG 模型,以及用于檢索和生成的核心方法,并分析這些方法如何解決知識選擇、知識檢索和上下文推理的挑戰。此外,還希望挖掘當前研究的趨勢,并識別尚未深入探索的領域,例如:多模態知識整合和 特定領域應用。調研的獨特貢獻在于其以知識為核心的視角,提供了一個統一的框架來理解和推進 RAG 研究。本調研的目標讀者包括研究人員、工程師和行業從業者,他們希望探索 RAG 在各種 NLP 任務中的應用。隨著該領域的快速演進,本調研不僅是一個基礎資源,也將成為未來研究的指南,提供對當前挑戰和創新機會的深入分析。
2. RAG 背景概述
本節旨在為理解 RAG(檢索增強生成,Retrieval-Augmented Generation)提供必要的背景知識。我們首先回溯 RAG 的起源,梳理其從正式提出到逐步發展的演變歷程。隨后,我們對現有的相關綜述進行分析,歸納它們的研究重點與局限性,以此明確本綜述在當前研究格局中的定位與貢獻。
2.1 RAG 的起源
隨著語言模型的不斷演進,研究人員開始探索如何通過引入檢索機制來提升文本生成的質量。然而,在早期階段,這一方法尚未形成明確的術語定義。直到 2020 年,Facebook 正式提出 RAG 概念,并成功將其應用于知識密集型任務。RAG 通過引入外部知識檢索機制,顯著增強了生成模型的能力,在問答和文本理解等任務中展現出卓越的性能。同一時期,Google 也推出了 REALM,采用類似的檢索增強方法。REALM 在預訓練階段集成了隱式知識檢索模塊,在開放域問答任務上取得了顯著進展,并在當時達到了最先進水平。
自此,RAG 逐漸受到學術界的廣泛關注,并因其相較于傳統生成模型的獨特優勢,成為研究熱點。RAG 的核心機制在于結合檢索與生成,使得模型能夠在處理復雜推理任務時,動態訪問外部知識庫中的相關信息,從而提升生成內容的準確性與信息豐富度。這一范式的轉變,標志著自然語言處理(NLP)領域的一次重要革新——模型不再僅僅依賴內部參數,而是能夠高效利用海量的外部知識資源。如圖 1 所示,自 2020 年起,研究人員陸續探索了 RAG 在不同方向上的應用,而 2022 年底 ChatGPT 的發布,更是引發了該領域的指數級增長。大量研究紛紛涌現,致力于通過檢索增強策略進一步提升大型語言模型的能力。這些持續的研究進展,正在深刻塑造現代 NLP 的技術格局。
圖1:一個用于組織 RAG 研究工作的框架。時間軸從 2020 年至今,將與 RAG 相關的研究分為三個主要領域:基礎(包括 RAG 學習和 RAG 框架)、高級和評估。語言模型的關鍵里程碑(如 GPT-3、ChatGPT、GPT-4)也在時間軸上標注。
2.2 相關綜述
伴隨著生成式 AI,尤其是 RAG 技術的蓬勃發展,眾多綜述文章相繼問世。然而,這些綜述往往僅聚焦于 RAG 的特定方面。例如,它們要么專注于 RAG 的基礎概念,要么僅在有限場景下概述 RAG 的增強方法。大多數現有研究都圍繞文本生成任務,探討如何利用大型語言模型進行檢索增強,而對其他模態的 RAG 研究涉及較少。
《A Survey on Retrieval-Augmented Text Generation》這篇論文的綜述提供了 RAG 的基本概覽,并探討了其在文本生成任務中的具體應用。《A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models》、《Retrieval-Augmented Generation for Large Language Models: A Survey》和《Less is More: Making Smaller Language Models Competent Subgraph Retrievers for Multi-hop KGQA》 幾篇論文則從大型語言模型的角度研究了 RAG,重點分析了面向查詢的 RAG 增強方法。《Retrieval-Augmented Generation for Natural Language Processing: A Survey》深入剖析了 RAG 在檢索技術中的關鍵發展,并介紹了其在自然語言處理任務中的廣泛應用。此外,一些研究嘗試從更廣義的角度探討 RAG。《Retrieving Multimodal Information for Augmented Generation: A Survey》和《Retrieval-Augmented Generation for AI-Generated Content: A Survey》的最新研究將 RAG 擴展至多模態場景,探索其在 AI 生成內容(AIGC)領域的技術和應用。《Graph Retrieval-Augmented Generation: A Survey》 的研究則利用圖結構信息優化 RAG 的檢索過程,以增強關系知識的獲取能力,并提升模型生成上下文感知的內容。
除了對 RAG 技術本身的研究,近年來學界也日益關注 RAG 系統的評估問題。《Evaluation of Retrieval-Augmented Generation: A Survey》 的綜述文章深入探討了 RAG 評估的挑戰,提出了一套綜合性的評估框架,并系統分析了現有基準測試的優勢與局限性。
盡管已有諸多綜述覆蓋了 RAG 的多個方面,但目前仍然缺乏一篇全面的綜述,能夠系統性地整合 RAG 的基礎理論、增強方法及其跨領域應用。此外,現有綜述普遍忽視了 RAG 的核心價值——知識的有效利用。為填補這一空白,本文從知識利用的視角出發,系統性地梳理和探討 RAG 技術的發展現狀與未來趨勢。
3. RAG 基本原理
檢索增強生成(Retrieval-Augmented Generation,RAG)作為一種強大的范式,結合了大型語言模型(LLMs)的內部知識與外部知識,以提升文本生成的質量。通過在生成流程中集成檢索機制,RAG 解決了傳統序列到序列(sequence-to-sequence)框架的局限性,尤其在需要豐富領域知識的任務場景中表現突出。本節將對 RAG 進行全面概述,并探討其核心組成部分:從外部知識源進行檢索、結合內部與外部知識進行生成,以及貫穿其中的關鍵知識融合過程。
圖2:RAG 框架,該框架由三個主要組成部分構成:(1) 由 LLM 利用其內部知識處理查詢;(2) 根據查詢檢索外部知識;(3) 通過知識融合,將內部知識與外部知識結合,以生成最終答案。
3.1 問題定義
大多數生成任務可以抽象為一個輸入序列?x?到輸出序列?y?的轉換過程,即:
y=f(x)
然而,這一基本框架可能因信息不足或上下文需求復雜而受到限制。RAG 通過引入檢索組件來彌補這一不足,使輸入信息能夠得到相關外部知識的補充。具體而言,檢索函數?g?從外部知識庫中提取相關信息?z?作為補充:
z=g(x)
隨后,生成函數?f?結合原始輸入序列?x?與檢索到的上下文信息?z?以生成最終輸出:
y=f(x,z)=f(x,g(x))
這一增強框架利用外部知識提升生成質量,尤其適用于需要復雜上下文理解的任務,如機器翻譯和視覺問答(VQA)。
3.2 檢索(Retrieval)
在大型語言模型(LLMs)背景下,RAG 的檢索過程旨在從外部來源提供有用的知識。這些知識可能涵蓋多種模態,包括文本、圖像、視頻、音頻、代碼、表格等。相應地,存儲格式也多種多樣,從簡單的文本文件到復雜的數據庫和搜索引擎不等。此外,知識結構具有異構性,可能以非結構化的純文本、半結構化的 HTML 數據或結構化的圖數據等形式存在。無論知識的模態、存儲格式或結構如何,所有從外部知識庫中獲取相關信息的過程都可視為檢索。
3.3 生成(Generation)
在生成過程中,生成模型結合內部和外部知識,將輸入轉換為連貫且相關的輸出。無論數據格式或具體任務如何,生成階段的核心在于 “去噪(Denoising)” 和 “推理(Reasoning)” 。
- 去噪(Denoising) 側重于從檢索到的知識中篩除無關或相互矛盾的信息,確保僅有可靠且相關的知識影響生成過程。
- 推理(Reasoning) 則使模型能夠有效整合來自多個來源的信息,建立邏輯聯系,并生成有據可依的輸出。
通過對檢索信息的有效 去噪,以及對多個知識來源的深入 推理,生成模型能夠在處理復雜任務的同時,保持輸出的準確性與連貫性。
3.4 知識融合(Knowledge Integration)
知識融合(Knowledge Integration),在 RAG 語境下通常稱為增強(Augmentation),是將 LLMs 的內部知識與檢索到的外部知識進行整合的關鍵過程。這種?神經-符號融合(Neural-Symbolic Integration) 主要可以通過以下三種方式實現:
- 輸入層融合(Input-Layer Integration):將檢索到的文檔直接與原始查詢拼接,然后輸入模型,使查詢與外部知識能夠同時被處理。
- 輸出層融合(Output-Layer Integration):在輸出 logits 層結合檢索到的知識,以調整模型的最終預測結果,特別適用于提高輸出準確性的任務。
- 中間層融合(Intermediate-Layer Integration):在生成過程中,將外部知識整合到模型的隱藏狀態中,從而實現內部知識與外部知識表示之間的更細粒度交互。
每種融合策略各具優勢,可根據具體任務需求和計算資源限制進行選擇。
總結
目前文章中回顧了 RAG 的基礎概念,并分析當前模型所面臨的關鍵挑戰,為理解外部知識與語言生成的融合奠定基礎。同時,深入探討 RAG 的核心原理,詳細介紹知識檢索、整合和生成的流程。后續會進一步探討前文提到的知識選擇、檢索效率及上下文推理等挑戰,并分析其復雜性。還有介紹 RAG 的各種方法,包括傳統的基于檢索的模型,以及更高級的多模態方法,這些方法引入了更強的推理能力和記憶機制。并分析評估 RAG 系統的標準和數據集,并批判性地回顧現有的評測方法與指標。
本文原文為論文《A Survey on Knowledge-Oriented Retrieval-Augmented Generation》的解讀。論文鏈接:A Survey on Knowledge-Oriented Retrieval-Augmented Generation