關于設計和評估的對話 檢索增強生成(RAG) 系統是一個漫長而多方面的討論。即使我們單獨研究檢索,開發者也會有選擇地使用許多技術,例如查詢分解、重寫、構建軟過濾器等,以提高其 RAG 流程的準確性。雖然技術因系統而異,但嵌入模型通常是 RAG 中每個檢索流程的核心。
嵌入,尤其是密集嵌入,用于表達文本的語義結構。由于 RAG 中的所有檢索器都有一個關鍵的必須求解,以理解原始文本的語義,因此擁有系統的評估過程來選擇正確的過程至關重要。
我們展示了如何使用流行的庫,如scikit-learn和XGBoost,將聯邦線性模型、k-means 聚類、非線性 SVM、隨機森林和 XGBoost 應用于協作學習。
在本文中,您將學習:
- 一些最熱門的學術基準需要什么,以及如何最好地利用這些基準作為代理。
- 用于評估檢索器的推薦指標。
如果您不熟悉檢索器在 RAG 中的作用,請查看 這篇博文介紹了如何使用 NVIDIA Retrieval QA Embedding 模型構建企業 RAG 應用程序。
數據混合對基準測試的影響
用于評估檢索的最佳數據是您自己的。理想情況下,您構建一個清晰且帶有標記的評估數據集,以更好地反映您在生產中看到的內容。最好構建一個自定義基準來評估不同檢索器的質量,這些質量可能因領域和任務的不同而有很大差異。
如果沒有經過良好標記的評估數據,許多基準測試會轉而采用兩個熱門基準測試:MTEB 和BEIR 作為代理。但是,一個關鍵問題是:這些基準測試是否能夠準確地評估不同語言模型的性能?如果沒有足夠的評估數據,這些基準測試的結果可能會有偏差,從而影響我們對不同語言模型性能的判斷。因此,為了確保這些基準測試的結果的準確性,我們需要提供足夠的評估數據,并且對這些數據的質量進行嚴格控制。只有這樣,我們才能相信這些基準測試的結果能夠準確地反映不同語言模型的性能。
“這些基準測試中的數據集是否真正代表您的工作負載?”
回答這個問題至關重要,因為評估不相關案例的性能可能會導致對 RAG 流程產生錯誤置信度。
熱門基準測試是什么?
RAG 系統通常作為聊天機器人的一部分部署。檢索者的任務是根據用戶的查詢找到相關段落,以便為 LLM 提供上下文。自 2021 年推出以來,BeIR 基準測試已成為評估信息檢索嵌入的首選標準。
通過整合 BEIR 和各種其他數據集,由 Hugging Face 主持的 MTEB 旨在評估不同任務(例如分類、聚類、檢索、排名等)中的嵌入模型。
檢索基準測試
貝爾擁有 17 個基準測試數據集,涵蓋不同的文本檢索任務和領域。而 MTEB 由 58 個數據集組成,涉及 112 種語言,適用于 8 種不同的嵌入任務。每個數據集都能滿足用于測量嵌入模型的各種應用(檢索、聚類和匯總)的性能。鑒于對 RAG 的關注,您必須考慮哪些性能指標和數據集對于評估與您的用例一致的問答 (QA) 檢索解決方案最有用。
多個數據集可以解決基于輸入查詢查找相關段落的任務:
- HotpotQA 和NaturalQuestions(NQ) 評估一般 QA。
- FiQA 專注于與財務數據相關的 QA。
- NFCorpus 由醫學領域的 QA 對組成。
Hotpot QA:常規問題通道
輸入:Scott Derrickson 和 Ed Wood 是同一個國家的人嗎? 目標:Scott Derrickson (1966 年 7 月 16 日出生)是一位美國導演、編劇和制作人。他現居加利福尼亞州洛杉磯。他因導演恐怖電影而聞名,其中包括<邪惡博士>(Doctor Strange)、<邪惡博士>(Deliver Us From Evil) 和<邪惡博士>(Deliver Us From Evil)。 |
NQ:常規問題通道
輸入:資產負值表上的非控制權益是什么? 目標:在會計學中,少數權益(或非控制權益)是指子公司的股份中不屬于母公司的部分。子公司的少數權益通常不到已發行股票的 50%,否則該公司通常將不再是母公司的子公司。[1] |
但是,其他數據集,例如 Quora 和Arguana 專注于 QA 以外的任務。
Quora:查找重復的問題
輸入:我應該在 Quora 上問哪個問題? 目標:在 Quora 上可以提出哪些好問題? |
Arguana:查找反事實段落
輸入:殺死動物是不道德的行為隨著人類的進化,我們有道德責任盡可能減少動物的生存所帶來的痛苦。因此,如果我們不需要為了生存而給動物帶來痛苦,我們就不應該這樣做。農場動物(例如雞、仔、牛和奶牛)像我們一樣是有情感的生物體 — — 他們是我們的進化兄弟,和我們一樣,他們可以感受到愉悅和痛苦。18 世紀的功利主義哲學家 Jeremy Bentham 甚至認為動物的痛苦與人類的痛苦一樣嚴重,并將人類優勢的想法比作種族主義。如果我們不需要這樣做,就耕種和殺死這些動物作為食物是錯誤的[…] 目標:人類和動物之間存在巨大的道德差異。與動物不同,人類有能力進行合理思考,并且可以改變周圍的世界。其他生物被放置在地球上供人類使用,包括吃肉。出于所有這些原因,我們認為男人和女人都有權利,而動物沒有權利。 |
這些示例強調了仔細審查基準數據并選擇與您的用例緊密匹配的問題的重要性。使用 Beir 基準測試來指導您的決策時,請考慮以下內容:
- 構成 BEIR 的所有數據集是否都與您的 RAG 應用相關?
- 來自不同基準測試的樣本分布是否準確地代表了用戶通常會問的問題?
我們的一般建議是評估相關子集(例如 HotpotQA、NQ 和 FiQA)上的檢索器,因為它們代表通用 QA 應用程序。但是,如果您的 RAG 工作流有獨特的注意事項,我們建議將先前來源的代表性數據添加到您的評估混合中。
如何為 QA 基準選擇最佳模型
讓我們深入探討如何選擇或整理與您的評估最匹配的基準測試。
領域和質量
在檢查不同的 BEIR 數據集時,您可能會注意到一些數據集是特定于領域的。如果您想構建 RAG 系統以執行技術手冊說明,您可能會考慮來自同一領域的數據集以及最能體現您用例的類似問題。此類數據集的示例如下:TechQA 領域自適應數據集,其中包含用戶在技術論壇上提出的實際問題。TechQA 不在 BEIR 基準測試數據集中,但它可能是與您的 IT/技術支持用例具有類似領域的理想候選項。例如:
問題貼圖:“Citrix 上的 Datacap” 問題文本:“大家好,我們能否在 Citrix 上運行 Datacap 瘦客戶端?” 答案:“通過 WAN 訪問 Datacap 的遠程用戶可以使用基于 Taskmaster Web 的“瘦客戶端”,或在離線模式下運行的 FastDoc Capture.” 上下文:” WAN LAN 架構部署 TECHNOTE (FAQ) n*nQUESTION n 在廣域網 (WAN) 上部署 Datacap 服務器和客戶端的最佳實踐是什么?ANSWER 通過 WAN 訪問 Datacap 的遠程用戶可以使用基于 Web 的 Taskmaster“瘦客戶端”,或在離線模式下運行的 FastDoc Capture.Datacap 厚客戶端(DotScan、DotEdit)和實用程序(NENU、Fingerprint Maintenance Tool)需要 LAN 通信速度和低延遲以實現響應速度。將所有 Datacap Taskmaster 任務主服務器、Rulerunner 服務器、Web 服務器、文件服務器和數據庫連接到單個高性能 LAN 以獲得最佳結果。Taskmaster 服務器、共享文件和數據庫之間的網絡延遲會導致作業監控器和數據密集型操作的性能下降。一些客戶使用 Citrix 或其他遠程訪問技術成功地在遠程站點中運行 Datacap 厚客戶端。IBM 尚未通過 Citrix 測試或尋求認證,也不為 Citrix 提供支持。如果您在 Citrix 上部署 Datacap 客戶端并遇到問題,IBM 可能會要求您在 Citrix.C 版調查中重現外部問題,作為 Citrix.C.C Consult IBM 的標題為“Implementing Solutions with IBM Imagingbooks and IBM Capture”Redbooks,Redbooks“Reddegrade section 2.5”部分,Reddegrade deploymentation section 2.5 和 IBM Related Information。 |
訓練數據:域內數據與域外數據對比
一些 BEIR 基準數據集具有訓練數據和測試數據分割的特點。雖然將訓練分割成檢索者的訓練數據集是好的,但這會使比較基于 MTEB 基準的模型性能及其對未發現的企業特定數據的有效性變得復雜。如果包括訓練分割,模型會從與測試數據集相同的分布中學習,從而導致測試數據集的性能指標過高。這種差異通常稱為域內與域外。

