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