【帶你全面了解 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

1、RAG 是什么?

▲ 圖1. RAG 技術在 QA 問題中的案例

一個典型的 RAG 案例如圖所示。如果我們向 ChatGPT 詢問 OpenAI CEO Sam Atlman 在短短幾天內突然解雇隨后又被復職的事情。由于受到預訓練數據的限制,缺乏對最近事件的知識,ChatGPT 則表示無法回答。RAG 則通過從外部知識庫檢索最新的文檔摘錄來解決這一差距。

在這個例子中,它獲取了一系列與詢問相關的新聞文章。這些文章,連同最初的問題,隨后被合并成一個豐富的提示,使 ChatGPT 能夠綜合出一個有根據的回應。
在這里插入圖片描述

2、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 范式對比圖

3、如何進行檢索增強?

RAG 系統中主要包含三個核心部分,分別是 “檢索”,“增強” 和 “生成”。正好也對應的 RAG 中的三個首字母。想要構建一個好的 RAG 系統,增強部分是核心,則需要考慮三個關鍵問題:檢索什么?什么時候檢索?怎么用檢索的內容?

檢索增強的階段:在預訓練、微調和推理三個階段中都可以進行檢索增強,這決定了外部知識參數化程度的高低,對應所需要的計算資源也不同。

檢索增強的數據源:增強可以采用多種形式的數據,包括非結構化的文本數據,如文本段落、短語或單個詞匯。此外,也可以利用結構化數據,比如帶有索引的文檔、三元組數據或子圖。另一種途徑是不依賴外部信息源,而是充分發揮 LLMs 的內在能力,從模型自身生成的內容中檢索。

檢索增強的過程:最初的檢索是一次性過程,在 RAG 發展過程中逐漸出現了迭代檢索、遞歸檢索以及交由 LLMs 自行判斷檢索時刻的自適應檢索方法。

▲ 圖4. RAG 核心組件的分類體系

4、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 模型的性能和潛在應用提供了寶貴信息。

那么,如何系統的去學習大模型LLM?

我在一線互聯網企業工作十余年里,指導過不少同行后輩。幫助很多人得到了學習和成長。

作為一名熱心腸的互聯網老兵,我意識到有很多經驗和知識值得分享給大家,也可以通過我們的能力和經驗解答大家在人工智能學習中的很多困惑,所以在工作繁忙的情況下還是堅持各種整理和分享。

但苦于知識傳播途徑有限,很多互聯網行業朋友無法獲得正確的資料得到學習提升,故此將并將重要的AI大模型資料包括AI大模型入門學習思維導圖、精品AI大模型學習書籍手冊、視頻教程、實戰學習等錄播視頻免費分享出來。

所有資料 ?? ,朋友們如果有需要全套 《LLM大模型入門+進階學習資源包》,掃碼獲取~ , 【保證100%免費

在這里插入圖片描述

篇幅有限,部分資料如下:
👉LLM大模型學習指南+路線匯總👈

💥大模型入門要點,掃盲必看!
在這里插入圖片描述
💥既然要系統的學習大模型,那么學習路線是必不可少的,這份路線能幫助你快速梳理知識,形成自己的體系。
在這里插入圖片描述

👉大模型入門實戰訓練👈

💥光學理論是沒用的,要學會跟著一起做,要動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰案例來學習。
在這里插入圖片描述

👉國內企業大模型落地應用案例👈

💥《中國大模型落地應用案例集》 收錄了52個優秀的大模型落地應用案例,這些案例覆蓋了金融、醫療、教育、交通、制造等眾多領域,無論是對于大模型技術的研究者,還是對于希望了解大模型技術在實際業務中如何應用的業內人士,都具有很高的參考價值。 (文末領取)

在這里插入圖片描述
💥《2024大模型行業應用十大典范案例集》 匯集了文化、醫藥、IT、鋼鐵、航空、企業服務等行業在大模型應用領域的典范案例。

在這里插入圖片描述

👉LLM大模型學習視頻👈

💥觀看零基礎學習書籍和視頻,看書籍和視頻學習是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎到深入,還是很容易入門的。 (文末領取)