我們通過微調 e5_large_unsupervised 模型兩次:一次是訓練數據集,其中排除了 HotpotQA 訓練分割(左欄),一次是訓練數據集,其中包括 HotpotQA 訓練分割(右欄)。加入 HotpotQA 訓練分割提高了 HotpotQA 測試數據集(左條形圖)的性能。但是,它并沒有顯著改變 NQ (中間條形圖)和 FIQA (右條形圖)的性能。這說明了在解釋公共基準測試結果時,檢查用于訓練模型的數據集的重要性。
許多模型都混合使用 MSMarco、NQ 和 NLI 進行訓練,包括從 BeIR 數據集進行的訓練分割。例如,這項研究 使用大型語言模型改進文本嵌入 在附錄中提供了訓練數據集的詳細信息。在論文中,表 1 說明了 synthetic=MSMarco 和 synthetic=Full 配置之間的性能差異。通常情況下,人工生成或標注的數據比純合成數據集提供更好的質量評估。這種相關性對于數據集的大小也成立。
總而言之,我們的一般建議是尋找與您的用例保持一致且包含大量樣本的人工生成和帶注釋的數據集。
許可證
請注意,以下內容只是解釋而非法律建議,建議您咨詢您的法律團隊以獲得任何考慮。
要考慮的另一個重要方面是與預訓練模型相關的許可和使用條款。雖然許多預訓練模型在 HuggingFace 平臺上根據 MIT 或 Apache 2.0 許可證共享,但審查用于預訓練的數據集至關重要,因為一些數據集可能具有禁止商業應用程序的許可證。考慮使用預訓練模型,該模型使用經許可用于商業用途的訓練數據。
鑒于理解數據的重要性,我們涵蓋了評估的一個方面。另一個關鍵方面是我們用于衡量質量的指標。
評估指標
檢索評估主要使用兩種類型的指標:
- 排名感知指標:這些指標考慮檢索到的文檔的順序或排名。在推薦系統或搜索引擎等列表中將最相關的結果放在更高的位置會有所幫助的情況下,這些指標非常有用。示例包括標準化折扣累積增益 (NDCG)。
- 與排名無關的指標:這些指標不考慮顯示結果的順序。當目標是檢測列表中是否存在相關項目(而非其排名)時,這些指標很有用。
現在,我們來深入探討 Recall 和 NDCG,這是學術基準測試和排行榜中常見的兩個指標。
召回
與排名無關的度量召回測量檢索到的相關結果的百分比:
簡而言之,如果給定查詢有三個相關數據塊,且在檢索到的前 5 個數據塊中只出現兩個數據塊,則召回率約為 0.66、
您將在基準測試中看到的一個熱門變體是回調%K,該變體僅考慮系統返回的前 K 個商品。但是,如果您的系統始終返回固定的 K 個商品,則回調%K,并且回調實際上是相同的指標。
在大多數信息檢索場景中,當檢索到的候選項的順序不重要時,召回是一個很好的指標。從 RAG 的角度來看,如果您的數據塊很小(300 – 500 個令牌),并且要檢索幾個數據塊,大多數 LLM 不會遇到迷失在中間的 1500 – 2500 令牌上下文問題。
在為 LLM 提供相當長的上下文的情況下,其提取相關信息的能力會因信息的位置而異。通常,LLM 在處理頂部和底部的信息時效果最佳,如果信息處于“中間”,則會出現嚴重的性能下降。在較短的上下文中,數據塊的順序無關緊要,只要它們都包含在內。
標準化折扣累積收益
標準化折扣累積收益 (NDCG) 是一種排名感知指標,用于測量檢索到的信息的相關性和順序。
- 累積增益追蹤相關性,即根據檢索列表中的每個項目在回答查詢時的有用性為其分配相關性分數。
- 根據職位適用折扣,較低的職位可獲得較高的折扣,從而提高排名。
- 當使用不同數量的相關數據塊*時,標準化會統一查詢中的指標。
在 RAG 工作流中檢索的主要目標是使 LLM 能夠執行提取問答。在檢索到的數據塊過長(超過 4K 令牌),或檢索大量數據塊時,NDCG 變得相關,從而導致在長上下文中可能在中間丟失的場景。此外,如果您的應用程序將數據塊作為引用公開,您可能會發現檢索到的數據塊的順序和相關性很重要。
在許多現實世界的應用中,包含高達 4K 令牌的上下文已經足夠,并且召回是推薦的指標,因為當最相關的塊未排名在頂部時,NDCG 會懲罰。只要它位于頂部的 K 檢索結果中,并且可以在合理大小的上下文中共享,LLM 就應該有效地利用這些信息來制定響應。
雖然召回和 NDCG 是非常不同的方法,但它們通常表現出很高的相關性。在數據上具有良好回憶分數的檢索模型也可能具有良好的 NDCG 分數。
現在,我們來探索與基于文本的 QA 相關的檢索基準測試,并與目前的建議保持一致。
檢索基準測試
NVIDIA NeMo Retriever 是 NVIDIA NeMo 框架 提供信息檢索服務,旨在安全輕松地簡化企業級 RAG 與定制生產級 AI 應用程序的集成。其核心是 NVIDIA Retrieval QA Embedding 模型,該模型基于商業上可行的內部精選數據集進行訓練。
在圖 2 中,我們展示了 MTEB/BEIR 相關子集(包括 NaturalQuestions、HotpotQA 和 FiQA)的 5 個回顧分數。這些子集可用作 QA 任務的代表性 RAG 工作負載。

如圖 2 所示, NVIDIA 檢索 QA 嵌入的性能優于其他開源選項。
結束語
在沒有評估數據的情況下,務必要確定學術基準套件中的哪些部分可以接近您的用例,而不是對潛在無關的子集求取平均值。此外,請注意不要僅依賴學術基準,因為其中某些部分可能已被用于訓練相應的檢索器,從而可能導致對其數據性能的錯誤置信度。
準備好優化您的人工智能了嗎?想要了解更多信息,請訪問 NVIDIA/ProViz-AI-Samples GitHub 并親自嘗試。如果您有任何疑問,請訪問 數據處理開發者論壇。
此外,回想一下,K 和 NDCG 是兩個最相關的指標,您可以選擇兩者的組合。如果僅選擇一個,則回想更易于解釋,并且適用更廣泛。
注冊參加 NVIDIA GTC,詳細了解 使用檢索增強型生成技術構建生成式 AI 應用 并探索我們的 DLI 課程,如何使用 RAG 構建 AI 聊天機器人。