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

模塊化RAG:RAG新范式,像樂高一樣搭建 精華

發(fā)布于 2024-8-6 11:12
瀏覽
0收藏

1. RAG系統(tǒng)的發(fā)展歷史與問題

RAG(檢索增強(qiáng)生成)通過訪問外部知識(shí)庫,檢索增強(qiáng)生成(RAG)為 LLMs 提供了關(guān)鍵的上下文信息,極大地提升了其在知識(shí)密集型任務(wù)上的表現(xiàn)。RAG 作為一種增強(qiáng)手段,已在眾多實(shí)際應(yīng)用場(chǎng)景中廣泛運(yùn)用,涵蓋知識(shí)問答、推薦系統(tǒng)、客戶服務(wù)以及個(gè)人助手等領(lǐng)域。

RAG 技術(shù)的發(fā)展可歸結(jié)為三個(gè)階段:

? 起初,檢索增強(qiáng)技術(shù)被引入,提升預(yù)訓(xùn)練語言模型在知識(shí)密集型任務(wù)上的表現(xiàn)。比如:

Retro 通過檢索增強(qiáng)優(yōu)化了預(yù)訓(xùn)練的自回歸模型。

Atlas 則運(yùn)用了檢索增強(qiáng)的少樣本微調(diào)手段,使語言模型能適應(yīng)各類任務(wù)。

IRcot 通過融合思維鏈和多步檢索流程,進(jìn)一步豐富了推理階段的推理過程。

? 第二階段,隨著大型語言模型(LLM)的語言處理能力大幅提升,檢索增強(qiáng)技術(shù)開始充當(dāng)補(bǔ)充額外知識(shí)和提供參考的途徑,以減少幻覺。例如:

? RRR 改進(jìn)了重寫階段

? LLMlingua 去除了檢索所得文檔塊中的冗余標(biāo)記。

? 隨著 RAG 技術(shù)的持續(xù)進(jìn)步,研究愈發(fā)精細(xì)且集中,實(shí)現(xiàn)了與圖神經(jīng)網(wǎng)絡(luò)和微調(diào)技術(shù)等其他技術(shù)的創(chuàng)新融合。整體流程也更趨靈活,比如利用大型語言模型主動(dòng)確定檢索和生成的時(shí)機(jī) 。

幾乎每一篇討論RAG的論文都會(huì)討論RAG存在的問題。

RAG 發(fā)展初期,其核心框架由索引、檢索和生成構(gòu)成,這種范式被稱作樸素 RAG。隨著任務(wù)復(fù)雜程度和應(yīng)用需求的提升,樸素 RAG 的局限性愈發(fā)凸顯。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

如上圖所示,樸素RAG主要依賴于塊的簡(jiǎn)單相似性,在應(yīng)對(duì)復(fù)雜查詢和具有顯著變異性的塊時(shí),表現(xiàn)欠佳。

樸素 RAG 存在的問題主要包括:

1)對(duì)查詢的理解不夠深入。查詢和文檔塊之間的語義相似度并非總是高度一致。僅依靠相似度計(jì)算進(jìn)行檢索,缺乏對(duì)查詢與文檔間關(guān)系的深度探究。

2)檢索存在冗余和噪聲。將所有檢索到的塊直接輸入到 LLMs 并非總是有益。研究表明,過多的冗余和噪聲信息可能會(huì)干擾 LLM 對(duì)關(guān)鍵信息的識(shí)別,從而增加生成錯(cuò)誤和幻覺響應(yīng)的風(fēng)險(xiǎn)。

為了克服以上局限,大家提出了高級(jí)RAG,高級(jí)RAG注重優(yōu)化檢索階段,旨在提升檢索效率,并強(qiáng)化對(duì)檢索塊的利用,典型策略涵蓋預(yù)檢索處理和后檢索處理。例如,采用查詢重寫使查詢更清晰、具體,進(jìn)而提高檢索的精準(zhǔn)度,對(duì)檢索結(jié)果進(jìn)行重新排序以增強(qiáng) LLM 識(shí)別和利用關(guān)鍵信息的能力。

盡管高級(jí)RAG有所改進(jìn),但是仍然與實(shí)際應(yīng)用與需求之間存在差距:隨著 RAG 技術(shù)的發(fā)展,用戶期望提高,需求持續(xù)演變,應(yīng)用設(shè)置也變得更為復(fù)雜。例如,異構(gòu)數(shù)據(jù)的整合以及對(duì)系統(tǒng)透明度、控制和可維護(hù)性的新需求。

為達(dá)成更精準(zhǔn)和高效的任務(wù)執(zhí)行,現(xiàn)代 RAG 系統(tǒng)正逐步融合更復(fù)雜的功能,比如以知識(shí)圖譜的形式構(gòu)建更精細(xì)的索引庫,通過查詢構(gòu)建方法整合結(jié)構(gòu)化數(shù)據(jù),以及運(yùn)用微調(diào)技術(shù)讓編碼器更好地適應(yīng)特定領(lǐng)域的文檔

在流程設(shè)計(jì)方面,當(dāng)前的 RAG 系統(tǒng)已超越傳統(tǒng)的線性檢索生成范式。研究人員采用迭代檢索獲取更豐富的上下文,利用遞歸檢索處理復(fù)雜查詢,以及借助自適應(yīng)檢索提供整體的自主性和靈活性。這種流程上的靈活性顯著增強(qiáng)了 RAG 系統(tǒng)的表達(dá)力和適應(yīng)性,使其能更好地適應(yīng)各類應(yīng)用場(chǎng)景。然而這使得RAG系統(tǒng)的架構(gòu)越來越復(fù)雜,越來越多的新問題不斷出現(xiàn):

