偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

RAG 2.0架構(gòu)詳解:構(gòu)建端到端檢索增強生成系統(tǒng)

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

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

什么是RAG?

簡單來說,RAG可以為我們的大型語言模型(LLM)提供額外的上下文,以生成更好、更具體的回應(yīng)。LLM是在公開可用的數(shù)據(jù)上訓(xùn)練的,它們本身是非常智能的系統(tǒng),但它們無法回答具體問題,因為它們?nèi)狈卮疬@些問題的上下文。

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

通過微調(diào)添加新知識相當(dāng)困難,昂貴,但是卻是永久性。通過微調(diào)添加新能力甚至?xí)绊懰郧皳碛械闹R。在微調(diào)過程中,我們無法控制哪些權(quán)重將被改變,因此也無法得知哪些能力會增加或減少。

選擇微調(diào)、RAG還是兩者的結(jié)合,完全取決于手頭的任務(wù)。沒有一種適合所有情況的方法。

RAG的經(jīng)典步驟如下:

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

RAG 2.0

當(dāng)今典型的RAG系統(tǒng)使用現(xiàn)成的凍結(jié)模型進行嵌入,使用向量數(shù)據(jù)庫進行檢索,以及使用黑盒語言模型進行生成,通過提示或編排框架將它們拼接在一起。各個組件技術(shù)上可行,但整體遠非最佳。這些系統(tǒng)脆弱,缺乏對其部署領(lǐng)域的任何機器學(xué)習(xí)或?qū)I(yè)化,需要廣泛的提示,并且容易發(fā)生級聯(lián)錯誤。結(jié)果是RAG系統(tǒng)很少通過生產(chǎn)標準。

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

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

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

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

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

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

RAG如何解決智能問題?

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

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

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

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

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

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

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

更好的檢索策略

1、稀疏檢索

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

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

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

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

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

K 和 b 是可以調(diào)整的參數(shù)。|D| 表示文檔的長度,avgdl 表示數(shù)據(jù)庫中所有文檔的平均長度。

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

2、密集檢索

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

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

密集檢索也就是我們常說的向量查詢,它通常使用點積來判斷響亮的相似程度,這也是一般RAG中常用的步驟。我們?nèi)绾纬胶唵蔚狞c積呢?

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

基于模型的檢索算法

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

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

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

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

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

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

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

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

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

可以提供上下文的檢索器

1、RePlug

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

2、In-Context RALM

它使用凍結(jié)模型RAG 和 BM25,然后通過重新排序?qū)iT化檢索部分。包含一個零樣本學(xué)習(xí)的語言模型和一個訓(xùn)練過的重新排序器。

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

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

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

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

與其單獨優(yōu)化LLM或retriver,不如一次優(yōu)化整個流程?

當(dāng)檢索文檔時,在每n個令牌或一次檢索時,有很多地方可以優(yōu)化。

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

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

4、k-NN LM

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

研究人員表明,如果在RAG環(huán)境中訓(xùn)練,他們可以創(chuàng)建25倍小的模型

目前SOTA整理

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

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

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

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

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

總結(jié)

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

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

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

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2025-02-11 08:00:00

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

2023-10-14 17:46:17

RAG提示工程GPT-3

2025-04-01 09:25:09

2025-09-01 08:53:57

2024-05-20 08:31:33

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

2025-04-29 08:20:51

2025-07-04 09:02:48

2025-09-01 07:02:48

2024-05-28 09:24:32

2024-02-18 09:00:00

RAG工具LlamaIndexChatGPT

2024-10-31 14:46:31

2024-11-19 13:05:40

2025-05-28 01:25:00

RAG人工智能語言模型

2025-06-13 02:25:00

2025-07-07 04:55:00

2025-02-27 10:55:44

2025-04-27 00:30:00

RAG檢索增強生成AI

2025-02-13 09:01:03

2024-09-05 08:24:09

2025-09-28 04:22:00

RAGSpring AI人工智能
點贊
收藏

51CTO技術(shù)棧公眾號