在這里插入圖片描述

👉640份大模型行業報告👈

💥包含640份報告的合集,涵蓋了AI大模型的理論研究、技術實現、行業應用等多個方面。無論您是科研人員、工程師,還是對AI大模型感興趣的愛好者,這套報告合集都將為您提供寶貴的信息和啟示。
在這里插入圖片描述

👉獲取方式:
這份完整版的大模型 LLM 學習資料已經上傳CSDN,朋友們如果需要可以微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費

😝有需要的小伙伴,可以Vx掃描下方二維碼免費領取🆓

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41135.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HY lisp quote unquote等學習

? 宏相關語法糖 This is all resolved at the reader level, so the model that gets produced is the same whether you take your code with sugar or without. Macro Syntax quote FORM quasiquote FORM unquote ~FORM unquote-splice ~FORM unpack-iterable …

昇思25天學習打卡營第16天 | DCGAN生成漫畫頭像

這兩天把minspore配置到我的電腦上了,然后運行就沒什么問題了?😊 今天學這個DCGAN生成漫畫頭像,我超級感興趣的嘞🦄🥰 GAN基礎原理 這部分原理介紹參考GAN圖像生成。 DCGAN原理 DCGAN(深度卷積對抗生成…

Python中的lambda函數是什么以及它有哪些用途和限制

Python中的lambda函數 定義 Python中的lambda函數是一種簡潔定義小函數的方式,也被稱為匿名函數。它允許用戶快速定義一個小的、一次性的函數對象,而無需正式地命名一個函數。lambda函數的基本語法為:lambda arguments: expression&#xf…

港三新二是那幾所大學?有哪些知名校友?中英雙語介紹

中文版 港三新二指的是香港和新加坡的五所著名大學,分別是香港大學(HKU)、香港中文大學(CUHK)、香港科技大學(HKUST)、新加坡國立大學(NUS)和南洋理工大學(N…

秒驗—手機號碼置換接口

功能說明 提交客戶端獲取到的token、opToken等數據,驗證后返回手機號碼 服務端務必不要緩存DNS,否則可能影響服務高可用性 調用地址 POST https://identify-verify.dutils.com/auth/auth/sdkClientFreeLogin 請求頭 Content-Type :appli…

圖書商城系統java項目ssm項目jsp項目java課程設計java畢業設計

文章目錄 圖書商城系統一、項目演示二、項目介紹三、部分功能截圖四、部分代碼展示五、底部獲取項目源碼(9.9¥帶走) 圖書商城系統 一、項目演示 圖書商城系統 二、項目介紹 語言: Java 數據庫:MySQL 技術棧:SpringS…

SaaS行業的AI化征程:穿越“大模型焦慮”,擁抱“AI自信”

隨著大模型技術的風起云涌,SaaS行業正站在一個充滿機遇與挑戰的十字路口。本文旨在深入剖析SaaS廠商在AI化升級過程中所遭遇的“大模型焦慮”,并探索通過戰略性的AI應用策略,如何重拾信心,實現產品與服務的華麗轉身,為…

關于虛擬機上不了網的解決辦法

先ping出ip地址 或者查詢ifconfig得到目前網絡信息 繼續輸入命令Ifconfig -a查詢是否能找到ip地址 明顯ens33是沒有打開的,所以找不到分配的ip地址,需要打開,自動隨機分配ip 輸入命令: sudo dhclient ens33 現在就可以開始上網…

公司“領導”們竟如此討論工作!小伙:此事有蹊蹺;|國家漏洞庫CNNVD:關于OpenSSH安全漏洞的通報;

公司“領導”們竟如此討論工作!小伙:此事有蹊蹺 “當時我正在等驗證碼 還好你們快了一步 不然公司的93萬余元就沒了” 一談到這件事 杜先生仍然心有余悸 近日 正在處理公司財務工作的杜先生 突然被拉進了一個QQ群聊 從頭像、昵稱上看 群聊里的竟…

累積分布函數的一些性質證明

性質1: E [ X ] ∫ 0 ∞ ( 1 ? F ( x ) ) d x ? ∫ ? ∞ 0 F ( x ) d x ( 1 ) E[X]\int_0^{\infty}(1-F(x))dx - \int_{-\infty}^0F(x)dx\quad (1) E[X]∫0∞?(1?F(x))dx?∫?∞0?F(x)dx(1) 證明: E [ X ] ∫ ? ∞ ∞ x p ( x ) d x E[X] …

SpringBoot | 大新聞項目后端(redis優化登錄)

該項目的前篇內容的使用jwt令牌實現登錄認證,使用Md5加密實現注冊,在上一篇:http://t.csdnimg.cn/vn3rB 該篇主要內容:redis優化登錄和ThreadLocal提供線程局部變量,以及該大新聞項目的主要代碼。 redis優化登錄 其實…

macOS版ChatGPT更新:修復AI對話純文本存儲問題

貓頭虎 🐯 建聯貓頭虎,商務合作,產品評測,產品推廣,個人自媒體創作,超級個體,漲粉秘籍,一起探索編程世界的無限可能! macOS版ChatGPT更新:修復AI對話純文本…

HOW - React Router v6.x Feature 實踐(react-router-dom)

目錄 基本特性ranked routes matchingactive linksNavLinkuseMatch relative links1. 相對路徑的使用2. 嵌套路由的增強行為3. 優勢和注意事項4. . 和 ..5. 總結 data loadingloading or changing data and redirectpending navigation uiskeleton ui with suspensedata mutati…

JAVA高級進階11多線程

第十一天、多線程 線程安全問題 線程安全問題 多線程給我們帶來了很大性能上的提升,但是也可能引發線程安全問題 線程安全問題指的是當個多線程同時操作同一個共享資源的時候,可能會出現的操作結果不符預期問題 線程同步方案 認識線程同步 線程同步 線程同步就是讓多個線…

內網滲透學習-殺入內網

1、靶機上線cs 我們已經拿到了win7的shell,執行whoami,發現win7是administrator權限,且在域中 執行ipconfig發現了win7存在內網網段192.168.52.0/24 kali開啟cs服務端 客戶端啟動cs 先在cs中創建一個監聽器 接著用cs生成后門,記…

Mysql 的第二次作業

一、數據庫 1、登陸數據庫 2、創建數據庫zoo 3、修改數據庫zoo字符集為gbk 4、選擇當前數據庫為zoo 5、查看創建數據庫zoo信息 6、刪除數據庫zoo 1)登陸數據庫。 打開命令行,輸入登陸用戶名和密碼。 mysql -uroot -p123456 ? 2)切換數據庫…