?復(fù)雜數(shù)據(jù)源集成:RAG 不再局限于單一的非結(jié)構(gòu)化文本數(shù)據(jù)源類型,而是拓展至涵蓋諸如表格之類的半結(jié)構(gòu)化數(shù)據(jù)以及像知識(shí)圖譜這樣的結(jié)構(gòu)化數(shù)據(jù)。獲取來自多個(gè)來源的異構(gòu)數(shù)據(jù),能夠?yàn)橄到y(tǒng)賦予更豐富的知識(shí)背景以及更可靠的知識(shí)驗(yàn)證能力。

可解釋性、可控性和可維護(hù)性方面的新需求:隨著系統(tǒng)復(fù)雜度的提升,系統(tǒng)維護(hù)和調(diào)試變得更具挑戰(zhàn)。此外,當(dāng)問題出現(xiàn)時(shí),必須迅速鎖定需要優(yōu)化的特定組件。

組件的選擇與優(yōu)化:更多的神經(jīng)網(wǎng)絡(luò)融入 RAG 系統(tǒng),需要挑選適宜的組件以滿足特定任務(wù)和資源配置的需求。而且,新的組件雖提升了 RAG 的效能,但也帶來了新的協(xié)作工作要求。確保這些模型按預(yù)期運(yùn)行并高效協(xié)同,以提升整體系統(tǒng)性能,這一點(diǎn)至關(guān)重要。

工作流的編排與調(diào)度:組件可能需要依照特定順序執(zhí)行,在某些條件下并行處理,甚至由 LLM 根據(jù)不同的輸出進(jìn)行判定。對(duì)工作流進(jìn)行合理規(guī)劃,對(duì)于提高系統(tǒng)效率和達(dá)成預(yù)期成果至關(guān)重要。

為了應(yīng)對(duì)以上這些問題,今天這篇論文作者提出了模塊化 RAG 架構(gòu)。

2. 什么是模塊化RAG架構(gòu)?

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

在現(xiàn)代計(jì)算系統(tǒng)中,模塊化正成為一種趨勢(shì)。能夠增強(qiáng)系統(tǒng)的可擴(kuò)展性和可維護(hù)性,并通過流程控制實(shí)現(xiàn)高效的任務(wù)執(zhí)行。模塊化 RAG 架構(gòu)分為三個(gè)層級(jí):

? 頂層聚焦于 RAG 的關(guān)鍵階段,其中每個(gè)階段都視作一個(gè)獨(dú)立的模塊。該層級(jí)不僅繼承了高級(jí) RAG 范式的主要流程,還引入了一個(gè)編排模塊來調(diào)控 RAG 流程的協(xié)同。

? 中間層由每個(gè)模塊內(nèi)的子模塊組成,進(jìn)一步細(xì)化和優(yōu)化功能。

? 底層由基本操作單元——操作符構(gòu)成。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

在模塊化 RAG 框架內(nèi),RAG 系統(tǒng)能夠以計(jì)算圖的形式呈現(xiàn),其中節(jié)點(diǎn)代表特定的操作符。模塊化 RAG 是在 RAG 先前發(fā)展的基礎(chǔ)上演化而來的。這三個(gè)范式(樸素RAG、高級(jí)RAG和模塊化RAG)之間的關(guān)系是繼承與發(fā)展的關(guān)系。高級(jí) RAG 是模塊化 RAG 的一種特殊情形,而樸素 RAG 是高級(jí) RAG 的一種特殊情形。

3. 六大模塊

模塊化RAG包括六個(gè)主要模塊:索引、預(yù)檢索、檢索、后檢索、生成和編排。

3.1 索引(Indexing)

索引指的是把文檔分割為可管理的塊的過程,是組織系統(tǒng)的關(guān)鍵步驟。

索引面臨著三個(gè)主要難題。

?1. 內(nèi)容表述不完整。

塊的語義信息受分割方式影響,致使在較長(zhǎng)的語境中重要信息的丟失或被掩蓋。

?2. 塊相似性搜索不準(zhǔn)確。

隨著數(shù)據(jù)量增多,檢索中的噪聲增大,導(dǎo)致頻繁與錯(cuò)誤數(shù)據(jù)匹配,使得檢索系統(tǒng)脆弱且不可靠。

?3. 參考軌跡不明晰。

檢索到的塊可能來自任何文檔,沒有引用痕跡,可能出現(xiàn)來自多個(gè)不同文檔的塊,盡管語義相似,但包含的卻是完全不同主題的內(nèi)容。

3.1.1 塊優(yōu)化

塊的大小以及塊之間的重疊,在 RAG 系統(tǒng)的整體有效性中起著關(guān)鍵作用:

? 較大的塊能捕捉更多的上下文,但也會(huì)產(chǎn)生更多噪聲,需要更長(zhǎng)的處理時(shí)間和更高的成本。

? 而較小的塊可能無法完整傳達(dá)必要的上下文,不過噪聲較小。

滑動(dòng)窗口:在滑動(dòng)窗口中使用重疊塊能增強(qiáng)語義轉(zhuǎn)換。這種方法也存在一些局限性,如上下文大小控制不精準(zhǔn)、單詞或句子可能被截?cái)嘁约叭狈φZ義考量等。

增加元數(shù)據(jù):塊可以用元數(shù)據(jù)(比如頁碼、文件名、作者、時(shí)間戳、摘要或相關(guān)問題)進(jìn)行豐富。這些元數(shù)據(jù)允許進(jìn)行篩選檢索,縮小搜索范圍。

從小到大:將用于檢索的塊和用于合成的塊區(qū)分開。較小的塊能提高檢索的準(zhǔn)確性,較大的塊能提供更多的上下文。一種方法是檢索較小的總結(jié)塊,并參考其較大的父塊。或者,可以檢索單個(gè)句子及其周邊的文本。

3.1.2 結(jié)構(gòu)組織

增強(qiáng)信息檢索的一種有效方式是為文檔構(gòu)建層次結(jié)構(gòu)。通過構(gòu)建塊結(jié)構(gòu),RAG 系統(tǒng)能夠加快相關(guān)數(shù)據(jù)的檢索和處理。

