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

為什么 RAG 一定需要 Rerank? 原創

發布于 2025-3-20 19:11
瀏覽
0收藏

今天想和大家深入探討一下檢索增強生成(RAG)中的一個重要環節——重排序(Rerank)。

RAG 技術一直以來都備受關注,尤其是當它與大模型(LLM)結合后,人們都滿懷期待地認為:這下終于可以輕松解決那些復雜的問答任務了!然而,現實往往并不如人意。很多開發者在完成一個 RAG 流程后,都會感到困惑:為什么它的效果并沒有達到預期呢?

為什么 RAG 一定需要 Rerank?-AI.x社區

其實,和大多數工具一樣,RAG 的使用雖然簡單,但想要真正精通卻并非易事。事實上,RAG 并不僅僅是將文檔存儲到向量數據庫中,然后在其上簡單地添加一個 LLM。雖然這種方式在某些情況下可能會奏效,但并不總是有效。

因此,今天我們就來聊聊當現有的 RAG 流程無法達到理想效果時,我們該怎么辦。如果你經常遇到 RAG 表現欠佳的情況,這里有一個最容易且最快實施的解決方案——重排序(Rerank)。

1、召回率與上下文窗口

在深入探討解決方案之前,我們先來剖析一下傳統 RAG(檢索增強生成)流程中存在的問題。在 RAG 的應用中,我們常常需要對海量的文本文檔進行語義搜索,這些文檔的數量可能從幾萬篇到幾百億篇不等。

為了在大規模搜索中保證足夠的速度,我們通常會采用向量搜索技術。具體來說,就是將文本轉換為向量形式,將它們放置在同一個向量空間中,然后利用余弦相似度等相似性度量方法,來比較這些向量與查詢向量之間的接近程度。

向量搜索的關鍵在于向量本身。這些向量本質上是將文本背后的“含義”壓縮成一個低維向量(通常是 768 維或 1024 維)。然而,這種壓縮過程不可避免地會導致部分信息的丟失。

由于信息丟失,我們常常會遇到這樣的情況:向量搜索返回的前幾篇文檔中,可能遺漏了重要的相關信息。而這些相關信息,可能出現在我們設置的 top_k 閾值之外。

那么,如果這些位置靠后的相關信息能夠幫助我們的 LLM(大型語言模型)生成更好的回答,我們該怎么辦呢?最直接的方法就是增加返回的文檔數量(提高 top_k 值),并將這些文檔全部傳遞給 LLM。

這里涉及到的衡量指標是**召回率**,它表示的是“我們檢索到了多少相關文檔”。召回率并不考慮檢索到的文檔總數,因此我們可以通過返回所有文檔來“操縱”這個指標,從而得到完美的召回率。

然而,我們并不能返回所有文檔。LLM 對于能夠接收的文本量是有限制的,這個限制被稱為**上下文窗口**。例如,Anthropic 的 Claude 這樣的 LLM,其上下文窗口可以達到 100K 個 Token,這意味著我們可以放入幾十頁的文本。

那么,我們是否可以通過返回大量文檔(盡管不能是全部),并“填滿”上下文窗口來提高召回率呢?

答案是否定的。我們不能使用上下文填充的方法,因為這會降低 LLM 的**召回性能**。這里所說的 LLM 的召回率,與我們之前討論的檢索召回率是不同的概念。

為什么 RAG 一定需要 Rerank?-AI.x社區

研究表明,隨著我們在上下文窗口中放入更多的標記,LLM 的召回率會逐漸降低。當我們填滿上下文窗口時,LLM 也不太可能遵循指令,因此上下文填充并不是一個好的解決方案。

這就引出了一個問題:我們可以通過增加向量數據庫返回的文檔數量來提高檢索召回率,但如果把這些文檔全部傳遞給 LLM,就會損害 LLM 的召回率。那么,我們該怎么辦呢?