菜雞的原地踏步史(???)

leetcode啟動!(╯‵□′)╯︵┻━┻ 嘗試改掉想到哪寫哪的代碼壞習慣 鏈表 相交鏈表 public class Solution {/**ac(公共長度)b所以 鏈表A的長度 a c,鏈表B的長度b ca b c b c a只要指針a從headA開始走,走完再…

利用pg_rman進行備份與恢復操作

文章目錄 pg_rman簡介一、安裝配置pg_rman二、創建表與用戶三、備份與恢復 pg_rman簡介 pg_rman 是 PostgreSQL 的在線備份和恢復工具。類似oracle 的 rman pg_rman 項目的目標是提供一種與 pg_dump 一樣簡單的在線備份和 PITR 方法。此外,它還為每個數據庫集群維護…

抖音使矛,美團用盾

有市場,就有競爭。抖音全力進軍本地生活市場欲取代美團,已不是新聞。 互聯網行業進入存量時代,本地生活市場是為數不多存在較大增長空間的賽道。艾媒咨詢數據顯示,預計2025年在線餐飲外賣市場規模達到17469億元,生鮮電…

Day05-01-jenkins進階

Day05-01-jenkins進階 10. 案例07: 理解 案例06基于ans實現10.1 整體流程10.2 把shell改為Ansible劇本10.3 jk調用ansible全流程10.4 書寫劇本 11. Jenkins進階11.1 jenkins分布式1)概述2)案例08:拆分docker功能3)創建任務并綁定到…