分層索引:在文檔的分層結(jié)構(gòu)中,節(jié)點(diǎn)按父子關(guān)系排列,并與塊相連接。每個(gè)節(jié)點(diǎn)都存儲(chǔ)著數(shù)據(jù)摘要,有助于快速遍歷數(shù)據(jù),并協(xié)助 RAG 系統(tǒng)確定要提取哪些塊。這種方法還能減輕因塊提取問題產(chǎn)生的錯(cuò)覺。構(gòu)建結(jié)構(gòu)化索引的方法主要包括:

?1. 基于文檔中的段落和句子分割的結(jié)構(gòu)。

?2. 基于 PDF、HTML 和 Latex 中固有結(jié)構(gòu)。

?3. 基于文本語義識(shí)別和分割的語義。

KG 索引:使用知識(shí)圖(KGs)來構(gòu)建文檔有助于通過厘清概念和實(shí)體之間的聯(lián)系來保持一致性,降低不匹配錯(cuò)誤的風(fēng)險(xiǎn)。還能將信息檢索轉(zhuǎn)化為語言模型可理解的指令,提高檢索的準(zhǔn)確性并實(shí)現(xiàn)上下文連貫的響應(yīng)。這提升了 RAG 系統(tǒng)的整體效率。

3.2 預(yù)檢索(Pre-retrieval)

樸素 RAG 的一大主要挑戰(zhàn)在于它直接將用戶的原始查詢當(dāng)作檢索的基礎(chǔ)。制定精確清晰的問題頗具難度,欠妥的查詢會(huì)致使檢索效果欠佳。此模塊的主要挑戰(zhàn)包含:

? 1)查詢措辭不當(dāng)。問題本身復(fù)雜,語言組織欠佳。

? 2)語言的復(fù)雜性與歧義性。語言模型在應(yīng)對(duì)專業(yè)詞匯或含義多樣的模糊縮寫時(shí)常常遭遇困境。比如,它們或許無法判別 LLM 指的是大型語言模型還是法律語境中的法學(xué)碩士。

3.2.1 查詢擴(kuò)展

將單個(gè)查詢拓展為多個(gè)查詢,豐富了查詢內(nèi)容,為彌補(bǔ)特定細(xì)微差異的缺失提供了更多上下文,從而確保生成答案的最佳相關(guān)性。

多查詢:借助提示工程通過大型語言模型來擴(kuò)展查詢,而且并行執(zhí)行。這些擴(kuò)展經(jīng)過精心設(shè)計(jì)以保障多樣性和覆蓋度。不過,這種方式可能會(huì)淡化用戶的原始意圖。為減輕這一情況,可指示模型給予原始查詢更大的權(quán)重。

子查詢:通過分解和規(guī)劃復(fù)雜問題,會(huì)生成多個(gè)子問題。具體而言,可以采用從少到多的提示來將復(fù)雜問題分解為一系列更簡(jiǎn)單的子問題。依照原始問題的結(jié)構(gòu),生成的子問題能夠并行或順序執(zhí)行。另一種方法涉及使用驗(yàn)證鏈(CoVe)。擴(kuò)展后的查詢由大型語言模型進(jìn)行驗(yàn)證,以達(dá)成減少幻覺的效果。

3.2.2 查詢轉(zhuǎn)換

依據(jù)轉(zhuǎn)換后的查詢而非用戶的原始查詢進(jìn)行檢索和生成。

重寫(Rewrite):原始查詢?cè)诂F(xiàn)實(shí)場(chǎng)景中的檢索常常存在不足。為解決此問題,可以提示大型語言模型進(jìn)行重寫。也可運(yùn)用專門的較小模型來達(dá)成此目的 。**淘寶中查詢重寫方法的實(shí)施顯著提升了長(zhǎng)尾查詢的召回效果,促使 GMV 增長(zhǎng) **。

HyDE:為彌合問題與答案之間的語義差距,它在回應(yīng)查詢時(shí)構(gòu)建假設(shè)文檔(假設(shè)答案),而非直接搜索查詢。它側(cè)重于從答案到答案的嵌入相似性,而非尋求針對(duì)問題或查詢的嵌入相似性。此外,它還包含反向 HyDE,為每個(gè)塊生成假設(shè)查詢,并專注于從查詢到查詢的檢索。

回退提示(Step-back Prompting):原始查詢被抽象為一個(gè)高級(jí)概念問題(回退問題)。在 RAG 系統(tǒng)中,回退問題和原始查詢均用于檢索,且將它們的結(jié)果相結(jié)合來生成語言模型的答案。

3.2.3 查詢構(gòu)建

除文本數(shù)據(jù)外,諸如表格和圖形數(shù)據(jù)等越來越多的結(jié)構(gòu)化數(shù)據(jù)正被融入 RAG 系統(tǒng)。為適配各類數(shù)據(jù)類型,重構(gòu)用戶的查詢很有必要。這涉及將查詢轉(zhuǎn)化為其他查詢語言以訪問替代數(shù)據(jù)源,常見方法有 Text-to-SQL 或 Text-to-Cypher 等。結(jié)構(gòu)化查詢語言(如 SQL、Cypher)常與語義信息和元數(shù)據(jù)結(jié)合,用于構(gòu)建更復(fù)雜的查詢。

3.3 檢索(Retrieval)

檢索過程在 RAG 系統(tǒng)中舉足輕重,提升檢索效果需考慮的三個(gè)主要方面包括檢索效率、質(zhì)量以及任務(wù)、數(shù)據(jù)和模型的對(duì)齊。

3.3.1 檢索器選擇

隨著 RAG 技術(shù)的廣泛應(yīng)用,嵌入模型的發(fā)展勢(shì)頭正盛。除基于統(tǒng)計(jì)的傳統(tǒng)模型和基于編碼器結(jié)構(gòu)的預(yù)訓(xùn)練模型外,在大型語言模型上微調(diào)的嵌入模型也展現(xiàn)出強(qiáng)大的能力。然而,它們往往參數(shù)更多,導(dǎo)致推理和檢索效率欠佳。故而,依據(jù)不同任務(wù)場(chǎng)景選擇合適的檢索器至關(guān)重要。