解決這個問題的方法是,通過檢索大量文檔來最大化檢索召回率,然后通過**最小化**傳遞給 LLM 的文檔數量來最大化 LLM 的召回率。要做到這一點,我們需要對檢索到的文檔進行重新排序,只保留對 LLM 最相關的文檔。而實現這一操作的關鍵,就是**重排序(Rerank)**。

2、Rerank 的強大之處

重排序模型,也被稱為交叉編碼器,是一種特殊的模型。它接收一個查詢和文檔對作為輸入,并輸出一個表示相似度的分數。我們利用這個分數,根據文檔與查詢的相關性對文檔進行重新排序。

為什么 RAG 一定需要 Rerank?-AI.x社區

在現代檢索系統中,通常采用兩階段檢索的策略。在第一階段,通常會使用一個雙編碼器或稀疏嵌入模型來從大規模數據集中快速檢索出一組相關文檔。這些模型能夠在海量數據中高效地篩選出初步的候選文檔集合。

然后,在第二階段,重排序模型(Rerank)登場。它的任務是對第一階段檢索到的文檔進行更細致的重新排序。Rerank 模型通過更復雜的計算,對文檔的相關性進行更精準的評估,從而提升最終返回結果的質量。

搜索工程師們在兩階段檢索系統中使用 Rerank 已經有很長時間了。這種策略的核心在于,從大數據集中檢索出一小部分文檔的速度,遠遠快于對大量文檔進行重新排序的速度。簡單來說,Rerank 的運行速度相對較慢,而檢索器的運行速度非常快。

為什么采用兩階段檢索?

采用兩階段檢索的原因主要有以下幾點:

第一、效率與精度的平衡

第一階段(檢索階段):使用雙編碼器或稀疏嵌入模型,能夠在大規模數據集中快速檢索出一組相關文檔。這些模型的設計目標是高效地篩選出初步的候選文檔集合,雖然它們的精度可能有限,但速度非常快。

第二階段(重排序階段):Rerank 模型對第一階段檢索到的文檔進行重新排序。雖然 Rerank 的運行速度較慢,但它能夠更精準地評估文檔的相關性,從而提升最終返回結果的質量。

第二、資源優化

如果直接對大規模數據集進行重新排序,計算成本會非常高昂,且效率低下。通過兩階段檢索,第一階段快速篩選出一小部分文檔,第二階段再對這些文檔進行精細排序,這樣可以顯著降低計算資源的消耗。

第三、靈活性與擴展性

兩階段檢索系統允許在不同階段使用不同的模型和技術。例如,第一階段可以使用高效的向量檢索模型,第二階段可以使用更復雜的交叉編碼器模型。這種分階段的策略使得系統更加靈活,可以根據具體需求進行優化和擴展。

重排序模型的作用

重排序模型(Rerank)在兩階段檢索系統中扮演著至關重要的角色。它通過對第一階段檢索到的文檔進行重新排序,確保最終返回的文檔不僅數量適中,而且相關性更高。具體來說,Rerank 的作用包括:

提升相關性:通過更復雜的計算,Rerank 能夠更精準地評估文檔與查詢的相關性,從而提升最終返回結果的質量。

優化上下文窗口:由于 LLM 的上下文窗口有限,Rerank 可以幫助我們在有限的上下文窗口中選擇最相關的文檔,從而最大化 LLM 的性能。

減少噪聲:Rerank 可以去除那些雖然在第一階段被檢索到,但實際相關性較低的文檔,從而減少噪聲,提高系統的整體性能。

3、為什么要用 Rerank?

如果 Rerank 的速度這么慢,那為什么我們還要使用它呢?答案很簡單:Rerank 比嵌入模型要準確得多。

第一、雙編碼器的局限性

雙編碼器模型的準確性較低,主要有兩個原因:

  • 信息壓縮導致的丟失

雙編碼器需要將一個文檔的所有可能含義壓縮成一個單一的向量。這種壓縮過程不可避免地會導致信息丟失。因為向量的維度是固定的,而文檔的含義可能是多維度的。

例如,一個文檔可能包含多種主題和細節,但雙編碼器只能將其壓縮成一個固定維度的向量,這就導致了部分信息的丟失。

  • 缺乏查詢上下文

