LLM-as-a-Judge,解鎖「LLM評(píng)估LLM」新世界

0 評(píng)論 1394 瀏覽 2 收藏 20 分鐘

在AI技術(shù)飛速發(fā)展的當(dāng)下,如何準(zhǔn)確評(píng)估大型語(yǔ)言模型(LLM)的性能成為了一個(gè)關(guān)鍵問(wèn)題。本文將帶你走進(jìn)“LLM-as-a-Judge”的奇妙世界,這是一種創(chuàng)新的評(píng)估方法,通過(guò)讓LLM自身來(lái)評(píng)估其他LLM的輸出,從而實(shí)現(xiàn)高效、客觀的質(zhì)量把控。

上一篇文章分析了AI產(chǎn)品經(jīng)理做好評(píng)測(cè)的重要性,并以本人所在的AI+醫(yī)療場(chǎng)景為例,示例了評(píng)估標(biāo)準(zhǔn)的構(gòu)建以及測(cè)評(píng)了相關(guān)大模型在此任務(wù)上的能力。

從這篇文章起,將開啟LLM-as-a-Judge的系列文章,包含從評(píng)估方法到實(shí)戰(zhàn)應(yīng)用的全流程。這是一種用魔法打敗魔法的神奇方法體系,以本人曾在某廠子做過(guò)智能客服的經(jīng)驗(yàn)來(lái)看,里面的方法極其實(shí)用,甚至不只是在評(píng)估環(huán)節(jié)用得到,很多方法都可以融到產(chǎn)品設(shè)計(jì)中,以保證AI產(chǎn)品的可靠性。里面的絕大多數(shù)內(nèi)容我都曾在工作中或多或少用到過(guò),現(xiàn)在終于被梳理成了一個(gè)完整的體系。在此強(qiáng)烈安利給各位AI產(chǎn)品經(jīng)理以及算法伙伴。

一、什么是LLM-as-a-judge

LLM-as-a-Judge 是一種評(píng)估方法,用于根據(jù)評(píng)估提示詞中定義的自定義標(biāo)準(zhǔn)評(píng)估任何 LLM產(chǎn)品(包括聊天機(jī)器人、問(wèn)答系統(tǒng)或代理)生成的文本質(zhì)量。它給LLM以評(píng)估提示詞,讓LLM來(lái)根據(jù)您定義的標(biāo)準(zhǔn)對(duì)生成的文本進(jìn)行評(píng)級(jí)。LLM可以對(duì)兩個(gè)輸出進(jìn)行比較,也可以直接對(duì)一個(gè)輸出進(jìn)行評(píng)分(評(píng)估正確性和相關(guān)性)。LLM 將按照您的指示返回分?jǐn)?shù)、標(biāo)簽甚至描述性判斷。

假設(shè)您有一個(gè)聊天機(jī)器人。您可以要求外部LLM 評(píng)估其輸出,類似于人工評(píng)估員的方式,查看以下內(nèi)容:

  • 禮貌 :回應(yīng)是否尊重和體貼?
  • 偏見(jiàn) :回應(yīng)是否顯示出對(duì)特定群體的偏見(jiàn)?
  • 語(yǔ)氣 :語(yǔ)氣是正式的、友好的還是對(duì)話的?
  • 情感 :文本中表達(dá)的情感是積極的、消極的還是中性的?
  • 幻覺(jué) :這種反應(yīng)是否符合所提供的上下文?

值得注意的是,LLM 作為裁判并不是準(zhǔn)確度、 精確度或 NDCG 等意義上的評(píng)估指標(biāo) 。在機(jī)器學(xué)習(xí)中,指標(biāo)是一種定義明確、客觀的衡量標(biāo)準(zhǔn):它們精確量化模型的預(yù)測(cè)與真實(shí)情況的匹配程度。相比之下,LLM as-a-judge 是一種用來(lái)近似人工標(biāo)記的過(guò)程。當(dāng)要求 LLM 評(píng)估“忠實(shí)于來(lái)源”、“正確性”或“有用性”等品質(zhì)時(shí),需要在提示詞中定義這些術(shù)語(yǔ)在的含義,且依賴于 LLM本身從訓(xùn)練數(shù)據(jù)中學(xué)到的語(yǔ)義關(guān)系。使用 LLM judges 的成功在很大程度上還取決于實(shí)現(xiàn)細(xì)節(jié):使用的模型、提示詞設(shè)計(jì)和任務(wù)復(fù)雜性。還需要根據(jù)特定的評(píng)估者 LLM 調(diào)整評(píng)估提示詞:?jiǎn)卧~和格式都很重要。

