理解 RAG 第三部分:融合檢索與重新排序
我們之前介紹了什么是 RAG、它在大型語言模型 (LLM) 中的重要性,以及 RAG 的經(jīng)典檢索器、生成器系統(tǒng)是什么樣的,本系列的第三篇文章探討了一種構(gòu)建 RAG 系統(tǒng)的升級(jí)方法:融合檢索。
在深入探討之前,值得簡要回顧一下我們?cè)诒鞠盗械诙糠种刑接戇^的基本 RAG 方案。
融合檢索解析
融合檢索方法涉及在檢索增強(qiáng)生成(RAG)系統(tǒng)的檢索階段中融合或聚合多個(gè)信息流?;仡櫼幌拢跈z索階段,檢索器——一個(gè)信息檢索引擎——接收用戶對(duì)大型語言模型(LLM)的原始查詢,將其編碼為向量數(shù)值表示,并用它在龐大的知識(shí)庫中搜索與查詢強(qiáng)烈匹配的文檔。之后,通過添加來自檢索到的文檔的結(jié)果上下文信息來增強(qiáng)原始查詢,最后將增強(qiáng)后的輸入發(fā)送給LLM以生成響應(yīng)。
通過在檢索階段應(yīng)用融合方案,可以在原始查詢的基礎(chǔ)上添加更加連貫和上下文相關(guān)的背景信息,從而進(jìn)一步改善由LLM生成的最終響應(yīng)。融合檢索利用從多個(gè)提取文檔(搜索結(jié)果)中獲取的知識(shí),并將其組合成更有意義和準(zhǔn)確的上下文。然而,我們已經(jīng)熟悉的經(jīng)典RAG方案也可以從知識(shí)庫中檢索多個(gè)文檔,而不僅僅是單一文檔。那么這兩種方法之間有什么區(qū)別呢?
經(jīng)典RAG與融合檢索之間的關(guān)鍵區(qū)別在于如何處理和整合檢索到的多個(gè)文檔以形成最終響應(yīng)。在經(jīng)典的RAG中,檢索到的文檔內(nèi)容只是簡單地串聯(lián)起來,或者最多是抽取式摘要,然后作為額外的上下文輸入LLM以生成響應(yīng),不涉及高級(jí)融合技術(shù)的應(yīng)用。而在融合檢索中,則使用更專業(yè)的機(jī)制來跨多個(gè)文檔組合相關(guān)信息。這種融合過程可以發(fā)生在增強(qiáng)階段(檢索階段)或甚至是在生成階段。
- 增強(qiáng)階段中的融合
包括在將多個(gè)文檔傳遞給生成器之前應(yīng)用重新排序、過濾或合并的技術(shù)。兩個(gè)例子是重排序和聚合:重排序指的是根據(jù)相關(guān)性對(duì)文檔進(jìn)行評(píng)分和排序后再與用戶提示一起輸入模型;聚合則是將每個(gè)文檔中最相關(guān)的部分合并成一個(gè)單獨(dú)的上下文。聚合通過經(jīng)典的信息檢索方法實(shí)現(xiàn),如TF-IDF(詞頻-逆文檔頻率)、嵌入操作等。
- 生成階段中的融合
涉及到LLM(生成器)獨(dú)立處理每一個(gè)檢索到的文檔——包括用戶提示——并在生成最終響應(yīng)時(shí)融合數(shù)個(gè)處理任務(wù)的信息。廣義上講,RAG中的增強(qiáng)階段成為了生成階段的一部分。這一類別中的一種常見方法是解碼器中的融合(FiD),它允許LLM分別處理每個(gè)檢索到的文檔,然后在生成最終響應(yīng)時(shí)結(jié)合它們的見解。
重排序是一種最簡單但有效的融合方法,能夠有意義地結(jié)合來自多個(gè)檢索來源的信息。接下來的部分簡要解釋了它是如何工作的。
重排序的工作原理
在重排序過程中,檢索器獲取的初始文檔集會(huì)被重新排序,以提高與用戶查詢的相關(guān)性,從而更好地滿足用戶需求并提升整體輸出質(zhì)量。檢索器將獲取的文檔傳遞給一個(gè)稱為“排序器”的算法組件,該組件根據(jù)諸如學(xué)習(xí)到的用戶偏好等標(biāo)準(zhǔn)重新評(píng)估檢索結(jié)果,并對(duì)文檔進(jìn)行排序,目的是最大化呈現(xiàn)給特定用戶的結(jié)果相關(guān)性。諸如加權(quán)平均或其他形式的評(píng)分機(jī)制被用來組合和優(yōu)先排列排名最高的文檔,使得排名靠前的文檔內(nèi)容比排名較低的文檔內(nèi)容更有可能成為最終合并上下文的一部分。
下圖展示了重排序機(jī)制的工作原理:
為了更好地理解重排序,我們以東亞旅游為背景描述一個(gè)例子。想象一位旅行者向一個(gè)RAG系統(tǒng)查詢“亞洲自然愛好者最佳目的地”。初始檢索系統(tǒng)可能會(huì)返回一系列文檔,包括通用的旅行指南、關(guān)于亞洲熱門城市的文章,以及對(duì)自然公園的推薦。然而,一個(gè)重排序模型可以利用額外的旅行者特定偏好和上下文數(shù)據(jù)(例如偏好的活動(dòng)、之前喜歡的活動(dòng)或去過的目的地)對(duì)這些文檔重新排序,從而優(yōu)先展示對(duì)該用戶最相關(guān)的內(nèi)容。它可能會(huì)突出一些寧靜的國家公園、鮮為人知的徒步小徑以及生態(tài)友好的旅行路線,而這些可能不會(huì)出現(xiàn)在大多數(shù)人的推薦列表前列。通過這種方式,它為像目標(biāo)用戶這樣的自然愛好者游客提供了“直擊要點(diǎn)”的結(jié)果。
總之,重排序基于額外的用戶相關(guān)性標(biāo)準(zhǔn)重新組織多個(gè)檢索到的文檔,集中關(guān)注排名靠前的文檔內(nèi)容提取過程,從而提高后續(xù)生成響應(yīng)的相關(guān)性。