成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

RAG 2.0架構詳解:構建端到端檢索增強生成系統

人工智能
關于檢索增強生成(RAG)的文章已經有很多了,如果我們能創建出可訓練的檢索器,或者說整個RAG可以像微調大型語言模型(LLM)那樣定制化的話,那肯定能夠獲得更好的結果。

關于檢索增強生成(RAG)的文章已經有很多了,如果我們能創建出可訓練的檢索器,或者說整個RAG可以像微調大型語言模型(LLM)那樣定制化的話,那肯定能夠獲得更好的結果。但是當前RAG的問題在于各個子模塊之間并沒有完全協調,就像一個縫合怪一樣,雖然能夠工作但各部分并不和諧,所以我們這里介紹RAG 2.0的概念來解決這個問題。

什么是RAG?

簡單來說,RAG可以為我們的大型語言模型(LLM)提供額外的上下文,以生成更好、更具體的回應。LLM是在公開可用的數據上訓練的,它們本身是非常智能的系統,但它們無法回答具體問題,因為它們缺乏回答這些問題的上下文。

所以RAG可以向LLM插入新知識或能力,盡管這種知識插入并不是永久的。而另一種常用向LLM添加新知識或能力的方法是通過對我們特定數據進行微調LLM。

通過微調添加新知識相當困難,昂貴,但是卻是永久性。通過微調添加新能力甚至會影響它以前擁有的知識。在微調過程中,我們無法控制哪些權重將被改變,因此也無法得知哪些能力會增加或減少。

選擇微調、RAG還是兩者的結合,完全取決于手頭的任務。沒有一種適合所有情況的方法。

RAG的經典步驟如下:

  • 將文檔分成均勻的塊。
  • 每個塊是一段原始文本。
  • 使用編碼器為每個塊生成嵌入(例如,OpenAI嵌入,sentence_transformer等),并將其存儲在數據庫中。
  • 找到最相似的編碼塊,獲取這些塊的原始文本,并將其作為上下文與提示一起提供給生成器。

RAG 2.0

當今典型的RAG系統使用現成的凍結模型進行嵌入,使用向量數據庫進行檢索,以及使用黑盒語言模型進行生成,通過提示或編排框架將它們拼接在一起。各個組件技術上可行,但整體遠非最佳。這些系統脆弱,缺乏對其部署領域的任何機器學習或專業化,需要廣泛的提示,并且容易發生級聯錯誤。結果是RAG系統很少通過生產標準。

而我們要說的RAG 2.0的概念,通過預訓練、微調并對所有組件進行對齊,作為一個整體集成系統,通過語言模型和檢索器的雙重反向傳播來最大化性能:

下面就是我們將上下文語言模型(Contextual Language Models)與凍結模型的 RAG 系統在多個維度進行比較

對于開放域問答:使用標準的自然問題(NQ)和 TriviaQA 數據集來測試每個模型檢索相關知識和準確生成答案的能力。還在單步檢索設置中使用 HotpotQA(HPQA)數據集對模型進行評估。所有數據集都使用精確匹配(EM)指標。

對于忠實度:使用 HaluEvalQA 和 TruthfulQA 來衡量每個模型在檢索證據和幻覺中保持基礎的能力。

而新鮮度:我們使用網絡搜索索引來衡量每個 RAG 系統概括快速變化的世界知識的能力,并在最新的 FreshQA 基準測試中顯示準確性。

這些維度對于構建生產級別的 RAG 系統非常重要。CLM 在多種強大的凍結模型RAG 系統上顯著提升性能,這些系統是使用 GPT-4 或最先進的開源模型如 Mixtral 構建的。

RAG如何解決智能問題?

RAG是一種半參數系統,其中參數部分是大型語言模型(LLM),其余部分是非參數的。這樣我們就得到了半參數系統。LLM在其權重或參數中存儲了所有信息(以編碼形式),而系統的其余部分則沒有定義這些知識的參數。

但這為什么能解決問題呢?

  • 在LLM中交換索引(特定信息)為我們提供了定制化,這意味著我們不會僅僅獲得老舊的知識,同時我們也可以修訂索引中的內容。
  • 通過這些索引對LLM進行定位意味著可以減少幻覺,并且通過指向來源進行引用和歸屬。

所以RAG為的LLM提供了更好的上下文化能力,使其表現良好。但實際上真的這么簡單嗎?

并不是,因為我們有許多需要解答的問題,才能創建一個現代化的可擴展的RAG管道。

當前的RAG系統并沒有那么智能,而且它們非常簡單,無法解決需要大量自定義上下文的復雜任務。

我們看到,目前唯一可以訓練的參數部分就是LLM。能否增加更多的參數呢?

更好的檢索策略

1、稀疏檢索

TF-IDF:TF-IDF或詞頻-逆文檔頻率,是衡量一個詞對一個文檔集或語料庫中的文檔的重要性的指標,同時調整了某些詞通常出現得更頻繁的事實。[1] 它常被用作信息檢索、文本挖掘和用戶建模搜索中的權重因子。