二、幾種類型LLM評(píng)估器

可以要求 LLM 在兩個(gè)輸出之間選擇最佳答案,評(píng)估簡(jiǎn)潔或禮貌性等特定品質(zhì),或使用額外的上下文評(píng)估答案,例如檢測(cè)幻覺(jué)或確定相關(guān)性:

  • 成對(duì)比較 :給LLM兩個(gè)回答,并要求LLM根據(jù)特定標(biāo)準(zhǔn)選擇更好的一個(gè)。這使您可以比較模型、提示或配置,以查看哪個(gè)性能最佳。
  • 按標(biāo)準(zhǔn)評(píng)估(無(wú)參考):要求 LLM 根據(jù)語(yǔ)氣、清晰度、正確性或其他維度評(píng)估回復(fù)或?qū)υ挕?/li>
  • 按標(biāo)準(zhǔn)評(píng)估(基于參考文獻(xiàn)):提供額外的上下文,如源文檔或參考文獻(xiàn),并要求 LLM 對(duì)回答進(jìn)行評(píng)分。

1、成對(duì)比較

簡(jiǎn)而言之,您生成兩個(gè)響應(yīng),并要求 LLM 根據(jù)特定質(zhì)量或因素選擇更合適的一個(gè)。

提示詞示例:你將看到對(duì)同一問(wèn)題的兩個(gè)回答。你的任務(wù)是根據(jù)其相關(guān)性、有用性和詳細(xì)程度來(lái)決定哪個(gè)響應(yīng)更好。如果兩個(gè)響應(yīng)都一樣好,則聲明平局。

2、按標(biāo)準(zhǔn)評(píng)估

你可以要求 LLM 直接按你定義的任何維度對(duì)生成的文本進(jìn)行評(píng)分。例如,你可以使用 LLM評(píng)委來(lái)評(píng)估語(yǔ)氣、清晰度、格式遵守性、簡(jiǎn)潔性、禮貌性、個(gè)人身份信息 (PII) 的存在等內(nèi)容。

LLM 在專注于語(yǔ)言和語(yǔ)義的分類任務(wù)中非常有效。一種常見(jiàn)的方法是將評(píng)估視為二元分類問(wèn)題。或者,你可以使用分級(jí)量表來(lái)衡量響應(yīng)滿足特定標(biāo)準(zhǔn)的程度,例如使用從 1 到 5 的Likert scale。

對(duì)話級(jí)評(píng)估:

對(duì)包含完整上下文的對(duì)話進(jìn)行評(píng)估,如:

  • 確定問(wèn)題是否已解決 :用戶的問(wèn)題是否最終得到解決?
  • 檢測(cè)用戶挫敗感 :用戶是否表達(dá)了負(fù)面情緒?

提示詞示例:閱讀對(duì)話并評(píng)估用戶的請(qǐng)求是否已解決?!耙呀鉀Q”表示問(wèn)題已得到解決,并且用戶確認(rèn)或表示滿意。返回以下標(biāo)簽之一:“已解決” 或“未解決”。

3、基于參考的評(píng)估

在基于參考的評(píng)估中,不僅可以單獨(dú)評(píng)估生成的輸出,還可以提供額外的上下文以供查看。以下是提供額外輸入的幾個(gè)示例:

1)答案 + 參考答案:

適合于有基本事實(shí)或正確答案進(jìn)行比較時(shí)。例如,在QA系統(tǒng)中,LLM評(píng)委可以檢查新的回答是否與之前同一問(wèn)題的答案是否相似。

示例prompt:將生成的 response 與 reference 答案進(jìn)行比較。評(píng)估生成的響應(yīng)即使措辭不同是否正確傳達(dá)了相同的含義。返回以下標(biāo)簽之一:“Correct”或“Incorrect”。

2)答案 + 問(wèn)題 :

常見(jiàn)于聊天機(jī)器人或 Q&A 系統(tǒng),用于檢查響應(yīng)是否正確解決了問(wèn)題。

  • 完整性 :答案是否完全解決了問(wèn)題?
  • 相關(guān)性 :答案是否與所提出的問(wèn)題直接相關(guān)?

