奇思妙想:多頭RAG 原創(chuàng)
大模型技術(shù)論文不斷,每個月總會新增上千篇。本專欄精選論文?重點解讀,主題還是圍繞著行業(yè)實踐和工程量產(chǎn)。若在某個環(huán)節(jié)出現(xiàn)卡點,可以回到大模型必備腔調(diào)?或者LLM背后的基礎(chǔ)模型?新閱讀。而最新科技(Mamba,xLSTM,KAN)?則提供了大模型領(lǐng)域最新技術(shù)跟蹤。若對于具身智能感興趣的請移步具身智能專欄?。技術(shù)宅麻煩死磕AI架構(gòu)設(shè)計。當然最重要的是訂閱“魯班模錘”。
1.RAG
檢索增強生成 (RAG) 是一種通過集成文檔檢索系統(tǒng)來增強大型語言模型 (LLMs) 功能的方法。這種集成允許LLMs從外部來源獲取相關(guān)信息,從而提高生成的響應(yīng)的準確性和相關(guān)性。這種方法解決了傳統(tǒng)LLMs方法的局限性,例如需要廣泛的培訓(xùn)以及提供過時或不正確信息的風(fēng)險。RAG的主要優(yōu)勢在于它能夠?qū)⒛P偷妮敵鼋⒃诳煽康膩碓粗校瑥亩鴾p少幻覺并確保最新的知識,而無需昂貴的持續(xù)培訓(xùn)。
RAG 面臨的一個重大挑戰(zhàn)是處理需要具有不同內(nèi)容的多個文檔的查詢。此類查詢在各個行業(yè)中都很常見,但會帶來困難,因為所需的文檔可能具有截然不同的嵌入,因此很難準確檢索所有相關(guān)信息。這個問題需要一個能夠有效地從多個來源獲取和組合信息的解決方案。在復(fù)雜的場景中,如化工廠事故,從與設(shè)備維護、天氣狀況和工人管理等各個方面相關(guān)的文檔中檢索數(shù)據(jù)對于提供全面的答案至關(guān)重要。
現(xiàn)有的 RAG 解決方案通常使用 Transformer 模型的最后一層解碼器模塊的嵌入來檢索文檔。但是,此方法需要充分處理多方面查詢,因為它難以檢索涵蓋明顯不同內(nèi)容方面的文檔。當前的一些技術(shù)包括 RAPTOR、Self-RAG 和 Chain-of-Note,它們專注于提高檢索準確性,但無法有效處理復(fù)雜的多方面查詢。這些方法旨在優(yōu)化檢索數(shù)據(jù)的相關(guān)性,但需要幫助來處理多方面查詢所需的文檔內(nèi)容的多樣性。
2.MRAG
來自蘇黎世聯(lián)邦理工學(xué)院、Cledar、巴斯夫歐洲公司和華沙理工大學(xué)的研究人員推出了多頭 RAG (MRAG) 來解決多方面查詢問題。這種新穎的方案利用了 Transformer 模型的多頭注意力層的激活,而不是最后一層解碼器的激活。研究團隊設(shè)計了MRAG,利用不同的注意力頭來捕獲各種數(shù)據(jù)方面,從而提高復(fù)雜查詢的檢索準確性。<若讀者對于多頭注意力機制有所忘記的話,可以移步“深入注意力機制”。> 通過利用多頭注意力機制,MRAG創(chuàng)建了代表數(shù)據(jù)在各個維度的嵌入,增強系統(tǒng)跨不同內(nèi)容區(qū)域獲取相關(guān)信息的能力。
MRAG的關(guān)鍵創(chuàng)新是使用來自多個注意力頭的激活來創(chuàng)建嵌入。Transformer 模型中的每個注意力頭都可以學(xué)習(xí)捕獲不同的數(shù)據(jù)方面,從而產(chǎn)生表示數(shù)據(jù)項和查詢各個方面的嵌入。與標準RAG相比,此方法使 MRAG能夠更有效地處理多方面查詢,而不會增加空間要求。MRAG在數(shù)據(jù)準備階段使用來自多頭注意力層的激活來構(gòu)建嵌入。在查詢執(zhí)行期間,這些多方面嵌入允許從不同的嵌入空間中檢索相關(guān)的文本塊,從而解決多方面查詢的復(fù)雜性。
MRAG背后的關(guān)鍵思想很簡單,利用最后一個注意層為最后的Token生成的H個獨立激活向量,而不是利用最后一個解碼器的前饋層為最后的Token生成的單個激活向量。
對于輸入的最后一個Token(????),在還沒有傳送到前饋層前,利用多個注意力頭的激活向量構(gòu)造嵌入:S={ek?k},其中ek = headk(????),S是輸入的最后一個Token(????)上注意頭的所有輸出集合。
由于使用多個頭進行處理不會改變輸出向量的大小,因此S具有與標準 RAG 相同的空間要求。但是,由于在將單獨的嵌入與Wo混合之前捕獲它們,推測這些向量可以提供有關(guān)輸入不同部分的關(guān)注內(nèi)容信息,從而有助于捕獲更多維的信息。如下圖所示,傳統(tǒng)的RAG將每個文檔塊放在一個空間,而MRAG則是將原來的空間切分為更小的子空間。
既然將文本的索引切分到多個子空間,而檢索策略需要升級,進而在給定用戶查詢下從數(shù)據(jù)庫中選擇最接近的文本塊。通常,MRAG檢索策略包括三個步驟。第一,在數(shù)據(jù)準備期間,為所有h個嵌入空間分配重要性分數(shù)。直觀地說,這些分數(shù)反映了不同空間可能與所用數(shù)據(jù)的重要性。
頭部h的得分 si 由兩部分組成,ai 和 bi。向量空間i指的是被剛才算法切分形成的h個子空間的某一個。ai 是向量空間i中所有嵌入的 L2 范數(shù)的平均值;它表示給定頭部的重要性:范數(shù)越大,對該注意力頭部的關(guān)注就越多。bi 是向量空間i中所有嵌入之間的余弦距離的平均值。直觀地講,bi 是測量向量空間 i 的“分散”。將 si導(dǎo)出為 ai · bi 的乘積可確保獎勵具有高平均注意力和高平均分散率的子空間,但同時懲罰相反的子空間。
第二,在查詢執(zhí)行期間,MRAG 對每個嵌入空間分別應(yīng)用傳統(tǒng)的RAG檢索。這將返回每個嵌入空間的c個最接近的文本塊列表(總共h*C塊)。這里需要使用投票策略,使用預(yù)先計算的重要性分數(shù)從所有 h*c個塊中挑選出總體排名前k個。
本次的實驗將MTEB排行榜上的兩個嵌入模型視為候選模型。SFR-embedding-Model和e5-mistral-7b-instruct均基于Mistral 7B架構(gòu),每個多頭注意力有32 個解碼器塊和32個注意力頭。
上面是一個示例,最上面為查詢的Prompt模板。第二行左一為知識庫,左二和左三分別為傳統(tǒng)的RAG和MRAG。針對兩種算法,實驗的結(jié)果標記在PROMPT中。
對比結(jié)果會發(fā)現(xiàn),MRAG 顯著提高了檢索相關(guān)性,在獲取多方面文檔方面,其性能比標準 RAG 基線高出 20%。該評估使用了合成數(shù)據(jù)集和真實世界的用例,證明了 MRAG 在不同場景中的有效性。例如,在涉及多方面維基百科條目的測試中,MRAG 的相關(guān)性比標準 RAG 基線提高了 20%。此外,MRAG在法律文件合成和化工廠事故分析等實際任務(wù)中的表現(xiàn)也展示了其實際優(yōu)勢。在法律文件綜合任務(wù)中,MRAG從各種法律框架中檢索上下文相關(guān)文件的能力尤其值得稱贊。
此外,MRAG的優(yōu)勢不僅限于檢索精度。該方法經(jīng)濟高效且節(jié)能,不需要額外的LLM查詢、多個模型實例、增加的存儲或?qū)η度肽P瓦M行多次推理傳遞。這種效率與增強的檢索準確性相結(jié)合,使MRAG 成為RAG系統(tǒng)領(lǐng)域的寶貴進步LLMs。MRAG 可以與現(xiàn)有的RAG框架和基準測試工具無縫集成,為復(fù)雜的文檔檢索需求提供多功能且可擴展的解決方案。
本文轉(zhuǎn)載自 ??魯班模錘??,作者: 龐德公