BM25:可以視為對TF-IDF的改進。

對于查詢“機器學習”,BM25的計算將是BM25Score(機器) + BM25Score(學習)的總和。

公式的第一部分是詞項的逆文檔頻率(IDF)。公式的第二部分代表詞頻(TF),該詞頻通過文檔長度進行了標準化。

f(q(i), D) 是文檔 D 中詞 q(i) 的詞頻。

K 和 b 是可以調整的參數。|D| 表示文檔的長度,avgdl 表示數據庫中所有文檔的平均長度。

這些是稀疏檢索的一些早期步驟。

2、密集檢索

需要密集檢索的原因是因為語言并不那么直白。例如,如果有同義詞,稀疏檢索就會完全失效。我們不僅僅想基于確切關鍵詞匹配來檢索信息,更多的是基于句子的語義。BERT sentence embedding 就是一個密集檢索的例子。將句子轉換為向量后,使用點積或余弦相似度來檢索信息。

密集檢索的一個好處是它易于并行處理,借助GPU,它可以輕松地在十億級別的相似性搜索上運行,這就是Meta開發FAISS的方式,或者我們常說的向量數據庫。

密集檢索也就是我們常說的向量查詢,它通常使用點積來判斷響亮的相似程度,這也是一般RAG中常用的步驟。我們如何超越簡單的點積呢?

除了簡單的點積以外,還有很多文檔和查詢交互方式,比如說 孿生網絡,ColBERT,等等

基于模型的檢索算法

ColBERT是一個非常好的檢索策略,但這并不是信息檢索的SOTA。我們還有其他更先進的算法和策略,如SPLADE、DRAGON和Hybrid搜索。

1、SPLADE:稀疏與密集的結合的查詢擴展。

可以看到,通過查詢擴展,涵蓋了更多的上下文,這有助于更好的檢索。

2、DRAGON:通過漸進式數據增強來推廣密集檢索器。

讓我們通過一個例子來理解DRAGON的工作原理:

  • 初始詢問:“如何照顧吊蘭?”
  • DRAGON的行動:識別出植物護理的主題后,DRAGON制定了一個針對性的檢索查詢,專門收集有關吊蘭的一般護理信息。
  • 初始檢索:DRAGON深入其數據庫,檢索出有關這些綠葉植物的陽光需求、澆水時間表和合適肥料的文檔。然后生成回應:“吊蘭需要適度的間接陽光,應該每周澆水一次。在生長季節,每月施肥一次對它們有益。”
  • 用戶更新:隨著用戶詢問:“如果葉子變成棕色怎么辦?”對話發生了轉變。
  • DRAGON適應:DRAGON細化檢索查詢,專注于吊蘭葉子變棕的問題。
  • 動態檢索行動:DRAGON檢索有關葉子變棕的常見原因的信息,如過度澆水或過多直射陽光。
  • 知識傳遞:通過利用新檢索到的數據,DRAGON根據對話的發展定制其回應:“吊蘭的棕色葉子可能是過度澆水或陽光直射過多的跡象。嘗試減少澆水頻率,并將植物移至更陰涼的地方。”

DRAGON根據用戶在對話中不斷變化的興趣動態調整其檢索查詢。用戶的每一次輸入都會實時更新檢索過程,確保提供的信息既相關又詳細,符合最新的上下文。

3、混合搜索:我們在密集和稀疏搜索之間進行插值。這就是RAG社區一直在研究的方向,比如采用類似BM25的并將其與SPLADE或DRAGON結合。

但是無論我們使用什么方法,檢索器仍然是固定的,或者說無法定制(微調)的

可以提供上下文的檢索器

1、RePlug

這是一篇關于檢索的非常有趣的論文,對于給定的查詢,我們檢索出前K個文檔,并進行歸一化(計算它們的可能性)后得到一個分布,然后我們將每個文檔與查詢一起單獨輸入給一個生成器。然后查看語言模型對正確答案的困惑度。這樣就有了兩個可能性分布,在這些分布上我們計算KL散度損失,以使KL散度最小化,就會得到檢索到的文檔與正確答案上的困惑度最低的結果。

2、In-Context RALM

它使用凍結模型RAG 和 BM25,然后通過重新排序專門化檢索部分。包含一個零樣本學習的語言模型和一個訓練過的重新排序器。

語言模型是固定的,我們只反向傳播或訓練重新排序的部分。這不是很先進,但與前面的簡單RAG相比,它的性能還不錯。

但問題是如果無法訪問LLM的參數,如何對檢索器的參數進行反向傳播或更新呢?

所以它是使用強化風格的損失來訓練檢索器。檢索器的有效性通過其獲取的信息如何增強語言模型的輸出來評判。對檢索器的改進集中在最大化這種增強上。這可能涉及基于從語言模型輸出中派生的性能指標調整檢索策略(獲取信息的內容和方式)。常見的指標可能包括生成文本的連貫性、相關性和事實準確性。