稀疏檢索器(Sparse Retriever):用統(tǒng)計(jì)方法將查詢和文檔轉(zhuǎn)化為稀疏向量。其優(yōu)勢(shì)在于處理大型數(shù)據(jù)集時(shí)效率高,只關(guān)注非零元素。但在捕捉復(fù)雜語義方面,可能不如密集向量有效。常見方法包括 TF-IDF 和 BM25。

密集檢索器(Dense Retriever):使用預(yù)訓(xùn)練的語言模型(PLMs)為查詢和文檔提供密集表示。盡管計(jì)算和存儲(chǔ)成本較高,卻能提供更復(fù)雜的語義表示。典型模型有 BERT 結(jié)構(gòu)的 PLMs,如 ColBERT,以及多任務(wù)微調(diào)模型,如 BGE 和 GTE 。

混合檢索器(Hybrid Retriever ):是同時(shí)使用稀疏和密集檢索器。兩種嵌入技術(shù)相互補(bǔ)充,以提高檢索效果。稀疏檢索器能提供初始篩選結(jié)果。此外,稀疏模型增強(qiáng)了密集模型處理含罕見實(shí)體查詢的零樣本檢索能力,從而增強(qiáng)系統(tǒng)的穩(wěn)健性。

3.3.2 檢索器微調(diào)

在上下文可能與預(yù)訓(xùn)練語料庫有差異的情況下,尤其是在醫(yī)療保健、法律等具有大量專有術(shù)語的高度專業(yè)化領(lǐng)域。雖然這種調(diào)整需要額外付出努力,但能大幅提高檢索效率和領(lǐng)域?qū)R度。

監(jiān)督微調(diào)(Supervised Fine-Tuning,SFT):基于有標(biāo)記的領(lǐng)域數(shù)據(jù)微調(diào)檢索模型通常借助對(duì)比學(xué)習(xí)來實(shí)現(xiàn)。這涉及縮短正樣本間的距離,同時(shí)拉大負(fù)樣本間的距離。

LM 監(jiān)督檢索器(LM-supervised Retriever,LSR):與直接從數(shù)據(jù)集中構(gòu)建微調(diào)數(shù)據(jù)集不同,LSR 借助 LM 生成的結(jié)果作為監(jiān)督信號(hào),在 RAG 流程中對(duì)嵌入模型進(jìn)行微調(diào)。

適配器(Adapter):有時(shí),對(duì)大型檢索器進(jìn)行微調(diào)可能成本很高,尤其是在處理像 gte-Qwen 這類基于 LLMs 的檢索器時(shí)。在這種情況下,通過融入一個(gè)適配器模塊并進(jìn)行微調(diào)可以緩解此情況。添加適配器的另一個(gè)好處是能夠更好地與特定的下游任務(wù)相適配 。

3.4 檢索后

將所有檢索到的塊直接輸入到 LLM 并非最佳選擇,對(duì)塊進(jìn)行后處理有助于更好地利用上下文信息。主要的挑戰(zhàn)包括:

? 1)中間內(nèi)容丟失(Lost in the middle)。像人類一樣,LLM 往往只記得長(zhǎng)文本的開頭或結(jié)尾,而遺忘中間部分 。

? 2)噪聲/反事實(shí)塊(Noise/anti-fact chunks)。檢索到的有噪聲或事實(shí)上相互矛盾的文檔可能會(huì)影響最終的檢索生成 。

? 3)上下文窗口(Context Window)。盡管檢索到了大量相關(guān)內(nèi)容,但大型模型中上下文信息長(zhǎng)度的限制導(dǎo)致無法涵蓋所有這些內(nèi)容。

3.4.1 重新排序

在不改變其內(nèi)容或長(zhǎng)度的情況下對(duì)檢索到的塊進(jìn)行重新排序,以提升更關(guān)鍵文檔塊的可見性。

規(guī)則基重新排序:依照某些規(guī)則計(jì)算指標(biāo)來對(duì)塊進(jìn)行重新排序。常見的指標(biāo)包括:多樣性、相關(guān)性和 MRR(Maximal Marginal Relevance,最大邊際相關(guān)性) 。其思路是減少冗余并增加結(jié)果的多樣性。MRR 基于查詢相關(guān)性和信息新穎性的組合標(biāo)準(zhǔn)為最終的關(guān)鍵短語列表選取短語。

模型基重新排序:利用語言模型對(duì)文檔塊重新排序,通常依據(jù)塊與查詢之間的相關(guān)性。重新排序模型已成為 RAG 系統(tǒng)的重要組成部分,相關(guān)模型技術(shù)也在不斷迭代升級(jí)。重新排序的范圍還擴(kuò)展到了多模態(tài)數(shù)據(jù),比如表格和圖像 。

3.4.2 壓縮

在RAG流程中,人們普遍認(rèn)為,盡可能多地檢索相關(guān)文檔,并將它們串聯(lián)起來形成冗長(zhǎng)的檢索提示,是有益的。但這種認(rèn)知其實(shí)是個(gè)誤區(qū)。過多的上下文信息可能會(huì)帶來噪聲,影響大型語言模型(LLM)捕捉關(guān)鍵信息的能力。為了解決這個(gè)問題,通常采用壓縮和篩選檢索內(nèi)容的方法。

LLMLingua:利用經(jīng)過對(duì)齊和訓(xùn)練的小語言模型,比如GPT-2 Small或LLaMA-7B,可以從提示中識(shí)別并剔除不重要的標(biāo)記,將其轉(zhuǎn)化為一種對(duì)人類來說晦澀難懂,但對(duì)LLMs卻易于理解的形式。這種方法提供了一種直接而實(shí)用的提示壓縮方式,無需對(duì)LLMs進(jìn)行額外訓(xùn)練,同時(shí)保持了語言的完整性和壓縮比的平衡。

