前面我們學習了RAG的基本框架并進行了實踐,我們也知道使用它的目的是為了改善大模型在一些方面的不足:如訓練數(shù)據(jù)不全、無垂直領(lǐng)域數(shù)據(jù)、容易出現(xiàn)幻覺等。那么如何評估RAG的效果呢?本文我們來了解一下。
評估出RAG對大模型能力改善的程度
RAG優(yōu)化過程,通過評估可以知道改善的方向和參數(shù)調(diào)整的程度
最Low的方式是進行人工評估:邀請專家或人工評估員對RAG生成的結(jié)果進行評估。他們可以根據(jù)預先定義的標準對生成的答案進行質(zhì)量評估,如準確性、連貫性、相關(guān)性等。這種評估方法可以提供高質(zhì)量的反饋,但可能會消耗大量的時間和人力資源。
自動化評估肯定是RAG評估的主流和發(fā)展方向。
在我的這篇文章中 【AI大模型應用開發(fā)】【LangSmith: 生產(chǎn)級AI應用維護平臺】0. 一文全覽Tracing功能,讓程序運行過程一目了然 介紹了如何使用LangSmith平臺進行效果評估。
需要準備測試數(shù)據(jù)集
不僅可以評估RAG效果,對于LangChain中的Prompt模板等步驟都可進行測試評估。
Langfuse作為LangSmith的平替,也具有自動化評估的功能。在我的這篇文章中 【AI大模型應用開發(fā)】【LangFuse: LangSmith平替】0. 快速上手 - 基本功能全面介紹與實踐(附代碼) 介紹了如何使用Langfuse平臺進行效果評估。
需要準備測試數(shù)據(jù)集
不僅可以評估RAG效果,對于LangChain中的Prompt模板等步驟都可進行測試評估。
TruLens是一款旨在評估和改進 LLM 應用的軟件工具,它相對獨立,可以集成 LangChain 或 LlamaIndex 等 LLM 開發(fā)框架。它使用反饋功能來客觀地衡量 LLM 應用的質(zhì)量和效果。這包括分析相關(guān)性、適用性和有害性等方面。TruLens 提供程序化反饋,支持 LLM 應用的快速迭代,這比人工反饋更快速、更可擴展。
開源鏈接:https://github.com/truera/trulens
使用手冊:https://www.trulens.org/trulens_eval/install/
其對于RAG的評估主要有三個指標:
上下文相關(guān)性(context relevance):衡量用戶提問與查詢到的參考上下文之間的相關(guān)性
忠實性(groundedness ):衡量大模型生成的回復有多少是來自于參考上下文中的內(nèi)容
答案相關(guān)性(answer relevance):衡量用戶提問與大模型回復之間的相關(guān)性
其對RAG的評估不需要有提前收集的測試數(shù)據(jù)集和相應的答案。
考慮標準的RAG設(shè)置,即給定一個問題q,系統(tǒng)首先檢索一些上下文c(q),然后使用檢索到的上下文生成答案as(q)。在構(gòu)建RAG系統(tǒng)時,通常無法訪問人工標注的數(shù)據(jù)集或參考答案,因此該工作將重點放在完全獨立且無參考的度量指標上。
四個指標,與Trulens的評估指標有些類似:
評估檢索質(zhì)量:
context_relevancy(上下文相關(guān)性,也叫 context_precision)
context_recall(召回性,越高表示檢索出來的內(nèi)容與正確答案越相關(guān))
評估生成質(zhì)量:
faithfulness(忠實性,越高表示答案的生成使用了越多的參考文檔(檢索出來的內(nèi)容))
answer_relevancy(答案的相關(guān)性)
在上文評估方法中已經(jīng)介紹了幾種常用的評估指標:
上下文相關(guān)性(context relevance):衡量用戶提問與查詢到的參考上下文之間的相關(guān)性
忠實性(groundedness ):衡量大模型生成的回復有多少是來自于參考上下文中的內(nèi)容
答案相關(guān)性(answer relevance):衡量用戶提問與大模型回復之間的相關(guān)性
四個指標,與Trulens的評估指標有些類似:
評估檢索質(zhì)量:
context_relevancy(上下文相關(guān)性,也叫 context_precision)
context_recall(召回性,越高表示檢索出來的內(nèi)容與正確答案越相關(guān))
評估生成質(zhì)量:
faithfulness(忠實性,越高表示答案的生成使用了越多的參考文檔(檢索出來的內(nèi)容))
answer_relevancy(答案的相關(guān)性)
參考論文:https://arxiv.org/pdf/2309.01431.pdf
(1)噪聲魯棒性(Noise Robustness)
衡量從噪聲文檔中提取有用的信息能力。在現(xiàn)實世界中,存在大量的噪聲信息,例如假新聞,這給語言模型帶來了挑戰(zhàn)。
(2)否定拒絕(Negative Rejection)
當檢索到的文檔不足以支撐回答用戶的問題時,模型應拒絕回答問題,發(fā)出"信息不足"或其他拒絕信號。
(3)信息整合(information integration)
評估模型能否回答需要整合多個文檔信息的復雜問題,即,當一個問題需要查找多個文檔,綜合信息之后才能回答時,模型的表現(xiàn)。
(4)反事實魯棒性(CounterfactualRobustness)
模型能否識別檢索文檔中已知事實錯誤的能力,即當索引的文檔信息原本就是與事實相背時,大模型能否識別出不對。
本文主要總結(jié)了當前比較流行的評估方法和指標。當前AI技術(shù)的快速發(fā)展,RAG和RAG評估是當前比較有前景的發(fā)展方向,不斷有新的評估工具和理論被提出,讓我們持續(xù)跟進,了解這些工具和理論,從而在使用時知道如何選擇。
https://mp.weixin.qq.com/s/Si8rb0L1uqMiwoQ1BWS0Sw
https://mp.weixin.qq.com/s/z18J2l_b-VsKDhOd6-nIsg
https://mp.weixin.qq.com/s/YFji1s2yT8MTrO3z9_aI_w
https://mp.weixin.qq.com/s/TrXWXkQIYTVsS1o4IZjs9w
https://maimai.cn/article/detail?fid=1816656853&efid=TVdhzg972NYV9Q1MyFBqqg
如果覺得本文對你有幫助,麻煩點個贊和關(guān)注唄 ~~~
大家好,我是同學小張,日常分享AI知識和實戰(zhàn)案例
歡迎 點贊 + 關(guān)注 ??,持續(xù)學習,持續(xù)干貨輸出。