本人有話說(shuō):本人曾在某廠做過(guò)智能客服系統(tǒng),在QA鏈路中,當(dāng)大模型基于檢索的相關(guān)知識(shí)生成了答案之后,還要再過(guò)一個(gè)類似這樣的質(zhì)檢模塊,判斷生成的答案是否能解決用戶的問(wèn)題

3)在 RAG 中對(duì)上下文相關(guān)性進(jìn)行評(píng)分:

答案 + 檢索到的上下文或問(wèn)題 + 檢索的上下文:用于RAG中,評(píng)估根據(jù)檢索出來(lái)的上下文生成的答案情況。

RAG的過(guò)程是:系統(tǒng)首先在知識(shí)庫(kù)中搜索可幫助回答問(wèn)題的文檔,隨后LLM根據(jù)它們生成輸出。這為 LLM 答案增加了最新的知識(shí)。要正確評(píng)估 RAG 的性能,需要評(píng)估以下兩方面:

  1. 它檢索相關(guān)文檔的能力。
  2. 最終的答案有多好。

對(duì)于第一部分 —— 搜索質(zhì)量評(píng)估 —— 可以使用 NDCG 或精確率等排名(ranking)質(zhì)量指標(biāo)。這些類型的指標(biāo)量化了系統(tǒng)查找和排序有助于回答查詢的文檔的能力。 這些評(píng)估通常在迭代不同搜索策略等參數(shù)時(shí)離線進(jìn)行。

LLM評(píng)委可以充當(dāng)上下文相關(guān)性評(píng)判員,可以對(duì)每個(gè)檢索到的文本塊與query進(jìn)行相關(guān)性評(píng)分。

4)評(píng)估RAG中的幻覺(jué):

您可以創(chuàng)建一個(gè)忠實(shí)度評(píng)判來(lái)仔細(xì)檢查 LLM 是否正確處理了檢索到的內(nèi)容。

示例:評(píng)估以下 response 是否忠實(shí)于 context。忠實(shí)的回應(yīng)應(yīng)該只包括上下文中存在的信息,避免發(fā)明新的細(xì)節(jié),并且不與上下文矛盾。返回以下標(biāo)簽之一:“忠實(shí)”或“不忠實(shí)”。

還可以使用LLM 評(píng)委來(lái)評(píng)估響應(yīng)與上下文的連貫性、將摘要與來(lái)源進(jìn)行比較來(lái)評(píng)估摘要 。這有助于您交叉檢查質(zhì)量并發(fā)現(xiàn)不一致之處。

三、實(shí)踐案例

1、創(chuàng)建LLM評(píng)估器的步驟

創(chuàng)建 LLM 評(píng)委與開發(fā)任何 LLM 驅(qū)動(dòng)的產(chǎn)品非常相似,需要一個(gè)提示來(lái)告訴LLM 確切該做什么。在本例中,它是一個(gè)評(píng)估提示詞,指示 LLM 評(píng)估文本輸入并返回標(biāo)簽、分?jǐn)?shù)或解釋。

問(wèn)題是:如果你正在使用 LLM 來(lái)評(píng)估其他 LLM,而結(jié)果不是確定性的,你如何確保你的評(píng)委符合你的期望?

您需要采用迭代方法——像優(yōu)化LLM產(chǎn)品提示一樣優(yōu)化評(píng)委。換句話說(shuō),您的評(píng)估系統(tǒng)需要自己的評(píng)估!

Step1. 定義評(píng)估方案。

首先,確定你到底希望 LLM 法官評(píng)估什么。

Tip:保持簡(jiǎn)單!不要試圖一次評(píng)估太多事情。如果要檢查不同的維度(如逾期和準(zhǔn)確性),請(qǐng)將它們拆分為單獨(dú)的評(píng)估。盡可能使用清晰的二元選項(xiàng)(例如,“正確”與“不正確”)。

Step2. 準(zhǔn)備評(píng)估數(shù)據(jù)集。

接下來(lái),創(chuàng)建一個(gè)小型數(shù)據(jù)集來(lái)測(cè)試您的 LLM 判斷。這可以包括來(lái)自實(shí)驗(yàn)或生產(chǎn)數(shù)據(jù)的示例。如果您沒(méi)有這些,則可以創(chuàng)建模擬預(yù)期輸入的合成案例。

您的數(shù)據(jù)集不需要很大,但應(yīng)該包含各種示例,尤其是那些挑戰(zhàn)您的評(píng)估標(biāo)準(zhǔn)的示例。