3.4.3 選擇

與壓縮文檔內(nèi)容不同,選擇是直接移除無關(guān)的文檔塊。

選擇性上下文:通過識(shí)別并剔除輸入上下文中的冗余內(nèi)容,可以精煉輸入,從而提升語言模型的推理效率。在實(shí)際操作中,選擇性上下文根據(jù)基礎(chǔ)語言模型計(jì)算的自信息來評(píng)估詞匯單元的信息量。通過保留自信息更高的內(nèi)容,這種方法提供了一種更簡(jiǎn)潔、高效的文本表示方式,且不會(huì)影響其在多樣化應(yīng)用中的表現(xiàn)。然而,這種方法忽略了壓縮內(nèi)容與目標(biāo)語言模型以及用于提示壓縮的小語言模型之間的相互依賴性

LLM-Critique:另一種直接而有效的方法,是在生成最終答案前,讓LLM評(píng)估檢索到的內(nèi)容。這允許LLM通過LLM批評(píng)機(jī)制,過濾掉相關(guān)性不高的文檔。例如,在Chatlaw中,LLM被引導(dǎo)自我推薦相關(guān)法律條款,以評(píng)估其相關(guān)性。

3.5 生成(Generation)

利用LLM根據(jù)用戶的查詢和檢索到的上下文信息生成答案。選擇一個(gè)符合任務(wù)需求的合適模型,考慮微調(diào)需求、推理效率和隱私保護(hù)等因素。

3.5.1 生成器微調(diào)

除了直接使用LLM外,根據(jù)場(chǎng)景和數(shù)據(jù)特征進(jìn)行有針對(duì)性的微調(diào),可以帶來更好的效果。這也是使用本地部署LLMs的一個(gè)顯著優(yōu)勢(shì)。

指令微調(diào)(Instruct-Tuning):當(dāng)LLMs在特定領(lǐng)域缺少數(shù)據(jù)時(shí),可以通過微調(diào)為其提供額外的知識(shí)。通用的微調(diào)數(shù)據(jù)集可以作為第一步。微調(diào)的另一個(gè)好處是能夠調(diào)整模型的輸入和輸出,例如,使LLM適應(yīng)特定的數(shù)據(jù)格式,并根據(jù)指令以特定風(fēng)格生成響應(yīng)。

強(qiáng)化學(xué)習(xí)(Reinforcement learning):通過強(qiáng)化學(xué)習(xí)來讓大型語言模型(LLM)的輸出與人類或檢索器的偏好相契合,是一種頗具潛力的方法。例如,對(duì)最終生成的答案進(jìn)行手動(dòng)標(biāo)注,然后借助強(qiáng)化學(xué)習(xí)給予反饋。除了與人類的偏好達(dá)成一致,與微調(diào)模型和檢索器的偏好相符合也是可行的。

雙重微調(diào)(Dual Fine-tuing):同時(shí)對(duì)生成器和檢索器進(jìn)行微調(diào),以實(shí)現(xiàn)它們偏好的一致。一種典型的方式,如 RA-DIT,利用 KL 散度來對(duì)齊檢索器和生成器之間的評(píng)分函數(shù)。

3.5.2 驗(yàn)證(Verification)

盡管 RAG 提升了大型語言模型生成答案的可靠性,但在眾多場(chǎng)景中,它需要將幻覺出現(xiàn)的概率降至最低。因此,可以通過額外的驗(yàn)證模塊來篩除不符合要求標(biāo)準(zhǔn)的響應(yīng)。常見的驗(yàn)證方法包含基于知識(shí)庫的和基于模型的。

知識(shí)庫驗(yàn)證:通過外部知識(shí)直接對(duì)大型語言模型生成的響應(yīng)進(jìn)行驗(yàn)證。通常,先從響應(yīng)中提取特定的陳述或三元組。而后,從經(jīng)過驗(yàn)證的知識(shí)庫(如維基百科或特定的知識(shí)圖譜)中檢索相關(guān)證據(jù)。最后,將每個(gè)陳述與證據(jù)逐步比對(duì),以判定該陳述是得到支持、被駁斥還是信息不足。

基于模型的驗(yàn)證:運(yùn)用小型語言模型來驗(yàn)證大型語言模型生成的響應(yīng)。給定輸入問題、檢索到的知識(shí)和生成的答案,訓(xùn)練一個(gè)小型語言模型來判別生成的答案是否正確反映了檢索到的知識(shí)。此過程被設(shè)定為一道選擇題,驗(yàn)證器需要判斷答案是否反映了正確答案。如果生成的答案未正確反映檢索到的知識(shí),可迭代地重新生成答案,直至驗(yàn)證器確認(rèn)答案正確。

3.6 編排(Orchestration)

編排涉及管理 RAG 過程的控制模塊。與傳統(tǒng)固定流程的僵化方式不同,RAG 如今在關(guān)鍵節(jié)點(diǎn)納入決策,并依據(jù)先前的結(jié)果動(dòng)態(tài)選擇后續(xù)步驟。這種自適應(yīng)和模塊化的能力是模塊化 RAG 的顯著特征,使其有別于更為簡(jiǎn)單的樸素和高級(jí) RAG 范式。

3.6.1 路由

面對(duì)不同的查詢,RAG 系統(tǒng)會(huì)路由到為不同場(chǎng)景定制的特定管道,這是為應(yīng)對(duì)各種情況而設(shè)計(jì)的多功能 RAG 架構(gòu)的基本特性。需要一個(gè)決策機(jī)制,依據(jù)來自模型的輸入或補(bǔ)充的元數(shù)據(jù),來確定將啟用哪些模塊。針對(duì)不同的提示或組件采用不同的路由。

3.6.2 調(diào)度

