理解 RAG 第四部分:檢索增強生成評估框架
檢索增強生成(RAG) 在擴展獨立大型語言模型(LLM)的局限性和克服其諸多限制方面發揮了關鍵作用。通過整合檢索器,RAG 增強了響應的相關性和事實準確性:它只需實時利用外部知識源(例如矢量文檔庫),并在原始用戶查詢或提示中添加相關的上下文信息,然后將其傳遞給 LLM 進行輸出生成。
對于那些深入 RAG 領域的人來說,一個自然而然的問題出現了:我們如何評估這些遠非簡單的系統?
為此,存在幾個框架,例如DeepEval,它提供了超過 14 種評估指標來評估幻覺和忠實度等標準;MLflow LLM Evaluate,以其模塊化和簡單性而聞名,可以在自定義管道中進行評估;RAGAs,專注于定義 RAG 管道,提供忠實度和上下文相關性等指標來計算綜合的 RAGA 質量得分。
以下是這三個框架的摘要:
理解 RAGA
RAGA (檢索增強生成評估的縮寫)被認為是評估 LLM 應用的最佳工具包之一。它能夠以最簡單的方式——既可以單獨評估,也可以作為單一流程聯合評估RAG 系統組件(即檢索器和生成器)的性能。
RAGA 的核心要素是其指標驅動開發(MDD) 方法,該方法依賴數據做出明智的系統決策。MDD 需要持續監控關鍵指標,從而清晰洞察應用程序的性能。除了允許開發人員評估其 LLM/RAG 應用程序并進行指標輔助實驗外,MDD 方法還與應用程序的可重復性高度契合。
RAGA 組件
- 提示對象:定義提示的結構和內容的組件,用于引出語言模型生成的響應。通過遵循一致且清晰的提示,它有助于進行準確的評估。
- 評估樣本:一個獨立的數據實例,包含用戶查詢、生成的響應以及參考響應或基本事實(類似于 ROUGE、BLEU 和 METEOR 等 LLM 指標)。它是評估 RAG 系統性能的基本單元。
- 評估數據集:一組評估樣本,用于基于各種指標更系統地評估整個 RAG 系統的性能。其目的是全面評估系統的有效性和可靠性。
RAGA指標
RAGAs 提供了配置 RAG 系統指標的功能,通過定義檢索器和生成器的特定指標,并將它們混合成整體 RAGAs 分數,如下圖所示:
讓我們了解一下事物檢索和生成方面的一些最常見的指標。
1.檢索性能指標:
- 上下文回憶率:回憶率衡量的是知識庫中檢索到的相關文檔在真實 Top-K 結果中所占的比例,即檢索到的與問題答案最相關的文檔數量是多少?它的計算方法是將檢索到的相關文檔數量除以相關文檔總數。
- 上下文精度:在檢索到的文檔中,有多少與提示相關,而不是噪音?上下文精度可以回答這個問題,其計算方法是將檢索到的相關文檔數除以檢索到的文檔總數。
2.生成性能指標:
- 忠實度:它評估生成的響應是否與檢索到的證據相符,換句話說,就是響應的事實準確性。這通常通過比較響應和檢索到的文檔來完成。
- 上下文相關性:此指標決定生成的響應與查詢的相關性。它通常基于人工判斷或通過自動語義相似度評分(例如余弦相似度)計算得出。
作為連接 RAG 系統兩個方面(檢索和生成)的示例指標,我們有:
- 上下文利用率:這評估了 RAG 系統如何有效地利用檢索到的上下文來生成其響應。即使檢索器獲取了極好的上下文(高準確率和記憶),性能較差的生成器也可能無法有效地利用它。上下文利用率的提出正是為了捕捉這種細微差別。
在 RAGAs 框架中,各個指標會被組合起來,計算出一個RAGAs 的總體得分,從而全面量化 RAG 系統的性能。計算此得分的過程包括:選擇相關指標并計算它們,將它們標準化為在同一范圍內變動(通常為 0-1),然后計算這些指標的加權平均值。權重的分配取決于每個用例的優先級,例如,在需要高度事實準確性的系統中,確保信息的忠實性和準確性確實至關重要。當處理或提供信息時,尤其是涉及到具體數據、日期、事件等事實性內容時,優先考慮信息的真實性而非僅僅追求快速的回憶或檢索能力是十分必要的。這樣可以保證提供的信息更加可靠,減少錯誤信息傳播的風險。
小結
本文介紹并概述了 RAGA:這是一個流行的評估框架,用于從信息檢索和文本生成的角度系統地衡量 RAG 系統性能的多個方面。了解該框架的關鍵要素是掌握其實際用途以利用高性能 RAG 應用程序的第一步。