16種新型RAG最新進(jìn)展
RAG,可以說是大模型時(shí)代最成功的落地模式之一,通過檢索-生成的方式,極大的拓展了大模型的應(yīng)用邊界, 但是,RAG 在落地實(shí)踐上卻沒有那么簡單。相信做過 RAG 系統(tǒng)的小伙伴都碰到過如下的問題:什么場景或問題下需要檢索?1+2=?的計(jì)算題好像不需要,但為什么 1+2=3 好像就需要。檢索到的信息是否有用?是否正確?檢索到的信息怎么用?直接與用戶的問題拼接還是需要進(jìn)行信息壓縮后拼接?以什么邏輯進(jìn)行召回?召回信息是否需要排序?……這些問題沒有“放之四海皆準(zhǔn)”的答案,在不同的場景、數(shù)據(jù)下,解決方案各不相同。從 23 年 RAG 火爆以來,各類 RAG 框架或解決方案沒有上百也有幾十個(gè)了,AnythingLLM、RAGFlow、Ollama 等,每一個(gè)都能搭建出一個(gè)完整基于 RAG 的知識庫,但是通用 ≠ 好用。每一個(gè)場景、甚至每一個(gè)人的數(shù)據(jù)都是獨(dú)特的,這對于 RAG 系統(tǒng)的效果帶來了巨大的挑戰(zhàn)。但這也帶來了 RAG 領(lǐng)域研究的百花齊放。今天,和各位小伙伴,一起看下最近的幾篇關(guān)于 RAG 的文章,了解下學(xué)術(shù)界在 RAG 上探索。簡短總結(jié)版可以看出以下幾個(gè)趨勢:專業(yè)化趨勢:許多 RAG 變體都針對特定領(lǐng)域進(jìn)行了優(yōu)化,如醫(yī)療、金融、材料科學(xué)等多模態(tài)融合:越來越多的 RAG 技術(shù)開始處理多模態(tài)數(shù)據(jù),如視頻、圖像、文本的結(jié)合安全性考慮:隨著 RAG 技術(shù)的普及,安全性問題(如 RAG-Thief 所研究的)也開始受到關(guān)注效率優(yōu)化:新的 RAG 變體都在嘗試通過各種方式提升處理效率,降低計(jì)算成本可解釋性提升:許多新方法都強(qiáng)調(diào)了可解釋性的重要性,試圖讓模型決策過程更透明基礎(chǔ)架構(gòu)的創(chuàng)新你有沒有遇到過這樣的情況,讓 RAG 回答一個(gè)問題,它要么給出一大堆相關(guān)但不夠準(zhǔn)確的信息,要么干脆答非所問。這就像一個(gè)初入職場的新人,雖然知識儲(chǔ)備不錯(cuò),但不太懂得“抓重點(diǎn)”。針對這些基礎(chǔ)問題,研究者們提出了一系列創(chuàng)新性的解決方案。比如中科院提出的 AutoRAG,它不再是簡單地“給什么找什么”,而是讓 RAG 系統(tǒng)學(xué)會(huì)自主判斷。假設(shè)你問“誰是《怪物史萊克》中驢子的配音演員?”,普通的 RAG 系統(tǒng)可能會(huì)傻乎乎地去搜索所有包含“驢子”和“配音”的資料。但 AutoRAG 會(huì)這樣思考:看到區(qū)別了吧,AutoRAG 就像一個(gè)會(huì)自主思考的助手,知道該怎么一步步找到最準(zhǔn)確的答案。同時(shí),它還可以用自然語言解釋自己的思考過程,讓你明白它為什么這樣做。這種透明度在實(shí)際應(yīng)用中特別重要。CORAG 則從另一個(gè)角度提出了解決方案?,F(xiàn)有的 RAG 系統(tǒng)在選擇文本塊時(shí)往往考慮,忽視了文本塊之間的相關(guān)性。這就像是在解答一個(gè)復(fù)雜問題時(shí),只看到了各個(gè)零散的知識點(diǎn),卻沒有將它們有機(jī)地聯(lián)系起來。CORAG 的核心創(chuàng)新在于使用蒙特卡洛樹搜索(MCTS)來探索文本塊的最優(yōu)組合順序,同時(shí)引入配置代理來動(dòng)態(tài)調(diào)整系統(tǒng)參數(shù)。它就像是在玩一個(gè)高級版的拼圖游戲:不過,這種方法也有其局限性:構(gòu)建和遍歷策略樹需要較多計(jì)算資源,參數(shù)的調(diào)整也需要仔細(xì)權(quán)衡。我們都知道大模型是有上下文長度限制的,過長的上下文內(nèi)容會(huì)顯著的降低大模型的效果。在 RAG 中尤為明顯,為了讓 RAG 能夠“記住”和“理解”知識,研究者們提出了一些非常有意思的解決方案。FastRAG 制定了一個(gè)“兩步走”的策略,先用簡單的關(guān)鍵詞匹配快速劃定范圍,再用更復(fù)雜的語義分析找出最相關(guān)的內(nèi)容,就像你在找一本書,先看書架的分類標(biāo)簽找到大致區(qū)域,再根據(jù)書名和目錄找到具體的那本。這不就是傳統(tǒng)搜索引擎的召回-粗排-精排的邏輯嘛。可能 AssistantRAG 的作者出發(fā)點(diǎn)是想借鑒 Adapter 的思想,提出了一個(gè)很類似的設(shè)計(jì):既然一個(gè)大模型的記憶能力有限,那么給主模型配備一個(gè)“專業(yè)秘書”模型。秘書模型負(fù)責(zé)記憶管理和知識管理,它會(huì)記錄歷史問答信息,評估這些記憶對當(dāng)前問題的幫助程度;還會(huì)將復(fù)雜問題分解成簡單的子問題,針對每個(gè)子問題檢索外部知識庫,主模型負(fù)責(zé)生成最終的輸出。這種方法的優(yōu)勢在于靈活性強(qiáng),在不同的場景,通過更換秘書模型達(dá)到快速適配的目的。MemoryRAG 引入了一個(gè)“記憶模塊”,就像是一個(gè)經(jīng)驗(yàn)豐富的圖書管理員,不僅懂得找書,還能理解讀者的潛在需求。就像是你要找一本關(guān)于愛情主題的書籍的時(shí)候,可能書名根本不包括愛情。MemoryRAG 采用了雙重架構(gòu),一個(gè)負(fù)責(zé)處理長文本形成整體印象,另一個(gè)負(fù)責(zé)最終的回答生成。這種設(shè)計(jì)特別適合處理需要全局理解的復(fù)雜查詢,比如分析文學(xué)作品中的人物關(guān)系、總結(jié)長篇報(bào)告等任務(wù)。為了更好的利用外部的知識,RuAG 通過規(guī)則增強(qiáng)的方式來提升模型的理解能力。比如在天氣預(yù)測場景中,與其讓模型記住大量天氣數(shù)據(jù),不如教會(huì)它理解“如果溫度超過 30 度且濕度低于 50%,那么天氣晴朗”這樣的規(guī)則。這種方法更容易理解和記憶,計(jì)算成本也較低。復(fù)雜數(shù)據(jù)的處理隨著 RAG 應(yīng)用場景的不斷增多,我們可能會(huì)遇到各種各樣的數(shù)據(jù),網(wǎng)頁、PDF、文本、時(shí)序、音頻、視頻等等,每種數(shù)據(jù)類型都帶來了獨(dú)特的挑戰(zhàn)。在網(wǎng)頁數(shù)據(jù)處理方面,HtmlRAG 提供了一個(gè)很巧妙的解決方案。它不是簡單地把網(wǎng)頁轉(zhuǎn)換成純文本,而是嘗試保留那些傳達(dá)重要含義的 HTML 標(biāo)簽。它首先會(huì)清理掉網(wǎng)頁中的廣告代碼、樣式表等“干擾信息”,但會(huì)保留那些傳達(dá)重要含義的 HTML 標(biāo)簽。比如說,“<h1>Windows 安裝教程</h1>”這樣的標(biāo)簽就會(huì)被保留,因?yàn)樗嬖V我們這是一個(gè)重要的標(biāo)題。相比純文本的方式,基于這樣的結(jié)構(gòu)化信息, HtmlRAG 能夠更加高效的利用網(wǎng)頁信息。時(shí)間序列預(yù)測是個(gè)老生常談的問題,比如預(yù)測明天的天氣、股票走勢、電力消耗等。傳統(tǒng)方法往往把這些預(yù)測看作是的任務(wù)。但想想看,如果我們能找到歷史上相似的情況作為參考,預(yù)測效果會(huì)不會(huì)更好呢?舉個(gè)簡單的例子:假設(shè)你在預(yù)測某個(gè)城市明天的溫度。如果你能找到歷史上天氣條件非常相似的那幾天,看看那之后溫度是怎么變化的,這樣的預(yù)測顯然會(huì)更準(zhǔn)確。這就是論文提出檢索增強(qiáng)預(yù)測(RAF)的核心思想。它會(huì)先在歷史數(shù)據(jù)中找到類似的模式片段,看看那個(gè)歷史數(shù)據(jù)之后模式是怎么變化的,再將這些歷史經(jīng)驗(yàn)作為預(yù)測的參考。除了文本之外,有沒有想過,RAG 的思想也是可以應(yīng)用到視頻理解場景的,但你知道現(xiàn)在的大語言模型處理長視頻時(shí)會(huì)遇到什么問題嗎?最主要的就是“記不住” – 上下文窗口的限制讓它們難以處理長視頻。有的團(tuán)隊(duì)試圖通過微調(diào)來擴(kuò)展模型的處理能力,有的則嘗試使用更大的模型。但這些方法要么需要大量訓(xùn)練數(shù)據(jù),要么成本太高。VideoRAG 提出了一個(gè)很獨(dú)特的方法。它從不同角度來理解視頻:從多個(gè)維度去理解視頻確實(shí)能夠得到更好的效果,但不同信息之間的對齊可能是一個(gè)需要考慮的問題。垂直領(lǐng)域的創(chuàng)新RAG 技術(shù)在各個(gè)垂直領(lǐng)域都展現(xiàn)出了強(qiáng)大的應(yīng)用潛力,研究者們針對不同領(lǐng)域的特點(diǎn),提出了一系列創(chuàng)新性的解決方案。我們知道,在醫(yī)療領(lǐng)域,精確和可靠的診斷信息處理至關(guān)重要。LabRAG 模仿了醫(yī)生看片的過程,先識別關(guān)鍵的醫(yī)學(xué)發(fā)現(xiàn),再基于這些發(fā)現(xiàn)寫報(bào)告。PathRAG 專門針對病理切片圖像進(jìn)行了優(yōu)化,它結(jié)合了關(guān)鍵區(qū)域識別和大語言模型,在準(zhǔn)確率上提高了將近 10 個(gè)百分點(diǎn)。MMedRAG 解決了醫(yī)療視覺語言模型在生成回答時(shí)經(jīng)常產(chǎn)生幻覺的問題,它引入了領(lǐng)域感知的檢索機(jī)制、自適應(yīng)的上下文選擇方法和基于 RAG 的偏好微調(diào)策略,顯著提高了生成內(nèi)容的原創(chuàng)性和可靠性。在材料科學(xué)領(lǐng)域,G-RAG 提供了一個(gè)非常創(chuàng)新的解決方案。它將圖數(shù)據(jù)庫整合到檢索過程中,通過實(shí)體提取與關(guān)聯(lián)、智能文檔解析、圖譜增強(qiáng)檢索等技術(shù),在準(zhǔn)確性評分上遠(yuǎn)高于傳統(tǒng) RAG 系統(tǒng)。這種提升在材料科學(xué)這樣需要精確信息的領(lǐng)域特別重要。RAGDiffusion 為時(shí)尚電商領(lǐng)域提供了一個(gè)實(shí)用的解決方案。它像一個(gè)經(jīng)驗(yàn)豐富的攝影師,通過分析輸入的服裝照片,在標(biāo)準(zhǔn)服裝圖片數(shù)據(jù)庫中尋找相似的參考樣本,再采用多層次的生成對齊策略,確保生成圖片的高質(zhì)量。比較讓人意外的是,這個(gè)系統(tǒng)的泛化性也非常的好,通過簡單更新檢索數(shù)據(jù)庫,就能夠處理全新的服裝款式,這種靈活性在快速變化的時(shí)尚行業(yè)特別重要。金融分析師每天要閱讀大量的財(cái)報(bào)、公告、研究報(bào)告,而且時(shí)效性要求特別高。針對這種情況,研究者們開發(fā)了 MultiReranker 系統(tǒng)。它的工作方式如下:首先,它會(huì)對用戶的問題進(jìn)行多維度的拆解和改寫,比如當(dāng)你問“Q3 的 ROE 是多少”時(shí),系統(tǒng)會(huì)先理解:然后,它采用了一個(gè)“多級篩選”的策略,就像是組建了一個(gè)金融分析師團(tuán)隊(duì):通過多級的檢索機(jī)制實(shí)現(xiàn)對信息對高效利用。特別是,當(dāng)輸入文本太長時(shí),系統(tǒng)會(huì)把文檔分成兩半分別處理,然后再把生成的答案合并起來,既保證了準(zhǔn)確性,又提高了效率。RAG 的劍沒有絕對安全的系統(tǒng),也沒有絕對安全的技術(shù)。隨著 RAG 技術(shù)在醫(yī)療、金融、法律等敏感領(lǐng)域的廣泛應(yīng)用,安全性問題日益凸顯。RAG-Thief 的研究讓我們清晰地看到了當(dāng)前 RAG 系統(tǒng)中存在的安全隱患。很多人可能會(huì)覺得疑惑:RAG 系統(tǒng)不是只會(huì)返回相關(guān)信息嗎,怎么會(huì)有安全問題呢?但研究者通過巧妙設(shè)計(jì)的實(shí)驗(yàn)揭示了其中的風(fēng)險(xiǎn)。想象一下,如果一家醫(yī)院使用 RAG 系統(tǒng)來回答醫(yī)療咨詢,當(dāng)有人問“感冒有什么癥狀”時(shí),系統(tǒng)會(huì)正常地返回一般性的醫(yī)學(xué)知識。但如果有人用特殊的方式提問,比如巧妙地設(shè)計(jì)問題來套取原始病例信息,系統(tǒng)可能就會(huì)不經(jīng)意間泄露病人的隱私數(shù)據(jù)。論文發(fā)現(xiàn),在沒有特殊防護(hù)措施的情況下,攻擊者能夠提取出超過 70% 的知識庫內(nèi)容。針對這些問題,也有一些可以探索的措施。例如,在系統(tǒng)層面,需要建立嚴(yán)格的訪問控制機(jī)制,對檢索內(nèi)容進(jìn)行脫敏處理,并建立完善的安全審計(jì)系統(tǒng)。在算法層面,可以引入噪聲擾動(dòng)和差分隱私技術(shù),降低信息泄露的風(fēng)險(xiǎn)。在日常運(yùn)營中,定期的安全評估和及時(shí)的漏洞修復(fù)也是不可或缺的??偨Y(jié)最后,來一個(gè)小小的總結(jié)吧。RAG 的范式是簡單可理解的,但真正落地實(shí)踐的過程中,會(huì)有許許多多的問題和痛點(diǎn)。上面提到的 RAG 方法或框架,也只是給出了優(yōu)化探索的方向,真正在自己的場景中發(fā)揮 RAG 的效果,還是有一段路需要摸索。在實(shí)際中應(yīng)用 RAG 的時(shí)候,可以進(jìn)行綜合的考慮,效果不佳的情況下可以嘗試進(jìn)行各種組合,在效果不達(dá)標(biāo)的情況下,不要過度的考慮性能,畢竟,拋開效果談性能也是耍流氓!參考文獻(xiàn)[1] https://arxiv.org/pdf/2411.02959 [2] https://arxiv.org/pdf/2411.13773 [3] https://arxiv.org/pdf/2411.19443[4]https://arxiv.org/pdf/2411.00744 [5]https://arxiv.org/pdf/2409.05591[6]https://arxiv.org/pdf/2411.14110[7]https://arxiv.org/pdf/2411.06805[8]https://arxiv.org/pdf/2411.16523 [9]https://arxiv.org/pdf/2411.13093 [10]https://arxiv.org/pdf/2411.08249 [11]https://arxiv.org/pdf/2411.03349 [12]https://arxiv.org/pdf/2410.13085[13]https://arxiv.org/pdf/2411.17073 [14]https://arxiv.org/pdf/2411.16732[15]https://arxiv.org/pdf/2411.14592 [16]https://arxiv.org/pdf/2411.19528