RAG 系統(tǒng)在復(fù)雜性和適應(yīng)性方面不斷演進(jìn),能夠借助復(fù)雜的調(diào)度模塊來管理流程。調(diào)度模塊在模塊化 RAG 中發(fā)揮著關(guān)鍵作用,能識(shí)別需要外部數(shù)據(jù)檢索的關(guān)鍵節(jié)點(diǎn),評(píng)估響應(yīng)的充分性,并決定是否需要進(jìn)一步的調(diào)查。它通常用于涉及遞歸、迭代和自適應(yīng)檢索的場(chǎng)景,確保系統(tǒng)能就何時(shí)停止生成或啟動(dòng)新的檢索循環(huán)做出明智決策。

規(guī)則判斷(Metadata routing):后續(xù)步驟由一組既定規(guī)則支配。通常,系統(tǒng)通過評(píng)分機(jī)制評(píng)估生成答案的質(zhì)量。繼續(xù)或停止該過程的決策取決于這些分?jǐn)?shù)是否超過某些預(yù)定閾值,這些閾值通常與單個(gè)token的置信水平有關(guān),接受 的條件是其中的所有令牌必須具有大于或等于閾值的相關(guān)概率。若不滿足此條件,系統(tǒng)會(huì)重新生成新答案。

LLM 判斷(Semantic routing)。LLM 獨(dú)立決定后續(xù)的行動(dòng)。有兩種主要方式來實(shí)現(xiàn)這種能力:

? 第一種方式利用 LLM 的上下文學(xué)習(xí)能力,并通過提示工程進(jìn)行判斷。這種方式的一個(gè)顯著優(yōu)點(diǎn)是無需對(duì)模型進(jìn)行微調(diào)。然而,判斷輸出的格式取決于 LLM 對(duì)所提供指令的遵循情況。

? 第二種方式涉及 LLM 生成特定token,通過微調(diào)來啟動(dòng)有針對(duì)性的行動(dòng)。這種技術(shù)源自 Toolformer ,已被集成到像 Self-RAG 這樣的框架中。這使得對(duì) LLM 的行動(dòng)有了更直接的控制機(jī)制,增強(qiáng)了系統(tǒng)對(duì)對(duì)話上下文中特定觸發(fā)因素的響應(yīng)能力。不過,它需要生成大量符合要求的指令集來微調(diào) LLM。

知識(shí)驅(qū)動(dòng)的調(diào)度策略(Knowledge-guide schedulin):突破了基于規(guī)則的方法的局限,也不再完全依賴大型語言模型(LLM)來控制流程,而是采用了一種更為靈活的中間策略——知識(shí)引導(dǎo)的調(diào)度。通過知識(shí)圖譜的強(qiáng)大功能,引導(dǎo)檢索和生成過程。從知識(shí)圖譜中提取與問題相關(guān)的信息,構(gòu)建一個(gè)由邏輯上相互關(guān)聯(lián)的節(jié)點(diǎn)組成的推理鏈,每個(gè)節(jié)點(diǎn)都承載著解決問題的關(guān)鍵信息。基于這一推理鏈的節(jié)點(diǎn)信息,可以分別進(jìn)行信息檢索和內(nèi)容生成。整合這種方法,不僅提升了問題解決的效率和精確度,也使得提供的解釋更加清晰明了。

3.6.3 融合

隨著RAG進(jìn)程的發(fā)展,已經(jīng)超越了單一的線性流程,經(jīng)常需要擴(kuò)大檢索范圍或通過探索多條流水線來增加多樣性。在擴(kuò)展到各個(gè)分支之后,融合模塊有效地整合了信息,確保了全面且連貫的響應(yīng)。融合模塊的作用不僅僅是合并答案,還要確保最終輸出內(nèi)容豐富,并且能夠反映出問題的多維度特性。

LLM融合(LLM fusion):將多分支的信息聚合起來最直接的方法之一是利用LLMs的強(qiáng)大功能來分析和整合不同分支的信息。然而,這種方法在處理超出LLM上下文窗口限制的長(zhǎng)答案時(shí)也面臨挑戰(zhàn)。為了解決這個(gè)問題,通常的做法是先對(duì)每個(gè)分支的答案進(jìn)行總結(jié),提取關(guān)鍵信息,然后再將其輸入到LLM中,以確保即使在長(zhǎng)度受限的情況下也能保留最重要的內(nèi)容。

加權(quán)集成(Weighted ensemble ):從多個(gè)分支生成的不同標(biāo)記的加權(quán)值,以實(shí)現(xiàn)對(duì)最終輸出的全面選擇。權(quán)重是根據(jù)文檔與輸入查詢之間的相似性得分來確定的。權(quán)重通過使用softmax函數(shù)來計(jì)算,確保了權(quán)重的歸一化,并且總和為一。

互反排名融合(RRF ,Reciprocal Rank Fusion):將多個(gè)檢索結(jié)果的排名合并成一個(gè)統(tǒng)一的列表。它采用定制的加權(quán)平均方法來提高整體的預(yù)測(cè)性能和排名精度。優(yōu)勢(shì)在于其動(dòng)態(tài)權(quán)重分配,這種分配是由分支之間的相互作用所決定的。在模型或來源的異質(zhì)性特別顯著的場(chǎng)景中,RRF尤其有效,它可以顯著提高預(yù)測(cè)的準(zhǔn)確性。

4. RAG 流與流模式

模塊化的 RAG 流能夠分解為子函數(shù)的圖。通過控制邏輯,運(yùn)算符能夠在預(yù)設(shè)的管道中執(zhí)行,同時(shí)在必要時(shí)進(jìn)行條件、分支或循環(huán)操作。在最簡(jiǎn)單的情形下,該圖為一個(gè)線性鏈。

4.1 線性模式(Linear Pattern)

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

常見的線性 RAG 流在預(yù)檢索階段涉及查詢轉(zhuǎn)換模塊(例如重寫或 HyDE 運(yùn)算符),并在檢索后階段運(yùn)用重新排序。重寫 - 檢索 - 讀取(RRR)是一種典型的線性結(jié)構(gòu)。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

