學(xué)習(xí)aspmvc網(wǎng)站開發(fā) 書推廣普通話手抄報(bào)內(nèi)容
原文:GitHub - Tongji-KGLLM/RAG-Survey
目錄
- RAG調(diào)查
- 什么是RAG?
- RAG的范式
- 幼稚的 RAG
- 高級(jí) RAG
- 模塊化 RAG
- 如何進(jìn)行增強(qiáng)?
- RAG 還是微調(diào)?
- 如何評(píng)估 RAG?
- 前景
- 嚴(yán)峻的挑戰(zhàn)
- 多式聯(lián)運(yùn)擴(kuò)展
- RAG的生態(tài)系統(tǒng)
- RAG論文清單
- 增強(qiáng)階段
- 預(yù)訓(xùn)練
- 微調(diào)
- 推理
- 增強(qiáng)源
- 非結(jié)構(gòu)化數(shù)據(jù)
- 結(jié)構(gòu)化數(shù)據(jù)
- LLM 生成的內(nèi)容
- 增強(qiáng)過程
- 一次檢索
- 迭代檢索
- 遞歸檢索
- 自適應(yīng)檢索
- 雜項(xiàng)
- 可視化
- 確認(rèn)
- 增強(qiáng)階段
什么是RAG?
大型語言模型 (LLM) 已成為我們生活和工作不可或缺的一部分,通過其驚人的多功能性和智能性改變了我們與信息交互的方式。
盡管它們的能力令人印象深刻,但它們并非沒有缺陷。這些模型會(huì)產(chǎn)生誤導(dǎo)性的“幻覺”,依賴可能過時(shí)的信息,在處理特定知識(shí)時(shí)效率低下,在專業(yè)領(lǐng)域缺乏深度,并且在推理能力方面不足。
在實(shí)際應(yīng)用中,數(shù)據(jù)需要不斷更新以反映最新發(fā)展,并且生成的內(nèi)容必須透明且可追溯,以管理成本并保護(hù)數(shù)據(jù)隱私。因此,僅僅依靠這些“黑匣子”模型是不夠的;我們需要更精細(xì)的解決方案來滿足這些復(fù)雜的需求。
在這種背景下,檢索增強(qiáng)生成(RAG)作為人工智能時(shí)代的開創(chuàng)性趨勢(shì)而聲名鵲起。
RAG在問答中的典型應(yīng)用。(例如,向 chatGPT 詢問 OpenAI 首席執(zhí)行官 SAM Altman 😆 被解雇和重新聘用一事)
RAG 在生成語言模型的答案之前,首先從外部文檔數(shù)據(jù)庫中檢索相關(guān)信息,從而顯著提高了內(nèi)容的精確度和相關(guān)性。
RAG的范式
Lewis 于 2020 年推出的 RAG 概念發(fā)展迅速,標(biāo)志著其研究之旅的不同階段。最初,該研究旨在通過在預(yù)訓(xùn)練階段為語言模型注入額外的知識(shí)來支持語言模型。ChatGPT 的推出引發(fā)了人們對(duì)利用大型模型進(jìn)行深入上下文理解的濃厚興趣,加速了 RAG?在推理階段的發(fā)展。隨著研究人員對(duì)大型語言模型 (LLM) 功能的深入研究,重點(diǎn)轉(zhuǎn)向增強(qiáng)其可控性和推理能力,以跟上不斷增長(zhǎng)的需求。GPT-4 的出現(xiàn)標(biāo)志著一個(gè)重要的里程碑,它以一種新穎的方法徹底改變了 RAG,該方法將其與微調(diào)技術(shù)相結(jié)合,同時(shí)繼續(xù)完善預(yù)訓(xùn)練策略。
RAG研究的時(shí)間線樹
在RAG的技術(shù)發(fā)展中,我們從技術(shù)范式的角度將其演進(jìn)歸納為以下幾個(gè)階段:
幼稚的 RAG
經(jīng)典的 RAG 過程(也稱為 Naive RAG)在前面的示例中進(jìn)行了演示。它主要包括三個(gè)基本步驟:
- 索引?- 將文檔語料庫拆分為較短的塊,并通過編碼器構(gòu)建矢量索引。
- 檢索?- 根據(jù)問題和塊之間的相似性檢索相關(guān)文檔片段。
- 生成?- 根據(jù)檢索到的上下文生成問題的答案。
高級(jí) RAG
樸素RAG在檢索、生成和增強(qiáng)方面面臨多重挑戰(zhàn)。隨后提出了高級(jí) RAG 范式,并涉及檢索前和檢索后的額外處理。在檢索之前,可以使用查詢重寫、路由和擴(kuò)展等方法來對(duì)齊問題和文檔塊之間的語義差異。檢索后,對(duì)檢索到的文檔語料進(jìn)行重新排序可以避免“中途丟失”現(xiàn)象,也可以對(duì)上下文進(jìn)行過濾和壓縮,以縮短窗口長(zhǎng)度。
模塊化 RAG
隨著RAG技術(shù)的進(jìn)一步發(fā)展和演進(jìn),突破了傳統(tǒng)的樸素RAG檢索生成框架,產(chǎn)生了模塊化RAG的概念。在結(jié)構(gòu)上,它更加自由和靈活,引入了更具體的功能模塊,如查詢搜索引擎和多個(gè)答案的融合。在技術(shù)上,它將檢索與微調(diào)、強(qiáng)化學(xué)習(xí)和其他技術(shù)集成在一起。在流程方面,RAG 模塊經(jīng)過設(shè)計(jì)和編排,產(chǎn)生了各種 RAG 模式。
然而,模塊化RAG并不是突然出現(xiàn)的。這三種范式之間存在著繼承與發(fā)展的關(guān)系。Advanced RAG 是 Modular RAG 的特例,而 Naive RAG 是 Advanced RAG 的特例。
三種 RAG 范式之間的比較。
如何進(jìn)行增強(qiáng)?
為了構(gòu)建一個(gè)好的RAG系統(tǒng),其中增強(qiáng)部分是關(guān)鍵,需要考慮三個(gè)關(guān)鍵問題:
- 檢索什么?
- 何時(shí)取回?
- 如何使用檢索到的內(nèi)容?
從以上三個(gè)問題出發(fā),我們組織增強(qiáng)如下:
-
增強(qiáng)階段。檢索增強(qiáng)可以在預(yù)訓(xùn)練、微調(diào)和推理階段進(jìn)行,這決定了外部知識(shí)的參數(shù)化程度,并對(duì)應(yīng)所需的不同計(jì)算資源。
-
增強(qiáng)源。增強(qiáng)可以利用各種形式的數(shù)據(jù),包括非結(jié)構(gòu)化數(shù)據(jù),例如文本段落、短語或單個(gè)單詞。也可以使用結(jié)構(gòu)數(shù)據(jù),例如索引文檔、三元組數(shù)據(jù)或子圖。另一種方法是不依賴外部信息源,而是充分利用LLM的內(nèi)在功能,從LLM本身生成的內(nèi)容中檢索。
-
增強(qiáng)過程。最初的檢索是一個(gè)一次性的過程,但在RAG的發(fā)展中逐漸出現(xiàn)了迭代檢索、遞歸檢索和自適應(yīng)檢索方法,其中LLM自行決定檢索的時(shí)間。
-
-
具有不同增強(qiáng)方面的技術(shù)樹。
RAG核心組件的分類
RAG 還是微調(diào)?
除了 RAG,LLM 的主要優(yōu)化策略還包括 Prompt Engineering 和 Fine-tuning (FT)。每個(gè)都有自己獨(dú)特的功能。根據(jù)他們對(duì)外部知識(shí)的依賴和模型調(diào)整的要求,他們每個(gè)人都有合適的場(chǎng)景。
RAG就像是給模型一本自定義信息檢索的教科書,非常適合特定的查詢。另一方面,FT 就像學(xué)生隨著時(shí)間的推移內(nèi)化知識(shí),更適合模仿特定的結(jié)構(gòu)、風(fēng)格或格式。FT 可以通過增強(qiáng)基礎(chǔ)模型的知識(shí)、調(diào)整輸出和教授復(fù)雜的指令來提高模型的性能和效率。但是,它不擅長(zhǎng)集成新知識(shí)或快速迭代新用例。RAG 和 FT 并不相互排斥;它們是互補(bǔ)的,一起使用可能會(huì)產(chǎn)生最佳結(jié)果。
RAG 與微調(diào)象限圖
如何評(píng)估 RAG?
RAG的評(píng)價(jià)方法多種多樣,主要包括三種質(zhì)量評(píng)分:語境相關(guān)性、答案保真度和答案相關(guān)性。此外,評(píng)估還涉及四個(gè)關(guān)鍵能力:噪聲魯棒性、拒絕能力、信息集成和反事實(shí)魯棒性。這些評(píng)估維度將傳統(tǒng)的定量指標(biāo)與RAG特征的專業(yè)評(píng)估標(biāo)準(zhǔn)相結(jié)合,盡管這些標(biāo)準(zhǔn)尚未標(biāo)準(zhǔn)化。
在評(píng)估框架方面,有RGB、RECALL等基準(zhǔn)測(cè)試,也有RAGAS、ARES、TruLens等自動(dòng)化評(píng)估工具,有助于全面衡量RAG模型的性能。
前景
RAG的發(fā)展正在蓬勃發(fā)展,有幾個(gè)問題值得進(jìn)一步研究。我們可以從三個(gè)方面來期待這些:
嚴(yán)峻的挑戰(zhàn)
旨在進(jìn)一步解決RAG當(dāng)前面臨的挑戰(zhàn);
- 上下文長(zhǎng)度。當(dāng)檢索到的內(nèi)容過多且超出窗口限制時(shí)該怎么辦?如果 LLM 的上下文窗口不再受限,那么應(yīng)該如何改進(jìn) RAG?
- 穩(wěn)健性。如何處理檢索到的錯(cuò)誤內(nèi)容?如何過濾和驗(yàn)證檢索到的內(nèi)容?如何增強(qiáng)模型的抗中毒和抗噪能力?
- 與微調(diào)的協(xié)調(diào)。如何同時(shí)利用 RAG 和 FT 的效果,它們應(yīng)該如何協(xié)調(diào)、組織,無論是串聯(lián)、交替還是端到端?
- 標(biāo)度定律:RAG 模型是否滿足標(biāo)度定律?RAG是否會(huì)在什么情況下遇到逆標(biāo)度定律現(xiàn)象?
- LLM的作用。LLM 可用于檢索(用 LLM 的生成代替搜索或搜索 LLM 的內(nèi)存)、生成、評(píng)估。如何進(jìn)一步挖掘LLM在RAG中的潛力?
- 生產(chǎn)就緒。如何降低超大規(guī)模語料庫的檢索延遲?如何確保檢索到的內(nèi)容不會(huì)被 LLM 泄露
多式聯(lián)運(yùn)擴(kuò)展
如何將 RAG 不斷發(fā)展的技術(shù)和概念擴(kuò)展到其他數(shù)據(jù)模式,例如圖像、音頻、視頻或代碼?一方面,這可以增強(qiáng)單一模態(tài)內(nèi)的任務(wù),另一方面,它可以通過RAG的思想融合多模態(tài)。
RAG的生態(tài)系統(tǒng)
RAG的應(yīng)用不再局限于問答系統(tǒng);它的影響力正在擴(kuò)展到更多領(lǐng)域?,F(xiàn)在,各種任務(wù),如研究系統(tǒng)、信息提取和報(bào)告生成,都開始受益于RAG技術(shù)的應(yīng)用。
與此同時(shí),RAG技術(shù)棧正在經(jīng)歷蓬勃發(fā)展。除了?Langchain?和?LlamaIndex?等知名工具外,市場(chǎng)上還出現(xiàn)了更有針對(duì)性的 RAG 工具,例如:針對(duì)特定用例定制以滿足更集中的場(chǎng)景需求的 RAG 工具;那些簡(jiǎn)化用于進(jìn)一步降低進(jìn)入門檻的措施;以及那些專門從事功能的,逐漸瞄準(zhǔn)生產(chǎn)環(huán)境。
RAG論文清單
增強(qiáng)階段
預(yù)訓(xùn)練
1.通過從數(shù)萬億個(gè)令牌中檢索來改進(jìn)語言模型 [論文][代碼]
2.基于檢索增強(qiáng)語言模型的少樣本學(xué)習(xí)?[論文]
3.Toolformer:語言模型可以自學(xué)使用工具[論文]
4.復(fù)印就是你所需要的[紙張]
5.基于檢索增強(qiáng)編碼器-解碼器語言模型的上下文學(xué)習(xí)[論文]
6.我們是否應(yīng)該用檢索來預(yù)訓(xùn)練自回歸語言模型?[論文]
7.Demonstrate-Search-Predict: Composing retrieval and language models for knowledge-intensive NLP[論文]
微調(diào)
1.面向開放領(lǐng)域問答的密集段落檢索[論文]
2.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot Evaluation[論文][代碼]
3.從讀者到檢索者進(jìn)行知識(shí)的提煉,用于問答[論文]
4.RA-DIT: Retrieval-Augmented Dual Instruction Tuning[論文]
5.Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection[論文]
6.基于知識(shí)的對(duì)話生成知識(shí)圖譜增強(qiáng)語言模型[論文]
7.結(jié)構(gòu)感知語言模型預(yù)訓(xùn)練改進(jìn)結(jié)構(gòu)化數(shù)據(jù)的密集檢索?[論文]?[代碼]
8.Replug: Retrieval-augmented black-box language models?[論文]
9.增強(qiáng)適應(yīng)的獵犬提高了語言的泛化能力 模型作為通用插件 [論文][代碼]
推理
1.通過記憶進(jìn)行泛化:最近鄰語言模型[論文]
2.演示-搜索-預(yù)測(cè): 為知識(shí)密集型 NLP 編寫檢索和語言模型 [論文][代碼]
3.關(guān)鍵字增強(qiáng)檢索:與語音界面集成的信息檢索新框架。[論文]
4.將檢索與思維鏈推理交織在一起,用于知識(shí)密集型多步驟問題。[紙張][代碼]
5.生成而不是檢索:大型語言模型是強(qiáng)大的上下文生成器?[論文]?[代碼]
6.In-Context Retrieval-Augmented Language Models?[論文]
增強(qiáng)源
非結(jié)構(gòu)化數(shù)據(jù)
1.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot Evaluation[論文][代碼]
2.從分類到生成:跨語言檢索增強(qiáng)ICL的見解[論文]
3.復(fù)印就是你所需要的[紙張]
結(jié)構(gòu)化數(shù)據(jù)
1.FABULA:使用檢索增強(qiáng)敘事結(jié)構(gòu)生成情報(bào)報(bào)告[論文]
2.基于知識(shí)的對(duì)話生成知識(shí)圖譜增強(qiáng)語言模型[論文]
3.KnowledGPT: Enhancing Large Language Models with Retrieval and Storage Access on Knowledge Bases?[論文]
4.Graph-ToolFormer:通過ChatGPT的提示增強(qiáng)賦予LLMs圖推理能力[論文]
LLM 生成的內(nèi)容
1.Lift Yourself Up: Retrieval-Augmented Text Generation with Self-Memory?[論文]
2.演示-搜索-預(yù)測(cè): 為知識(shí)密集型 NLP 編寫檢索和語言模型?[論文]
3.背誦增強(qiáng)語言模型[論文]
4.生成而不是檢索:大型語言模型是強(qiáng)大的上下文生成器?[論文]
5.大型語言模型的自知引導(dǎo)檢索增強(qiáng)?[論文]
增強(qiáng)過程
一次檢索
1.知識(shí)密集型NLP任務(wù)的檢索增強(qiáng)生成[論文]
2.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot Evaluation?[論文]
3.基于參數(shù)化知識(shí)指導(dǎo)的增強(qiáng)大型語言模型?[論文]
4.學(xué)習(xí)檢索大型語言模型的上下文示例。[論文]
5.Few-shot Learning with Re-trieval Augmented Language Models [論文] 6.Replug: Retrieval-augmented black-box language models?[論文]
7.背誦增強(qiáng)語言模型[論文]
迭代檢索
1.演示-搜索-預(yù)測(cè): 為知識(shí)密集型 NLP 編寫檢索和語言模型 [論文][代碼]
2.Retrieve-and-Sample: Document-level Event Argument Extraction via Hybrid Retrieval Augmentation?[論文]
3.Enhancing Retrieval-Augmented Large Language Models with Iterative Retrieval-Generation Synergy[論文]
4.檢索生成協(xié)同增強(qiáng)大型語言模型[論文]
遞歸檢索
1.Interleaving Retrieval with Chain-of-Reasoning for Knowledge-Intensive Multi-Step Questions [論文][代碼]
2.Tree of Clarifications: Answering Ambiguous Questions with Retrieval-Augmented Large Language Models?[論文]
自適應(yīng)檢索
1.主動(dòng)檢索增強(qiáng)生成[論文][代碼]
2.Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection?[論文]
3.基于檢索增強(qiáng)編碼器-解碼器語言模型的上下文學(xué)習(xí)[論文]