Step3. Label此數(shù)據(jù)集。

您需要手動(dòng)標(biāo)記此數(shù)據(jù)集,這個(gè)標(biāo)記的數(shù)據(jù)集將是您的“基本事實(shí)”,并幫助您衡量 LLM 裁判的表現(xiàn)如何。

Step4. 撰寫評(píng)估提示詞。

以下是一個(gè)示例:

Step5. 評(píng)估和迭代。

提示準(zhǔn)備就緒后,將其應(yīng)用于您的評(píng)估數(shù)據(jù)集,并將 LLM 裁判的輸出與您手動(dòng)標(biāo)記的真實(shí)情況進(jìn)行比較。

對(duì)于二元分類,可以使用精確率和召回率等指標(biāo)來(lái)衡量 LLM 裁判的表現(xiàn)。

請(qǐng)注意,您的 LLM 評(píng)委不需要完美——只需“足夠好”以達(dá)到您的目標(biāo)即可。即使是人類評(píng)估員也會(huì)犯錯(cuò)誤!

最后,引入領(lǐng)域?qū)<摇?/p>

非技術(shù)團(tuán)隊(duì)成員(如產(chǎn)品或領(lǐng)域?qū)<遥┰谠O(shè)置評(píng)估方面發(fā)揮著重要作用。

2、LLM評(píng)估提示詞

幾種提示技術(shù)可以提高 LLM 評(píng)估器的準(zhǔn)確性和一致性。這些類似于您在開發(fā) LLM 產(chǎn)品時(shí)可能使用的那些,例如思維鏈提示。

1)使用二進(jìn)制或低精度評(píng)分。

二元評(píng)估,如 “Polite” 與 “Impolite” ,對(duì) LLM 和人工評(píng)估者來(lái)說(shuō)往往更可靠和一致。通過(guò)兩個(gè)簡(jiǎn)單的選擇更容易獲得準(zhǔn)確的結(jié)果,而不是試圖決定特定回答的 “禮貌” 得分是 73 分還是 82 分。

您還可以使用三個(gè)選項(xiàng)的方法,例如 “相關(guān)”、“不相關(guān)” 和 “部分相關(guān)”,或者在信息不足時(shí)包括 “未知” 選項(xiàng)。這避免了在沒(méi)有足夠數(shù)據(jù)的情況下迫使 LLM 做出決定。

2)解釋每個(gè)分?jǐn)?shù)的含義。

不要只是要求 LLM 將某物標(biāo)記為“禮貌”或“不禮貌”。相反,明確定義“不禮貌”的含義,則更有幫助。如果您更喜歡標(biāo)記邊緣情況,您可以指導(dǎo) LLM 更加嚴(yán)格地使用指示,例如“如果不確定,請(qǐng)謹(jǐn)慎行事并將其標(biāo)記為’不禮貌’”。

使用 5 分制之類的內(nèi)容,解釋每個(gè)類別的含義變得更加重要——3 分和 4 分有什么區(qū)別?如果這一點(diǎn)不清楚,LLM 和人工審稿人都將難以保持一致。

為了減少可變性,您可以考慮使用多重評(píng)估 。然后,您可以使用最大投票或平均等方法組合結(jié)果。

3)通過(guò)拆分標(biāo)準(zhǔn)簡(jiǎn)化評(píng)估。

如果你有幾個(gè)方面需要評(píng)估,比如完整性、準(zhǔn)確性和相關(guān)性,最好將它們分成單獨(dú)的評(píng)估器。這樣可以保持專注。

4)在提示中添加示例。

如果您的標(biāo)準(zhǔn)很細(xì)微,您還可以考慮添加輸入和判斷的示例。

您的提示可以從一般說(shuō)明開始(例如,“Good”表示……“Bad” 的意思是……然后提供良好和不良響應(yīng)的示例。這些示例可幫助 LLM 更好地了解如何應(yīng)用您的條件,尤其是對(duì)于功能較弱的模型。

但是也要注意,避免添加有偏差或有偏見(jiàn)的例子,且如果包含的負(fù)面示例多于正面示例,或者如果所有負(fù)面示例都列在末尾,則它們的順序或頻率可能會(huì)影響評(píng)估結(jié)果。

5)鼓勵(lì)循序漸進(jìn)的推理。

就像其他任務(wù)一樣,要求 LLM 在給出最終答案之前“思考”其過(guò)程——稱為思維鏈 (CoT) 方法——可以幫助取得更好的結(jié)果。