如上圖所示,查詢重寫模塊 te 是在 T5-large 上微調(diào)的較小的可訓(xùn)練語言模型,在強(qiáng)化學(xué)習(xí)的背景下,重寫器的優(yōu)化被形式化為馬爾可夫決策過程,LLM 的最終輸出作為獎(jiǎng)勵(lì)。檢索器采用稀疏編碼模型,BM25。

4.2 條件模式(Conditional Pattern)

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

具有條件結(jié)構(gòu)的 RAG 流涉及依據(jù)不同條件選取不同的 RAG 管道,如上圖所示。管道的選擇是通過路由模塊實(shí)現(xiàn)的,該模塊決定流中的下一個(gè)模塊。

例如,對(duì)于與嚴(yán)肅問題、政治事務(wù)或娛樂主題相關(guān)的問題,對(duì)大型語言模型生成的響應(yīng)的容忍度各不相同。這些路由流在檢索源、檢索過程、配置、模型和提示等方面常常存在差異。

4.3 分支(Branching)

在許多情況下,RAG 流系統(tǒng)可能存在多個(gè)并行運(yùn)行的分支,通常是為了增加生成結(jié)果的多樣性。

預(yù)檢索分支化(多查詢并行檢索):

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

后檢索分支化(單查詢并行生成):

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

REPLUG 展現(xiàn)了一種典型的后檢索分支化架構(gòu),它預(yù)測(cè)了每個(gè)分支上每個(gè)標(biāo)記的概率。通過加權(quán)可能性的集成,各分支結(jié)果被綜合起來,最終生成的輸出用于通過反饋機(jī)制對(duì)檢索器進(jìn)行微調(diào),這個(gè)檢索器被稱為Contriever。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

4.4 循環(huán)模式(Loop Pattern)

具有循環(huán)結(jié)構(gòu)的 RAG 流,是模塊化 RAG 的一項(xiàng)重要特性,涵蓋相互依存的檢索與生成步驟,也包含用于流程控制的調(diào)度模塊。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

循環(huán)模式可進(jìn)一步劃分為迭代、遞歸和自適應(yīng)(主動(dòng))檢索方式。

4.4.1 迭代檢索(Iterative retrieval)

單次的檢索和生成或許無法有效處理需要大量知識(shí)的復(fù)雜問題,所以RAG 中能采用迭代方法,包含固定數(shù)量的檢索迭代。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

迭代檢索的一個(gè)典型示例為 ITER-RETGEN (如上圖),它對(duì)檢索增強(qiáng)生成和生成增強(qiáng)檢索進(jìn)行迭代。檢索增強(qiáng)生成基于所有檢索到的知識(shí)針對(duì)任務(wù)輸入給出響應(yīng)。在每次迭代中,ITER-RETGEN 借助前一次迭代的模型輸出作為特定情境來輔助檢索更多相關(guān)知識(shí)。循環(huán)的終止由預(yù)先設(shè)定的迭代次數(shù)決定。

4.4.2 遞歸檢索(Recursive retrieval)

與迭代檢索不同,遞歸檢索的顯著特點(diǎn)在于其對(duì)前一步驟的明確依賴以及檢索的不斷深入。通常,它遵循樹狀結(jié)構(gòu),并且具備清晰的終止機(jī)制作為遞歸檢索的退出條件。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

在 RAG 系統(tǒng)中,遞歸檢索通常涉及查詢變換,依靠每次檢索時(shí)新重寫的查詢。遞歸檢索的一個(gè)典型實(shí)現(xiàn)如 ToC,涉及遞歸執(zhí)行 RAC(遞歸增強(qiáng)澄清,Recursive Augmented Clarification),從初始的模糊問題(AQ,ambiguous question)逐步將子節(jié)點(diǎn)插入到澄清樹中。在每個(gè)擴(kuò)展步驟,依據(jù)當(dāng)前查詢對(duì)段落進(jìn)行重新排序以生成明確的問題(DQ,disambiguous Question)。當(dāng)達(dá)到最大有效節(jié)點(diǎn)數(shù)或最大深度時(shí),對(duì)樹的探索便告結(jié)束。一旦構(gòu)建好澄清樹,ToC 收集所有有效節(jié)點(diǎn)并生成一個(gè)全面的長(zhǎng)文本答案來解決 AQ。

4.4.3 自適應(yīng)(主動(dòng))檢索(Adaptive (Active) retrieval)

隨著 RAG 的發(fā)展,逐漸從被動(dòng)檢索轉(zhuǎn)向了自適應(yīng)檢索的出現(xiàn),也就是主動(dòng)檢索,這在一定程度上得益于 LLM 的強(qiáng)大能力。它與 LLM 代理有著相同的核心概念。RAG 系統(tǒng)能夠主動(dòng)確定檢索的時(shí)機(jī),并決定何時(shí)結(jié)束整個(gè)流程并得出最終結(jié)果。依照判斷標(biāo)準(zhǔn),這可進(jìn)一步細(xì)分為基于提示和基于調(diào)整的方法。

4.4.3.1 基于提示(Prompt-base)

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

基于提示的方法借助提示工程來掌控流程并引導(dǎo) LLM。一個(gè)典型的實(shí)現(xiàn)案例是 FLARE 。其核心觀念在于,LLM 僅在缺乏必要知識(shí)時(shí)才進(jìn)行檢索,從而避免在增強(qiáng)的 LM 中出現(xiàn)不必要或不恰當(dāng)?shù)臋z索。FLARE 會(huì)迭代生成下一個(gè)臨時(shí)句子,并檢查是否存在低概率標(biāo)記。若有,系統(tǒng)便會(huì)檢索相關(guān)文檔并重新生成句子。

4.4.3.2 基于微調(diào)(Tuning-base)

基于調(diào)整的方法涉及微調(diào) LLM 以生成特殊標(biāo)記,進(jìn)而觸發(fā)檢索或生成。這一概念可追溯至 Toolformer ,其中特定內(nèi)容的生成有助于調(diào)用工具。在 RAG 系統(tǒng)中,此方法用于控制檢索和生成步驟。

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