雙編碼器在處理文檔時,沒有查詢的上下文信息。因為在用戶查詢之前,我們已經創建了文檔的嵌入向量。這意味著雙編碼器無法根據具體的查詢來調整文檔的表示。

例如,同一個文檔在不同的查詢下可能有不同的相關性,但雙編碼器無法動態地調整文檔的向量以適應不同的查詢。

第二、Rerank 的優勢

相比之下,Rerank 模型具有顯著的優勢:

  • 直接處理原始信息

Rerank 模型可以直接處理原始的文檔和查詢信息,而不是依賴于壓縮后的向量。這意味著信息丟失更少,能夠更準確地評估文檔與查詢的相關性。

例如,Rerank 模型可以分析文檔中的具體句子和段落,而不是僅僅依賴于一個固定的向量表示。

  • 動態分析文檔含義

因為 Rerank 是在用戶查詢時運行的,所以可以根據具體的查詢來分析文檔的特定含義,而不是試圖生成一個通用的、平均的含義。

例如,對于一個包含多種主題的文檔,Rerank 可以根據用戶的查詢,動態地提取與查詢最相關的部分,從而提高相關性評估的準確性。

第三、Rerank 的代價

盡管 Rerank 模型在準確性上有顯著優勢,但它也有一個明顯的代價——時間。

為什么 RAG 一定需要 Rerank?-AI.x社區

  • 雙編碼器模型

雙編碼器模型將文檔或查詢的含義壓縮成一個單一向量。在用戶查詢時,雙編碼器以與處理文檔相同的方式處理查詢。

例如,假設你有 4000 萬條記錄,使用編碼器模型和向量搜索,同樣的操作可以在不到 100 毫秒內完成。

  • Rerank 模型

Rerank 模型需要直接處理原始文檔和查詢,計算復雜度更高,因此速度較慢。

例如,使用像 BERT 這樣的小型重排序模型,在 V100 GPU 上,為了返回一個查詢結果,可能需要等待 50 多個小時。

4、總結

盡管 Rerank 模型的運行速度較慢,但其在準確性上的優勢使其在許多場景中不可或缺。通過兩階段檢索系統,我們可以在第一階段快速篩選出候選文檔,然后在第二階段通過 Rerank 模型進行精細排序,從而在保證效率的同時,顯著提升檢索結果的質量。這種策略在處理復雜的問答任務和生成任務時尤為重要,因為它能夠確保最終返回的文檔不僅數量適中,而且相關性更高。


本文轉載自公眾號玄姐聊AGI  作者:玄姐

原文鏈接:??https://mp.weixin.qq.com/s/gVV8nu9V16qKjGK9jREEjA??

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2025-3-21 12:01:05修改
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产综合区 | 久久久新视频 | www.99久久.com | 久久久久久亚洲欧洲 | 精品视频一区二区三区在线观看 | www.亚洲视频 | 天天干天天爱天天 | 一色一黄视频 | 九九久久99 | 欧美日韩久久 | 国产成人麻豆免费观看 | 久久久精品网站 | 亚洲精品一区二区三区蜜桃久 | 亚洲欧美日韩中文在线 | 免费的日批视频 | 国产美女h视频 | 亚洲视频区 | 日韩精品在线视频免费观看 | 亚洲福利免费 | 亚洲欧美综合 | 9191在线观看 | 中文字幕精品一区二区三区在线 | 成人婷婷 | 国产成人99久久亚洲综合精品 | 久久久男人的天堂 | 日韩免费一区 | 青青艹在线视频 | 国产精品区一区二区三 | 成人精品一区二区 | 国产一级毛片精品完整视频版 | 亚洲午夜视频在线观看 | 欧美一二区 | 亚洲成色777777在线观看影院 | 中文字幕免费在线 | 亚洲福利| 国产一二区免费视频 | 欧美成人精品一区 | 成在线人视频免费视频 | 一区二区免费 | 一级做a爰片性色毛片16美国 | 日韩视频免费看 |