3、組合上下文化檢索器和生成器

與其單獨優化LLM或retriver,不如一次優化整個流程?

當檢索文檔時,在每n個令牌或一次檢索時,有很多地方可以優化。

在RAG-token模型中,與RAG-Sequence模型的單次檢索相比,可以在不同的目標token上檢索不同的文檔。

使用編碼器對所有k個文檔進行編碼,接著進行協同,然后在將其作為上下文提供給輸入提示之前進行解碼。

4、k-NN LM

另外一個在RAG系統中有趣的想法是增加包括k-NN LM:

研究人員表明,如果在RAG環境中訓練,他們可以創建25倍小的模型

目前SOTA整理

大型語言模型(LLM)的上下文化既復雜又昂貴。因為重新更新整個LLM并不容易,需要更新數十億甚至數萬億的令牌。

所以Meta的FAIR的發布了ATLAS論文,這篇論文討論了可以用來訓練整個RAG管道,并且針對不同部分使用不同類型的損失函數,并對它們進行了性能比較。

以下是ATLAS論文中所有不同損失的性能比較:

ATLAS是一個經過精心設計和預訓練的檢索增強型語言模型,能夠通過極少的訓練示例學習知識密集型任務。ATLAS將這些損失函數整合進一個連貫的訓練流程中,可以直接基于其對語言模型性能的影響來微調檢索器,而不是依賴于外部注釋或預定義的相關性評分。這種整合使系統能夠隨著時間的推移通過適應其訓練任務的具體需求而改進。

  • 使用雙編碼器框架作為其檢索系統,一個編碼器專門用于編碼查詢,另一個用于文檔。
  • 然后將檢索到的文檔與查詢一起輸入基于T5架構的強大的序列到序列語言模型,該模型在系統中充當解碼器,生成最終的文本輸出。
  • 采用解碼器內融合方法,將檢索到的文檔的信息直接整合到序列到序列模型的解碼器中。這種方法允許語言模型在生成過程中動態利用檢索到的信息,增強其輸出的相關性和準確性。

總結

RAG(檢索增強生成)有三種類型:

  1. 凍結模型RAG:這些在整個行業中隨處可見,它們只是概念驗證(POC)。
  2. 半凍結模型RAG:應用智能檢索器,并試圖使它們以某種方式適應。不修改LLM只是操作檢索器并將它們與最終輸出結合。
  3. 完全可訓練的RAG:端到端訓練相當困難,但如果做得正確,可以提供最佳性能。但是肯定非常消耗資源。

而我們常用的RAG還僅僅是第一種凍結模型RAG,所以說RAG的技術目前還處于初級階段,擴展語言模型的參數還是令牌,如何有效地擴展檢索器,通過參數還是數據塊將記憶與概括分離,將知識檢索與生成過程分離等,都是后續需要繼續研究的問題。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2025-02-11 08:00:00

大語言模型檢索增強生成CAG

2023-10-14 17:46:17

RAG提示工程GPT-3

2025-04-01 09:25:09

2024-05-20 08:31:33

檢索增強生成LLM大型語言模型

2025-04-29 08:20:51

2024-05-28 09:24:32

2024-02-18 09:00:00

RAG工具LlamaIndexChatGPT

2024-10-31 14:46:31

2025-05-28 01:25:00

RAG人工智能語言模型

2024-11-19 13:05:40

2025-06-13 02:25:00

2025-02-27 10:55:44

2025-02-13 09:01:03

2025-04-27 00:30:00

RAG檢索增強生成AI

2025-03-10 08:00:00

RAG檢索Reranker

2024-09-05 08:24:09

2025-01-23 16:23:30

2025-06-04 08:21:28

2025-02-26 12:21:08

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩欧美一区二区在线播放 | 日韩高清国产一区在线 | 欧美一区二区在线观看 | 欧美精品日韩精品 | av网站免费在线观看 | 毛片免费视频 | 欧美综合在线观看 | 日韩在线观看一区 | 亚洲va欧美va天堂v国产综合 | 亚洲成人三区 | 国产亚洲精品精品国产亚洲综合 | 欧美亚洲激情 | 先锋资源亚洲 | 欧美激情欧美激情在线五月 | 成人免费一区二区 | 毛片区| 亚洲视频在线播放 | 综合国产在线 | 国产一区二区三区高清 | 蜜桃av一区二区三区 | 国产乱码精品一区二区三区中文 | 欧美精品1区 | 天堂影院av | 国产高清精品一区二区三区 | 亚洲网站在线观看 | 成人小视频在线免费观看 | 欧州一区二区 | 黄色片a级| 秋霞电影院午夜伦 | 紧缚调教一区二区三区视频 | 国产区免费视频 | 成人一区二区三区在线观看 | a级免费黄色片 | 午夜免费视频 | 色资源站 | 免费观看av网站 | 伊人网站 | 中文字幕第一页在线 | 色婷婷一区二区三区四区 | 中文天堂网 | 日韩在线免费视频 |