評估RAG系統組件的終極指南 原創
RAG系統包含兩個核心組件:檢索器和生成器,本文將介紹如何評估這兩個組件。
檢索增強型生成(RAG)系統被設計用來提升大型語言模型(LLM)的響應質量。當用戶提交查詢時,RAG系統從向量數據庫中提取相關信息,并將其作為場景傳遞給LLM。然后,LLM使用這個場景為用戶生成響應。這一過程顯著提高了LLM反應的質量,減少了“幻覺”。
圖1 RAG系統工作流程
在圖1的工作流程中,RAG系統中有兩個主要組件:
- 檢索器:它利用相似度搜索的能力從向量數據庫中識別出與用戶查詢最相關的信息。這一階段是任何RAG系統中最關鍵的部分,因為它為最終輸出的質量奠定了基礎。檢索器會在向量數據庫中搜索與用戶查詢相關的文檔。這包括將查詢和文檔編碼為向量,并使用相似性度量來查找最接近的匹配。
- 響應生成器:一旦檢索到相關文檔,用戶查詢和檢索到的文檔將被傳遞給LLM模型,以生成連貫的、相關的和信息豐富的響應。生成器(LLM)使用檢索器提供的場景和原始查詢來生成準確的響應。
任何RAG系統的有效性和性能在很大程度上取決于這兩個核心組件:檢索器和生成器。檢索器必須有效地識別和檢索最相關的文檔,而生成器應該使用檢索到的信息生成連貫、相關和準確的響應。在部署之前,對這些組件進行嚴格的評估對于確保RAG模型的最佳性能和可靠性至關重要。
一、評估RAG
為了評估RAG系統,通常使用兩種評估方法:
- 檢索評估
- 響應評估
與傳統的機器學習技術不同,RAG系統的評估更為復雜,具有明確的定量指標(例如基尼系數、R平方、AIC、BIC、混淆矩陣等)。出現這種復雜性是因為RAG系統生成的響應是非結構化文本,需要定性和定量指標的結合來準確評估它們的性能。
TRIAD框架
為了有效地評估RAG系統,通常遵循TRIAD框架。該框架由三個主要部分組成:
- 場景相關性:該組件評估RAG系統的檢索部分。它評估從大型數據集檢索文檔的準確性。這里使用精確率、召回率、MRR和MAP等指標。
- 忠誠度(具有依據):該部分屬于響應評估范疇。它檢查生成的響應是否真實準確,是否以檢索到的文檔為依據。評估忠誠度可以采用人工評估、自動化事實核查工具和一致性檢查等方法。
- 答案相關性:這也是響應評估的一部分。它衡量生成的響應如何處理用戶的查詢并提供有用的信息。使用了BLEU、ROUGE、METEOR和基于嵌入的評估等指標。
圖2 RAG TRIAD
二、檢索評估
檢索評估應用于RAG系統的檢索組件,該系統通常使用向量數據庫。這些評估衡量檢索器在響應用戶查詢時識別相關文檔并對其進行排序的有效性。檢索評估的主要目標是評估場景相關性,即檢索到的文檔與用戶查詢的一致程度。它確保提供給生成組件的場景是相關的和準確的。
圖3 場景相關性
每個指標都對檢索到的文檔的質量提供了獨特的視角,并有助于對場景相關性的全面理解。
精確率
精確率衡量檢索到的文檔的準確性。它是檢索到的相關文檔的數量與檢索到的文檔總數的比率。其定義是:
圖4 精確率公式
這意味著精確率評估系統檢索的文檔中有多少實際上與用戶的查詢相關。例如,如果檢索器檢索10個文檔,其中7個是相關的,則精確率為0.7或70%。
精確率評估的是,“在系統檢索的所有文檔中,有多少是實際相關的?”
當呈現不相關的信息可能產生負面后果時,準確性尤為重要。例如,醫療信息檢索系統的高精度是至關重要的,因為提供無關的醫療文件可能會導致錯誤信息和潛在的有害結果。
召回率
召回率衡量檢索文檔的全面性。它是針對給定查詢檢索到的相關文檔的數量與數據庫中相關文檔的總數之比。其定義是:
圖5 召回率公式
這意味著召回率評估系統成功檢索到數據庫中存在的相關文檔的數量。
召回率評估的是,“在數據庫中存在的所有相關文檔中,系統設法檢索了多少個?”
在錯過相關信息可能代價高昂的情況下,召回率至關重要。例如,在法律信息檢索系統中,召回率高至關重要,因為未能檢索到相關法律文件可能會導致案例研究不完整,并可能影響法律訴訟的結果。
精確率和召回率之間的平衡
精確率和召回率的平衡通常是必要的,因為提高其中一個有時會降低另一個指標。目標是找到適合應用程序特定需求的最佳平衡。這種平衡有時用F1評分來量化,這是精確率和召回率的調和平均值:
圖6 F1評分公式
平均倒數排名(MRR)
平均倒數排名(MRR)是一種通過考慮第一個相關文檔的排名位置來評估檢索系統有效性的度量。當只對第一個相關文件感興趣時,它特別有用。倒數排名是第一個相關文檔被找到的排名的倒數。MRR是在多個查詢中這些相互排名的平均值。MRR的公式為:
圖7 MRR公式
其中Q是查詢的數量,是第Q個查詢的第一個相關文檔的排名位置。
MRR評估的是,“平均而言,響應用戶查詢檢索第一個相關文檔的速度有多快?”
例如,在基于RAG的問答系統中,MRR至關重要,因為它反映了系統向用戶呈現正確答案的速度。如果正確答案出現在列表頂部的頻率越高,則MRR值越高,表明檢索系統更有效。
平均精度(MAP)
平均精度(MAP)是一個衡量多個查詢檢索精度的指標。它同時考慮了檢索的精度和檢索文檔的順序。MAP被定義為一組查詢的平均精度得分的平均值。為了計算單個查詢的平均精度,在檢索到的文檔排名列表中的每個位置計算精度,僅考慮前K個檢索到的文件,其中每個精度都根據文件是否相關進行加權??缍鄠€查詢的MAP公式為:
圖8 MAP公式
其中(Q)為查詢數量,是查詢(Q)的平均精度。
MAP評估的是,“平均而言,系統在多個查詢中檢索到的排名靠前的文檔有多精確?”
例如,在基于RAG的搜索引擎中,MAP至關重要,因為它考慮了不同級別的檢索精度,確保相關文檔在搜索結果中出現在更高的位置,從而通過首先呈現最相關的信息來增強用戶體驗。
檢索評估綜述
- 精確率:檢索結果的質量
- 召回率:檢索結果的完整性
- MRR:檢索第一個相關文檔的速度
- MAP:結合相關文件的精度和排名的綜合評估
三、響應評估
響應評估應用于系統的生成組件。這些評估衡量系統基于檢索文檔提供的場景生成響應的效率。將響應評估分為兩類:
- 忠誠度(具有依據)
- 答案相關性
忠誠度(具有依據)
忠誠度評估生成的響應是否準確、是否基于檢索到的文檔,它確保反應不包含幻覺或不正確的信息。這個指標是至關重要的,因為它將生成的響應追溯到其來源,確保信息基于可驗證的基本事實。忠誠度有助于防止“幻覺”,即系統產生聽起來似乎合理但實際上不正確的反應。
為了衡量忠誠度,常用的方法有以下幾種:
- 人工評估:專家人工評估生成的響應是否準確,是否正確地引用了檢索到的文檔。該過程包括對照源文件檢查每個回復,以確保所有聲明都得到證實。
- 自動事實檢查工具:這些工具將生成的響應與經過驗證的事實數據庫進行比較,以識別不準確之處。它們提供了一種無需人工干預即可自動檢查信息有效性的方法。
- 一致性檢查:這些檢查評估模型是否在不同查詢中一致地提供相同的事實信息。這確保了模型的可靠性,并且不會產生相互矛盾的信息。
答案相關性
答案相關性衡量生成的響應在多大程度上解決了用戶的查詢并提供了有用的信息。
(1)BLEU(雙語評估替補)
BLEU衡量生成的響應和一組參考響應之間的重疊,重點關注n元語法(n-gram)的精度。它是通過衡量生成的響應和參考響應之間的n-gram(n個單詞的連續序列)的重疊來計算的。BLEU評分公式為:
圖9 BLEU公式
其中(BP)是簡短性懲罰,用于懲罰過短的回答,(P_n)是n-gram的精度,(w_n)是每個n-gram級別的權重。BLEU從數量上衡量生成的響應與參考響應的匹配程度。
(2)ROUGE(基于召回的Gisting評估研究)
ROUGE衡量生成響應和參考響應之間n-gram、單詞序列和單詞對的重疊,同時考慮召回率和精確率。最常見的變體ROUGE-N衡量生成響應和參考響應之間n-grams的重疊。ROUGE-N的公式為:
圖10 MAP公式
ROUGE評估精確度和召回率,提供一個平衡的衡量標準,衡量生成的響應中引用的相關內容有多少。
(3)METEOR(帶有顯式排序的翻譯評價度量)
METEOR考慮同義詞、詞干和詞序來評估生成的響應和參考響應之間的相似性。METEOR分數的公式為:
圖11 METEOR公式
其中$F_{\text{mean}}$是精確率和召回率的調和均值,是對不正確的詞序和其他錯誤的懲罰。METEOR通過考慮同義詞和詞干,提供了比BLEU或ROUGE更細致的評估。
(4)基于嵌入的評估
該方法使用詞的向量表示(嵌入)來衡量生成響應和參考響應之間的語義相似度。余弦相似度等技術用于比較嵌入,根據單詞的含義而不是它們的精確匹配提供評估。
四、優化RAG系統的提示和技巧
可以使用一些基本提示和技巧來優化RAG系統:
使用重新排序技術
重新排序是優化任何RAG系統性能的最廣泛使用的技術。它獲取最初的檢索文檔集,并根據它們的相似性進一步對最相關的文檔進行排序??梢允褂媒徊婢幋a器和基于BERT的重新排序器等技術更準確地評估文檔相關性。這確保提供給生成器的文檔場景豐富且高度相關,從而得到更好的響應。
調整超參數
定期調整塊大小、重疊和頂級檢索文檔的數量等超參數可以優化檢索組件的性能。嘗試不同的設置并評估它們對檢索質量的影響可以提高RAG系統的整體性能。
嵌入模型
選擇合適的嵌入模型對于優化RAG系統的檢索組件至關重要。正確的模型,無論是通用的還是特定領域的,都可以顯著增強系統準確表示和檢索相關信息的能力。通過選擇與特定用例相一致的模型,可以提高相似性搜索的精度和RAG系統的整體性能。在做出選擇時,考慮模型的訓練數據、維度和性能指標等因素。
分塊策略
通過為LLM捕獲更多相關信息,定制塊大小和重疊可以顯著地提高RAG系統的性能。例如,LangChain的語義分塊基于語義拆分文檔,確保每個塊在場景上是一致的。根據文檔類型(例如PDF、表格和圖像)而變化的自適應分塊策略可以幫助保留更適合場景的信息。
向量數據庫在RAG系統中的作用
向量數據庫是RAG系統性能的主要組成部分。當用戶提交查詢時,RAG系統的檢索器組件利用向量數據庫根據向量相似性找到最相關的文檔。這個過程對于為語言模型提供正確的場景以生成準確和相關的響應至關重要。強大的向量數據庫可確保快速準確的檢索,直接影響RAG系統的整體有效性和響應性。
結論
開發RAG系統本身并不困難,但評估RAG系統對于衡量性能、實現持續改進、與業務目標保持一致、平衡成本、確??煽啃院瓦m應新方法至關重要。這種全面的評估過程有助于構建健壯、高效和以用戶為中心的RAG系統。
通過解決這些關鍵方面的問題,向量數據庫成為高性能RAG系統的基礎,使它們能夠在有效管理大規模復雜數據的同時提供準確、相關和及時的響應。
原文標題:??The Ultimate Guide To Evaluate RAG System Components: What You Need To Know??,作者:Usama Jamil