您可以在評(píng)估提示中執(zhí)行相同的動(dòng)作:要求模型解釋其推理或逐步思考,從而有效地實(shí)施 Zero-Shot-CoT 方法。這樣,模型將在一個(gè)響應(yīng)中同時(shí)提供推理和結(jié)果。

6)設(shè)置低溫。

在 LLM 中,溫度控制輸出的隨機(jī)性。較高的溫度意味著更多的種類,而較低的溫度使輸出更“可預(yù)測(cè)”。對(duì)于評(píng)估,您不需要?jiǎng)?chuàng)造力 – 設(shè)置一個(gè)低溫,以便模型為相同的輸入提供一致的答案。

7)使用功能更強(qiáng)大的模型。

在評(píng)估時(shí),從更強(qiáng)大的模型開始是有意義的。這通常有助于確保更好地與人類判斷保持一致。一旦有了這個(gè)堅(jiān)實(shí)的基線,您就可以試驗(yàn)更小或功能更弱的模型,看看它們是否滿足您的需求。

8)獲取結(jié)構(gòu)化輸出。

最后但并非最不重要的一點(diǎn)是,始終選擇結(jié)構(gòu)化輸出格式,例如 JSON。它使解析評(píng)估結(jié)果以進(jìn)行進(jìn)一步分析變得更加容易。

四、生產(chǎn)環(huán)境中LLM的觀測(cè)與評(píng)估

系統(tǒng)上線后,真實(shí)用戶將以您可能意想不到的方式與它進(jìn)行交互。即使是最徹底的發(fā)布前測(cè)試也無(wú)法涵蓋人們使用它的所有不同方式。這就是為什么實(shí)時(shí)跟蹤實(shí)際性能如此重要的原因。

在生產(chǎn)中,沒(méi)有完美的答案來(lái)比較輸出,因此您需要自行監(jiān)控響應(yīng)的質(zhì)量。LLM 評(píng)估員使這成為可能。您可以設(shè)置一個(gè)常規(guī)流程,根據(jù)所選標(biāo)準(zhǔn)對(duì)新一代輸出進(jìn)行評(píng)分。

這種監(jiān)控不僅與質(zhì)量控制有關(guān),還可以深入了解用戶如何與您的工具交互

第一步:追蹤

第一步是跟蹤 — 從用戶交互中收集數(shù)據(jù)并將其存儲(chǔ)以供分析,獲得日志后,您可以查看和讀取它們,以了解用戶與您的應(yīng)用程序交互時(shí)發(fā)生的情況。

最初,您可能會(huì)手動(dòng)查看輸出以發(fā)現(xiàn)常見(jiàn)模式或問(wèn)題。但是,隨著數(shù)據(jù)量的增長(zhǎng),人工審核將無(wú)法擴(kuò)展,因此您需要一些自動(dòng)化。

第二步:安排評(píng)估

制定評(píng)估計(jì)劃:如果您正在運(yùn)行客戶服務(wù)聊天機(jī)器人,您可以評(píng)估 10% 的對(duì)話,以發(fā)現(xiàn)用戶表達(dá)的沮喪、重復(fù)的問(wèn)題或未解決的聊天。定期運(yùn)行這些評(píng)估(例如,每小時(shí)、每天或在 X 次對(duì)話之后)可以讓您了解最新的情況。

第三步:構(gòu)建儀表盤

在對(duì)最新一批數(shù)據(jù)進(jìn)行評(píng)估后,您可以將“標(biāo)記為幻覺(jué)的答案比率”或“用戶表達(dá)沮喪的對(duì)話數(shù)”等指標(biāo)添加到控制面板中,并隨著時(shí)間的推移可視化它們。這有助于跟蹤性能趨勢(shì)并發(fā)現(xiàn)問(wèn)題。

您還可以設(shè)置警報(bào) ,以便在事情偏離軌道時(shí),您會(huì)立即收到通知,并可以在問(wèn)題影響太多用戶之前介入。

第四步:查看您的數(shù)據(jù)

監(jiān)控和調(diào)試齊頭并進(jìn)。比如說(shuō),如果你注意到用戶不滿情緒增加,你需要查看特定的問(wèn)題對(duì)話。您可以導(dǎo)出示例以微調(diào)模型,或創(chuàng)建測(cè)試集以調(diào)整提示詞以解決問(wèn)題。

本文由 @「愛(ài)」原生 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!