一個(gè)典型例子是 Self-RAG。給定輸入提示和先前的生成結(jié)果,首先預(yù)測(cè)特殊標(biāo)記“檢索”是否有助于通過檢索來增強(qiáng)繼續(xù)生成。然后,若需要檢索,模型會(huì)生成一個(gè)評(píng)判標(biāo)記來評(píng)估檢索到的段落的相關(guān)性,以及一個(gè)評(píng)判標(biāo)記來評(píng)估響應(yīng)中的信息是否得到檢索到的段落的支持。最后,一個(gè)評(píng)判標(biāo)記評(píng)估響應(yīng)的整體效用,并選取最優(yōu)結(jié)果作為最終輸出。

4.5 微調(diào)模式(Tuning Pattern)

RAG 持續(xù)與更多與 LLM 相關(guān)的技術(shù)相融合。在模塊化 RAG 中,許多組件由可訓(xùn)練的語言模型構(gòu)成。通過微調(diào),能夠進(jìn)一步優(yōu)化組件的性能以及與整體流程的兼容性。

微調(diào)階段的三種主要模式,即檢索器微調(diào)、生成器微調(diào)以及雙重微調(diào)。

4.5.1 檢索器微調(diào)

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

在 RAG 流程中,微調(diào)檢索器的常見方法如上圖,其中包括:

? 1.對(duì)檢索器進(jìn)行直接的監(jiān)督微調(diào)。構(gòu)建專門用于檢索的數(shù)據(jù)集,并對(duì)密集檢索器進(jìn)行微調(diào)。例如,使用開源檢索數(shù)據(jù)集或依據(jù)特定領(lǐng)域數(shù)據(jù)構(gòu)建一個(gè)。

? 2.添加可訓(xùn)練的適配器模塊。有時(shí),直接微調(diào) API 基礎(chǔ)嵌入模型(如 OpenAI Ada-002 和 Cohere)是行不通的。引入適配器模塊能夠增強(qiáng)數(shù)據(jù)的表示。此外,適配器模塊有助于更好地與下游任務(wù)對(duì)齊,無論是針對(duì)特定任務(wù)(如 PRCA )還是通用目的(如 AAR )。

? 3.LM 監(jiān)督檢索(LSR)。依據(jù) LLM 生成的結(jié)果對(duì)檢索器進(jìn)行微調(diào)。

? 4.LLM 獎(jiǎng)勵(lì) RL。將 LLM 輸出結(jié)果作為監(jiān)督信號(hào)。采用強(qiáng)化學(xué)習(xí)使檢索器與生成器對(duì)齊。整個(gè)檢索過程以生成馬爾可夫鏈的形式拆解。

4.5.2 生成器微調(diào)

模塊化RAG:RAG新范式,像樂高一樣搭建-AI.x社區(qū)圖片

在RAG流程中,對(duì)生成器進(jìn)行微調(diào)的幾種主要方法包括:

? 直接監(jiān)督式微調(diào)(Direct supervised fine-tuning):利用外部數(shù)據(jù)集進(jìn)行微調(diào),能夠?yàn)樯善髯⑷胄轮R(shí),并且還能定制化輸入輸出格式。通過設(shè)定問答模式,大型語言模型(LLM)能夠理解特定的數(shù)據(jù)格式,并按照指令進(jìn)行輸出。

? 蒸餾(Distillation):在本地部署開源模型時(shí),一種簡(jiǎn)單有效的優(yōu)化手段是利用GPT-4批量創(chuàng)建微調(diào)數(shù)據(jù),以此提升開源模型的性能。

? 基于LLM/人類反饋的強(qiáng)化學(xué)習(xí)(RL from LLM/human feedback):通過最終生成的答案反饋進(jìn)行強(qiáng)化學(xué)習(xí),不僅可以利用人類的評(píng)估,還能借助強(qiáng)大的LLMs作為評(píng)價(jià)的裁判。

4.5.3 雙重微調(diào)

RAG系統(tǒng)中的一大特色是能夠同時(shí)對(duì)檢索器和生成器進(jìn)行微調(diào)。系統(tǒng)微調(diào)的核心在于檢索器與生成器之間的協(xié)同配合。例如,RA-DIT就是一個(gè)典范,它對(duì)LLM和檢索器都進(jìn)行了微調(diào)。LM-ft組件負(fù)責(zé)更新LLM,以提高在檢索增強(qiáng)指令輔助下得出正確答案的可能性;而R-ft組件則負(fù)責(zé)更新檢索器,以減少檢索器得分分布與LLM偏好之間的KL散度差異。

本文轉(zhuǎn)載自??大語言模型論文跟蹤??,作者:HuggingAGI 


已于2024-8-6 11:28:53修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 亚洲精品乱码久久久久久按摩 | 欧美一区二区三区免费电影 | 国产午夜精品视频 | 日韩久久久一区二区 | 精品视频在线播放 | 人干人操| 欧洲妇女成人淫片aaa视频 | 久久国产精品首页 | 男女又爽又黄视频 | 亚洲精品小视频在线观看 | 精品一二区 | 97精品超碰一区二区三区 | 欧美视频在线看 | 成人高清在线视频 | 在线国产一区二区 | 99久热在线精品视频观看 | va在线| 免费一区二区 | 精品二 | 一区二区三区视频在线免费观看 | 亚洲国产日韩欧美 | 久久最新 | 中文字幕99| 在线看片国产 | 超碰人人91 | 国产一级在线观看 | av资源网站 | 国产成人精品一区二区三区在线 | 日本一区二区高清视频 | 欧美网站一区 | 欧美精品一区二区三区四区五区 | 午夜激情小视频 | 免费在线观看h片 | 一区二区在线免费播放 | 毛片大全 | 欧美精品一区二区三区蜜桃视频 | 九九热在线免费观看 | 日韩一级 | 久久99精品久久久 | 欧美日韩亚洲一区二区 | 最新国产视频 |