大模型評(píng)估:初學(xué)者入門(一)
大模型的風(fēng)口已至,但評(píng)估卻始終是一道“看不清又繞不過(guò)”的門檻。本篇文章將從基礎(chǔ)概念出發(fā),手把手引導(dǎo)初學(xué)者理解大模型評(píng)估的核心邏輯與方法體系,厘清技術(shù)指標(biāo)背后的實(shí)際含義,為后續(xù)深入探索打下堅(jiān)實(shí)的認(rèn)知地基。
OpenAI的首席產(chǎn)品官(CPO)Kevin Weil在一次播客訪談中提到:“編寫(xiě)評(píng)估將成為AI產(chǎn)品經(jīng)理的一項(xiàng)核心技能。這是用AI打造優(yōu)秀產(chǎn)品的關(guān)鍵一環(huán)”
Anthropic的CPO Mike Krieger在與Weil的對(duì)談中同樣強(qiáng)調(diào),產(chǎn)品領(lǐng)導(dǎo)者必須開(kāi)發(fā)出色的評(píng)估指標(biāo),以準(zhǔn)確衡量AI模型的能力和產(chǎn)品的成功 。
這些觀點(diǎn)將“大模型評(píng)估”的地位從一個(gè)單純的測(cè)試環(huán)節(jié),提升到了與產(chǎn)品管理、用戶體驗(yàn)設(shè)計(jì)同等重要的戰(zhàn)略高度。
基于這樣的背景,本文專為所有從事大語(yǔ)言模型(LLM)相關(guān)產(chǎn)品工作的從業(yè)人員(從產(chǎn)品經(jīng)理到開(kāi)發(fā)和測(cè)試人員)而寫(xiě),旨在提供一份清晰易懂的“LLM評(píng)估入門指南”。
這篇文章將用通俗易懂的方式,講解評(píng)估LLM應(yīng)用的基礎(chǔ)知識(shí)。只要你對(duì)如何在產(chǎn)品中應(yīng)用LLM有基本了解,就能輕松上手。
本文涵蓋以下內(nèi)容:
- 評(píng)估LLM與評(píng)估LLM產(chǎn)品,兩者有何不同?
- 從人工標(biāo)注到自動(dòng)化評(píng)估,有哪些主流的評(píng)估方法?
- 從產(chǎn)品實(shí)驗(yàn)到持續(xù)監(jiān)控,何時(shí)需要進(jìn)行LLM評(píng)估?
我們將聚焦于評(píng)估的核心原則與工作流程。所謂LLM評(píng)估(evals),就是評(píng)價(jià)模型的性能,確保其輸出結(jié)果準(zhǔn)確、安全,并能滿足用戶需求。
- 模型評(píng)估:側(cè)重于模型的基礎(chǔ)能力,如編碼、翻譯、數(shù)學(xué)解題等,通常用標(biāo)準(zhǔn)化的基準(zhǔn)(benchmark)來(lái)衡量。
- LLM產(chǎn)品評(píng)估:側(cè)重于評(píng)估整個(gè)LLM應(yīng)用系統(tǒng)在其特定任務(wù)上的表現(xiàn),會(huì)同時(shí)使用人工和自動(dòng)化方法。
在具體方法上,評(píng)估可以由領(lǐng)域?qū)<一驅(qū)徍藛T人工進(jìn)行,也可以自動(dòng)化進(jìn)行。
自動(dòng)化評(píng)估又分為兩類:
一類是有參考評(píng)估,在實(shí)驗(yàn)或測(cè)試中,將模型輸出與標(biāo)準(zhǔn)答案進(jìn)行比對(duì);
另一類是無(wú)參考評(píng)估,直接評(píng)價(jià)輸出內(nèi)容的質(zhì)量,常用于生產(chǎn)環(huán)境的監(jiān)控和安全防護(hù)。在眾多方法中,“LLM作評(píng)判”(LLM-as-a-judge)是目前非常流行的一種。
在深入探討評(píng)估之前,先明確一下評(píng)估的對(duì)象。
什么是LLM產(chǎn)品?
LLM產(chǎn)品,或稱LLM應(yīng)用,是指將大語(yǔ)言模型(LLM)作為其核心功能一部分的產(chǎn)品。
這些產(chǎn)品形態(tài)各異,既可以是面向用戶的客服聊天機(jī)器人,也可以是公司內(nèi)部使用的營(yíng)銷文案生成器。 可以將LLM功能嵌入現(xiàn)有軟件,比如讓用戶通過(guò)自然語(yǔ)言查詢數(shù)據(jù);也可以完全圍繞LLM打造一個(gè)全新的應(yīng)用,比如對(duì)話式AI助手。
以下是一些實(shí)際案例:
- 構(gòu)建一個(gè)由LLM驅(qū)動(dòng)的客服聊天機(jī)器人。
- 為數(shù)字銷售代理開(kāi)發(fā)了一款A(yù)I助手。
- 幫助數(shù)據(jù)分析師用自然語(yǔ)言編寫(xiě)SQL查詢。
- 檢測(cè)用戶評(píng)論中的不當(dāng)言論。
- 從非結(jié)構(gòu)化的招聘廣告中提取關(guān)鍵崗位信息。
這些應(yīng)用都依賴于LLM,LLM本身是基于海量數(shù)據(jù)訓(xùn)練出的模型,能通過(guò)指令提示(Prompt)處理各種任務(wù),如內(nèi)容創(chuàng)作、信息提取、代碼生成、翻譯或進(jìn)行完整對(duì)話。
有些任務(wù),比如生成一句產(chǎn)品描述,可能一個(gè)提示就足夠了。但大多數(shù)LLM應(yīng)用會(huì)更復(fù)雜??赡軙?huì)將多個(gè)提示串聯(lián)起來(lái),形成一個(gè)“提示鏈(prompt chain)”,例如在一個(gè)寫(xiě)作助手中,先生成文案,再調(diào)整風(fēng)格。
檢索增強(qiáng)生成(RAG) 是一種非常流行的LLM應(yīng)用類型。這個(gè)名字聽(tīng)起來(lái)復(fù)雜,但概念很簡(jiǎn)單:將LLM與搜索技術(shù)相結(jié)合。當(dāng)用戶提問(wèn)時(shí),系統(tǒng)首先檢索相關(guān)資料,然后將問(wèn)題和這些資料一并交給LLM,從而生成更精準(zhǔn)的答案。例如,一個(gè)基于RAG的客服機(jī)器人可以從幫助中心數(shù)據(jù)庫(kù)里查找信息,并在回復(fù)中附上相關(guān)文章的鏈接。
此外,還可以創(chuàng)建LLM驅(qū)動(dòng)的智能代理(Agent),讓它自動(dòng)化處理需要按步驟推理的復(fù)雜工作流,比如修改代碼、規(guī)劃并預(yù)訂一次旅行。智能代理不僅能生成文本,還能使用提供的工具,例如查詢數(shù)據(jù)庫(kù)或發(fā)送會(huì)議邀請(qǐng)。一個(gè)復(fù)雜的代理系統(tǒng)可能涉及多步規(guī)劃、數(shù)十個(gè)提示以及用于追蹤進(jìn)度的“記憶”功能。
在開(kāi)發(fā)這些LLM應(yīng)用的過(guò)程中, 我們總會(huì)問(wèn)自己:
- 產(chǎn)品運(yùn)行得怎么樣?
- 能處理好我預(yù)想的所有場(chǎng)景嗎?
- 還有哪些地方可以改進(jìn)?
要回答這些問(wèn)題,就需要進(jìn)行LLM評(píng)估。
什么是LLM評(píng)估?
LLM評(píng)估(簡(jiǎn)稱“evals”)旨在評(píng)價(jià)大語(yǔ)言模型的性能,確保其輸出結(jié)果準(zhǔn)確、安全,并符合用戶需求。
這個(gè)術(shù)語(yǔ)通常用于兩種不同的情境:
- 評(píng)估模型本身。
- 評(píng)估基于LLM構(gòu)建的應(yīng)用系統(tǒng)。
盡管兩種評(píng)估在方法上有所重疊,但它們的本質(zhì)截然不同。
1. 模型評(píng)估
直接評(píng)估大模型時(shí),我們關(guān)注的是它的“原始”能力,比如編碼、翻譯或解數(shù)學(xué)題。研究人員通常使用標(biāo)準(zhǔn)化的基準(zhǔn)測(cè)試(Benchmark) 來(lái)完成這項(xiàng)工作。例如,他們可能會(huì)評(píng)估:
- 模型對(duì)歷史事實(shí)的掌握程度。
- 模型的邏輯推理能力。
- 模型如何應(yīng)對(duì)不安全或?qū)剐缘奶釂?wèn)。
目前已有數(shù)百個(gè)LLM基準(zhǔn),每個(gè)都有自己獨(dú)特的測(cè)試集。大多數(shù)基準(zhǔn)包含有標(biāo)準(zhǔn)答案的問(wèn)題,評(píng)估過(guò)程就是看模型的回答與標(biāo)準(zhǔn)答案的匹配度。有些基準(zhǔn)則采用更復(fù)雜的方法,比如通過(guò)眾包對(duì)模型的回答進(jìn)行排序。
LLM基準(zhǔn)可以直觀地比較不同模型。許多公開(kāi)的排行榜會(huì)展示各個(gè)LLM在基準(zhǔn)上的表現(xiàn),幫助回答“哪個(gè)開(kāi)源LLM更擅長(zhǎng)編碼?”這類問(wèn)題。
盡管LLM基準(zhǔn)在選型和追蹤行業(yè)進(jìn)展時(shí)很有用,但它們并不太適合用來(lái)評(píng)估一個(gè)具體的應(yīng)用。
因?yàn)榛鶞?zhǔn)測(cè)試的是通用能力,而不是應(yīng)用需要處理的特定場(chǎng)景。同時(shí),它們只關(guān)注LLM本身,而一個(gè)完整的產(chǎn)品還包含其他部分。
2. 產(chǎn)品評(píng)估
LLM產(chǎn)品評(píng)估,評(píng)估的是整個(gè)系統(tǒng)在其特定任務(wù)上的表現(xiàn)。
這不僅包括LLM,還包括所有其他部分:提示、將它們連接起來(lái)的邏輯、用于增強(qiáng)回答效果的知識(shí)庫(kù)等等。 還可以在更貼近真實(shí)場(chǎng)景的數(shù)據(jù)上進(jìn)行測(cè)試,比如使用真實(shí)的客戶支持問(wèn)題。
這類應(yīng)用層面的評(píng)估通常關(guān)注兩大方面:
- 能力(Capability):產(chǎn)品是否能很好地完成預(yù)定任務(wù)?
- 風(fēng)險(xiǎn)(Risk):它的輸出是否可能帶來(lái)危害?
具體的評(píng)估標(biāo)準(zhǔn)因應(yīng)用場(chǎng)景而異。“好”與“壞”的定義取決于具體用途。比如要開(kāi)發(fā)一個(gè)問(wèn)答系統(tǒng), 可能需要評(píng)估:
- 正確性:回答是否基于事實(shí),沒(méi)有捏造內(nèi)容(即“幻覺(jué)”)?
- 幫助性:回答是否完整地解決了用戶的問(wèn)題?
- 文本風(fēng)格:語(yǔ)氣是否清晰、專業(yè),并符合品牌風(fēng)格?
- 格式:回復(fù)是否滿足長(zhǎng)度限制,或者是否總是附上信息來(lái)源鏈接?
在安全方面, 可能需要測(cè)試問(wèn)答系統(tǒng)是否會(huì)產(chǎn)生有偏見(jiàn)或有害的輸出,以及在受到誘導(dǎo)時(shí)是否會(huì)泄露敏感數(shù)據(jù)。
在設(shè)計(jì)評(píng)估方案時(shí), 需要根據(jù)應(yīng)用的目標(biāo)、風(fēng)險(xiǎn)和已發(fā)現(xiàn)的錯(cuò)誤類型來(lái)確定評(píng)估標(biāo)準(zhǔn)。 這些評(píng)估應(yīng)該能真正幫助我們做決策,比如:新的提示效果更好嗎?應(yīng)用可以上線了嗎?
以“流暢性”或“連貫性”這類標(biāo)準(zhǔn)為例,大多數(shù)現(xiàn)代LLM在生成通順自然的文本方面已經(jīng)做得很好。一個(gè)完美的流暢性得分在報(bào)告上可能很好看,但并不能提供太多有效信息。
不過(guò)如果使用的是一個(gè)能力較弱的小型本地模型,那么測(cè)試流暢性可能就很有必要。
即使是評(píng)估標(biāo)準(zhǔn)也并非放之四海而皆準(zhǔn)。在多數(shù)情況下,事實(shí)準(zhǔn)確性至關(guān)重要。但如果開(kāi)發(fā)的是一個(gè)用于頭腦風(fēng)暴、構(gòu)思營(yíng)銷創(chuàng)意的工具,那么“天馬行空”或許正是用戶想要的。在這種情況下, 我們更關(guān)心的可能是輸出的多樣性和創(chuàng)造力,而不是事實(shí)準(zhǔn)確性。
這就是LLM產(chǎn)品評(píng)估與基準(zhǔn)測(cè)試的核心區(qū)別?;鶞?zhǔn)測(cè)試像學(xué)??荚嚕饬康氖峭ㄓ眉寄?;而LLM產(chǎn)品評(píng)估更像是工作績(jī)效考核,檢驗(yàn)的是系統(tǒng)在它所“受雇”的特定崗位上是否表現(xiàn)出色。
核心要點(diǎn):每個(gè)LLM應(yīng)用都需要一套量身定制的評(píng)估框架。
評(píng)估標(biāo)準(zhǔn)既要有用(關(guān)注真正重要的問(wèn)題),又要有區(qū)分度(能有效反映不同版本間的性能差異)。
為什么LLM評(píng)估如此困難?
LLM評(píng)估之所以復(fù)雜,不僅因?yàn)橘|(zhì)量標(biāo)準(zhǔn)是定制的,還因?yàn)槠湓u(píng)估方法本身就不同于傳統(tǒng)的軟件測(cè)試和機(jī)器學(xué)習(xí)。
1)輸出的非確定性:LLM的輸出是概率性的,這意味著對(duì)于同一個(gè)輸入,它每次可能給出不同的回答。這雖然帶來(lái)了創(chuàng)造性和多樣性,但也讓測(cè)試變得復(fù)雜:必須檢查一系列可能的輸出是否都符合預(yù)期。
2)沒(méi)有唯一的標(biāo)準(zhǔn)答案:傳統(tǒng)的機(jī)器學(xué)習(xí)系統(tǒng)(如分類器、推薦系統(tǒng))處理的是預(yù)定義好的輸出。例如,一封郵件要么是垃圾郵件,要么不是。但LLM通常處理的是開(kāi)放式任務(wù),比如寫(xiě)郵件或進(jìn)行對(duì)話,這些任務(wù)存在多個(gè)合理的答案。例如,寫(xiě)一封好郵件的方式有無(wú)數(shù)種。這意味著不能簡(jiǎn)單地將模型輸出與某個(gè)參考答案進(jìn)行精確匹配,而是需要評(píng)估模糊的相似性或主觀質(zhì)量,如風(fēng)格、語(yǔ)氣和安全性。
3)輸入范圍極其廣泛:LLM產(chǎn)品通常要應(yīng)對(duì)各種各樣的用戶輸入。例如,一個(gè)客服機(jī)器人可能要回答關(guān)于產(chǎn)品、退貨的咨詢,或幫助解決賬戶問(wèn)題。需要基于不同場(chǎng)景進(jìn)行測(cè)試,才能覆蓋所有預(yù)期的輸入。如何創(chuàng)建一個(gè)高質(zhì)量的評(píng)估數(shù)據(jù)集本身就是一個(gè)不小的挑戰(zhàn)。
4)線上線下表現(xiàn)不一:更重要的是,在測(cè)試中表現(xiàn)良好的系統(tǒng),在實(shí)際應(yīng)用中不一定同樣出色。真實(shí)用戶可能會(huì)向系統(tǒng)拋出各種意想不到的輸入,完全超出計(jì)劃。為了應(yīng)對(duì)這種情況,需要有辦法在生產(chǎn)環(huán)境中觀察和評(píng)估線上質(zhì)量。
5)獨(dú)特的風(fēng)險(xiǎn):使用這種基于自然語(yǔ)言指令的概率性系統(tǒng),會(huì)帶來(lái)一些新型的風(fēng)險(xiǎn),包括:
- 幻覺(jué)(Hallucination):系統(tǒng)可能生成虛假或誤導(dǎo)性的信息,比如編造一個(gè)不存在的產(chǎn)品。
- 越獄(Jailbreaking):惡意用戶可能試圖繞過(guò)安全限制,誘導(dǎo)模型產(chǎn)生有害或不當(dāng)?shù)幕卮稹?/li>
- 數(shù)據(jù)泄露(DataLeakage):LLM可能無(wú)意中泄露其訓(xùn)練數(shù)據(jù)或所連接系統(tǒng)中的敏感信息。
需要一個(gè)完善的評(píng)估流程來(lái)應(yīng)對(duì)所有這些挑戰(zhàn):對(duì)系統(tǒng)進(jìn)行壓力測(cè)試,發(fā)現(xiàn)其弱點(diǎn),并監(jiān)控其實(shí)際表現(xiàn)。
LLM評(píng)估方法
LLM評(píng)估通常發(fā)生在兩個(gè)關(guān)鍵階段:部署前和發(fā)布后。
在開(kāi)發(fā)階段, 需要檢驗(yàn)應(yīng)用在迭代過(guò)程中是否足夠好。一旦上線, 就需要監(jiān)控它的實(shí)際運(yùn)行情況。無(wú)論哪個(gè)階段,評(píng)估都始于數(shù)據(jù)。
- 測(cè)試數(shù)據(jù):用于模擬LLM可能遇到的各種場(chǎng)景的樣本輸入??梢允謩?dòng)編寫(xiě)測(cè)試用例,也可以利用模型合成,或是從早期用戶那里收集。有了這些輸入,就可以測(cè)試的LLM應(yīng)用如何響應(yīng),并根據(jù)成功標(biāo)準(zhǔn)來(lái)評(píng)估其輸出。
- 生產(chǎn)數(shù)據(jù):應(yīng)用上線后,一切都取決于它在真實(shí)用戶中的表現(xiàn)。需要捕獲系統(tǒng)的輸入和輸出,并對(duì)線上數(shù)據(jù)進(jìn)行持續(xù)的質(zhì)量評(píng)估,以及時(shí)發(fā)現(xiàn)問(wèn)題。
無(wú)論是在測(cè)試還是生產(chǎn)環(huán)境, 都可以選擇人工評(píng)估和自動(dòng)評(píng)估。
1. 人工評(píng)估
最開(kāi)始, 我們可以做一些簡(jiǎn)單的“直覺(jué)檢查”,問(wèn)自己:“這些回答看起來(lái)對(duì)嗎?”
在創(chuàng)建第一個(gè)版本的提示或RAG系統(tǒng)后, 可以輸入幾個(gè)樣本問(wèn)題,然后肉眼檢查回答。如果結(jié)果偏差太大,就調(diào)整提示或修改方法。即使在這個(gè)非正式的階段, 也需要準(zhǔn)備一些測(cè)試用例。例如,為客服機(jī)器人準(zhǔn)備幾個(gè)有標(biāo)準(zhǔn)答案的示例問(wèn)題。每次做出修改后,都重新評(píng)估系統(tǒng)處理這些問(wèn)題的效果。
雖然這種方法能幫我們快速發(fā)現(xiàn)問(wèn)題并激發(fā)新的想法,但它并不可靠,也無(wú)法重復(fù)。隨著開(kāi)發(fā)的深入, 需要更有條理的方法——包括一致的評(píng)分標(biāo)準(zhǔn)和詳細(xì)的結(jié)果記錄。
一種更嚴(yán)謹(jǐn)?shù)乩萌祟悓I(yè)知識(shí)的方法是標(biāo)注(Annotation):建立一個(gè)正式的工作流程,讓測(cè)試人員根據(jù)預(yù)設(shè)的指南來(lái)評(píng)估回答。
他們可以給出“通過(guò)/失敗”這樣的二元標(biāo)簽,也可以評(píng)估特定維度,比如檢索到的上下文是否“相關(guān)”,或回答是否“安全”。 還可以要求審核員簡(jiǎn)要說(shuō)明他們的判斷依據(jù)。
為了讓標(biāo)注過(guò)程高效且一致, 必須提供清晰的指南,例如要求測(cè)試人員專門尋找某些類型的錯(cuò)誤。 也可以讓多個(gè)人評(píng)估同一個(gè)樣本,以發(fā)現(xiàn)和解決意見(jiàn)分歧。
人工評(píng)估是判斷LLM應(yīng)用是否正常工作的最可靠的方法。作為產(chǎn)品構(gòu)建者, 最清楚在應(yīng)用場(chǎng)景中,“成功”意味著什么。在醫(yī)療等高度專業(yè)化的領(lǐng)域, 可能還需要引入領(lǐng)域?qū)<襾?lái)輔助判斷。
盡管人工評(píng)估價(jià)值巨大,但成本高。 不可能每次修改提示都去人工審查成千上萬(wàn)個(gè)輸出。要實(shí)現(xiàn)規(guī)模化就需要自動(dòng)化。
2. 自動(dòng)化評(píng)估
自動(dòng)化評(píng)估主要分為兩種類型:
- 有標(biāo)準(zhǔn)答案(基于參考):將LLM的輸出與一個(gè)預(yù)設(shè)的參考答案進(jìn)行比較。
- 沒(méi)有標(biāo)準(zhǔn)答案(無(wú)參考):直接為模型的回答分配一個(gè)量化分?jǐn)?shù)或標(biāo)簽。
有標(biāo)準(zhǔn)答案的評(píng)估
這類評(píng)估依賴于預(yù)先定義好的正確答案——通常被稱為“參考答案”、“基準(zhǔn)答案(ground truth)”或“黃金答案(golden)”。
例如,在一個(gè)客服系統(tǒng)中,對(duì)于問(wèn)題“ 們的退貨政策是什么?”,參考答案可能是“您可以在30天內(nèi)退貨。” 可以將聊天機(jī)器人的實(shí)際輸出與這個(gè)已知答案進(jìn)行比較,以評(píng)估其正確性。
這類評(píng)估本質(zhì)上是離線的。 通常在迭代應(yīng)用或?qū)⑿掳姹静渴鸬缴a(chǎn)環(huán)境之前運(yùn)行這些測(cè)試。
要使用此方法, 首先需要一個(gè)評(píng)估數(shù)據(jù)集:一個(gè)包含樣本輸入及其對(duì)應(yīng)標(biāo)準(zhǔn)答案的集合。 可以自己生成這樣的數(shù)據(jù)集,也可以從歷史日志中整理,比如使用人工客服過(guò)去的回答。這些用例越能反映真實(shí)世界, 的評(píng)估就越可靠。
數(shù)據(jù)集準(zhǔn)備好后,自動(dòng)化評(píng)估的流程如下:
- 輸入測(cè)試樣本。
- 從系統(tǒng)中生成回答。
- 將新生成的回答與參考答案進(jìn)行比較。
- 計(jì)算整體的質(zhì)量分?jǐn)?shù)。
這里的難點(diǎn)在于第三步:如何比較回答與參考答案?
精確匹配:看新回答是否與參考答案一字不差。但通常過(guò)于嚴(yán)格,在開(kāi)放式場(chǎng)景中,不同的措辭可以表達(dá)相同的意思。
為了解決這個(gè)問(wèn)題, 可以使用其他方法,比如量化兩個(gè)回答之間的詞語(yǔ)重疊度,使用嵌入(embedding)來(lái)比較語(yǔ)義,甚至可以請(qǐng)求另一個(gè)LLM來(lái)判斷它們是否匹配。
以下是一些常見(jiàn)的匹配方法:
在判斷單個(gè)回答的正確性后, 就可以分析系統(tǒng)在整個(gè)測(cè)試集上的整體表現(xiàn)了。
如果 LLM被用于預(yù)測(cè)任務(wù),則可以使用經(jīng)典的機(jī)器學(xué)習(xí)質(zhì)量指標(biāo)。
3. 沒(méi)有標(biāo)準(zhǔn)答案的評(píng)估
然而,并非所有場(chǎng)景都有標(biāo)準(zhǔn)答案。對(duì)于復(fù)雜、開(kāi)放式的任務(wù)或多輪對(duì)話,很難定義一個(gè)唯一的“正確”回答。在生產(chǎn)環(huán)境中,更沒(méi)有完美的參考答案: 評(píng)估的是實(shí)時(shí)傳入的未知輸出。
此時(shí), 可以進(jìn)行無(wú)參考的LLM評(píng)估。它們不將輸出與固定答案比較,而是直接評(píng)估輸出的特定質(zhì)量,如結(jié)構(gòu)、語(yǔ)氣或含義。
一種方法是使用LLM作為評(píng)判者(LLM-as-a-Judge),即利用另一個(gè)語(yǔ)言模型,根據(jù)一套規(guī)則來(lái)為輸出打分。例如,LLM評(píng)判者可以評(píng)估聊天機(jī)器人的回答是否完整,或者輸出的語(yǔ)氣是否一致。
但這也不是唯一的選擇,以下是一些常見(jiàn)方法:
這些無(wú)參考的評(píng)估方法既可以在迭代開(kāi)發(fā)期間使用(例如,優(yōu)化輸出的語(yǔ)氣或格式時(shí)),也可以用于監(jiān)控生產(chǎn)環(huán)境的性能。
雖然在這種情況下無(wú)需標(biāo)注標(biāo)準(zhǔn)答案,但仍需做一些前期工作,重點(diǎn)在于:
- 策劃多樣化的測(cè)試輸入。
- 精心設(shè)計(jì)和調(diào)優(yōu)大模型評(píng)估器。
LLM評(píng)估的應(yīng)用場(chǎng)景
總而言之,所有LLM評(píng)估都遵循相似的結(jié)構(gòu):
1.明確構(gòu)建的目標(biāo)或任務(wù)。
2.根據(jù)特定標(biāo)準(zhǔn)/指標(biāo)評(píng)估輸出。
3.收集和創(chuàng)建評(píng)估數(shù)據(jù)集(測(cè)試或生產(chǎn)數(shù)據(jù))。
4.決定評(píng)估方法(人工、自動(dòng)或混合)。
- 確定任務(wù)
- 設(shè)計(jì)指標(biāo)
- 整理數(shù)據(jù)
- 選擇方法
- 觀察結(jié)果
- 做出調(diào)整
以下是LLM產(chǎn)品生命周期中的一些常見(jiàn)評(píng)估場(chǎng)景:
1. 對(duì)比實(shí)驗(yàn)
(為AI產(chǎn)品選擇最佳的模型、提示或配置。)
項(xiàng)目剛開(kāi)始時(shí),第一步通常是進(jìn)行模型對(duì)比。 可以查看排行榜,挑選幾個(gè)候選LLM,并用真實(shí)數(shù)據(jù)測(cè)試它們。另一個(gè)常見(jiàn)的比較任務(wù)是找到最佳提示(Prompt Engineering)。
?“用簡(jiǎn)單的話解釋”和“寫(xiě)一個(gè)總結(jié)摘要”,哪個(gè)效果更好?
如果把任務(wù)分解成多個(gè)步驟,效果會(huì)怎樣?
如果在提示里加入一些期望風(fēng)格的例子呢?
微小的調(diào)整往往會(huì)帶來(lái)巨大的差異,因此在數(shù)據(jù)集上系統(tǒng)地測(cè)試每個(gè)版本至關(guān)重要。
每次更改都是一個(gè)新的實(shí)驗(yàn), 需要LLM評(píng)估來(lái)比較它們的結(jié)果。這意味著我們需要一個(gè)精心策劃的測(cè)試數(shù)據(jù)集和自動(dòng)化的性能衡量方法。
可以同時(shí)使用有參考的評(píng)估方法(如與理想摘要比較)和無(wú)參考的評(píng)估方法(如檢查所有輸出是否遵循設(shè)定格式)。
在嘗試復(fù)雜方案之前,先試試簡(jiǎn)單的方法,這為評(píng)估提供了一個(gè)明確的衡量進(jìn)展的起點(diǎn)。
2. 壓力測(cè)試
(通過(guò)評(píng)估產(chǎn)品在各種場(chǎng)景下的表現(xiàn),檢查它是否為實(shí)際使用做好了準(zhǔn)備。)
當(dāng)模型和提示策略基本確定后,就該進(jìn)行更徹底的測(cè)試了。 我們構(gòu)建的系統(tǒng)可能在十幾個(gè)測(cè)試用例上運(yùn)行良好,但幾百個(gè)、幾千個(gè)呢?
這意味著要添加更多的測(cè)試用例,既要覆蓋常見(jiàn)的場(chǎng)景,也要考察系統(tǒng)如何處理更棘手的邊緣情況(Edge Cases)。
如果輸入只有一個(gè)詞怎么辦?如果太長(zhǎng)了呢?
如果是另一種語(yǔ)言或錯(cuò)別字呢?
系統(tǒng)如何處理它不應(yīng)涉及的敏感話題?
設(shè)計(jì)這些測(cè)試需要深入了解用戶如何與產(chǎn)品互動(dòng)。最終, 為每個(gè)主題或場(chǎng)景都建立一套評(píng)估方案。
從技術(shù)上講,壓力測(cè)試與對(duì)比實(shí)驗(yàn)沒(méi)有太大區(qū)別。
區(qū)別在于重點(diǎn): 不是在探索哪個(gè)選項(xiàng)更好,而是在檢查當(dāng)前版本的產(chǎn)品是否足夠健壯,能否應(yīng)對(duì)用戶可能拋出的各種問(wèn)題。
3. 紅隊(duì)測(cè)試
(測(cè)試系統(tǒng)如何響應(yīng)對(duì)抗性行為或惡意使用。)
紅隊(duì)測(cè)試是一種模擬攻擊的測(cè)試技術(shù),例如通過(guò)提示注入(Prompt Injection)等方式,發(fā)現(xiàn)系統(tǒng)中的漏洞。這是評(píng)估高風(fēng)險(xiǎn)應(yīng)用安全性的關(guān)鍵步驟。
壓力測(cè)試關(guān)注的是有挑戰(zhàn)性但合理的場(chǎng)景,而紅隊(duì)測(cè)試則專門針對(duì)濫用。它尋找的是惡意行為者可能利用系統(tǒng)、將其推向不安全或意外行為(如提供有害建議)的方法。
例如,對(duì)于一個(gè)醫(yī)療聊天機(jī)器人,測(cè)試它如何安全地處理醫(yī)療問(wèn)題屬于其核心功能范圍。但對(duì)于一個(gè)通用的問(wèn)答機(jī)器人,醫(yī)療、金融或法律問(wèn)題就超出了其預(yù)期用途,可被視為對(duì)抗性輸入。
紅隊(duì)測(cè)試可以手動(dòng)進(jìn)行,也可以通過(guò)合成數(shù)據(jù)和有針對(duì)性的提示來(lái)自動(dòng)化地模擬各種風(fēng)險(xiǎn)。
4. 生產(chǎn)環(huán)境可觀察性
(了解系統(tǒng)的實(shí)時(shí)性能,以便檢測(cè)和解決問(wèn)題。)
離線評(píng)估終究有限,當(dāng)產(chǎn)品面向真實(shí)用戶后, 需要了解它在實(shí)際使用中的表現(xiàn)。這就引出了生產(chǎn)環(huán)境可觀察性(Observability)。
一旦產(chǎn)品上線, 就需要追蹤其性能。
用戶體驗(yàn)好嗎?回答是否準(zhǔn)確、安全?
可以從追蹤用戶行為開(kāi)始,比如收集點(diǎn)擊率或點(diǎn)贊/點(diǎn)踩等反饋。
但要獲得更深入的洞察, 需要追蹤用戶提出的問(wèn)題以及系統(tǒng)如何響應(yīng)。這就需要收集跟蹤記錄所有交互的詳細(xì)日志。
有了這些日志, 就可以通過(guò)在線評(píng)估來(lái)評(píng)價(jià)生產(chǎn)環(huán)境中的質(zhì)量。 可以使用無(wú)參考的評(píng)估方法(如LLM作評(píng)判、專用模型或正則表達(dá)式)自動(dòng)處理每個(gè)新輸出,看它們?cè)谔囟?biāo)準(zhǔn)下得分如何。
還可以通過(guò)A/B測(cè)試來(lái)檢驗(yàn)改動(dòng)效果。例如,將新提示部署給10%的用戶,并比較性能指標(biāo),看它是否提升了質(zhì)量。
5. 回歸測(cè)試
(測(cè)試新的改動(dòng)是否在改進(jìn)系統(tǒng)的同時(shí),沒(méi)有破壞以前正常工作的功能。)
即使產(chǎn)品已經(jīng)上線, 仍然需要離線評(píng)估來(lái)運(yùn)行回歸測(cè)試。它能驗(yàn)證所做的更改沒(méi)有引入新的(或舊的)問(wèn)題。
修復(fù)一個(gè)問(wèn)題后,會(huì)不會(huì)影響其他功能?
微調(diào)一個(gè)提示后,有多少以前的輸出會(huì)改變?這些改變是好是壞?
系統(tǒng)化的回歸測(cè)試可以讓我們更安全地在現(xiàn)有系統(tǒng)之上進(jìn)行迭代,確保在做出改進(jìn)的同時(shí),沒(méi)有引入新的問(wèn)題。
6. 安全護(hù)欄
(在運(yùn)行時(shí)檢查,檢測(cè)LLM輸入或輸出中的質(zhì)量問(wèn)題。)
大模型驅(qū)動(dòng)的產(chǎn)品,在輸入和輸出的過(guò)程中,有時(shí)需要立即發(fā)現(xiàn)危險(xiǎn)的信息并過(guò)濾或阻攔。這些實(shí)時(shí)的驗(yàn)證被稱為安全護(hù)欄(Guardrails),充當(dāng)系統(tǒng)響應(yīng)和用戶之間的安全網(wǎng)。
從內(nèi)部看,這些檢查與無(wú)參考評(píng)估相同,但它們被直接內(nèi)置到應(yīng)用中并實(shí)時(shí)運(yùn)行。例如, 可以檢查:
- 輸入:檢測(cè)有問(wèn)題的查詢,如關(guān)于禁用主題或包含有害語(yǔ)言的問(wèn)題。
- 輸出:檢測(cè)響應(yīng)是否包含個(gè)人身份信息或敏感信息。
當(dāng)檢測(cè)到問(wèn)題時(shí),系統(tǒng)可以阻止響應(yīng)并顯示一條回退消息(如“抱歉,我無(wú)法提供幫助”),或者采取補(bǔ)救措施,比如刪除敏感數(shù)據(jù)。
由于額外的處理會(huì)引入延遲,安全護(hù)欄通常只用于最關(guān)鍵的風(fēng)險(xiǎn),如阻止有害內(nèi)容或識(shí)別敏感信息。
總結(jié)
好消息是:AI還沒(méi)有完全接管一切。即使是基于LLM的產(chǎn)品, 仍然需要人類來(lái)管理質(zhì)量,需要人類設(shè)計(jì)和維護(hù)一個(gè)自動(dòng)化的評(píng)估系統(tǒng)。
壞消息是:LLM評(píng)估并不簡(jiǎn)單。每個(gè)應(yīng)用都需要根據(jù)其具體用途、針對(duì)性的風(fēng)險(xiǎn)和潛在的失敗模式,來(lái)定制一套評(píng)估方法。
從最初的產(chǎn)品構(gòu)思到生產(chǎn)環(huán)境的維護(hù), 在每個(gè)階段都需要評(píng)估。
這些工作流程環(huán)環(huán)相扣:
- 從對(duì)比實(shí)驗(yàn)開(kāi)始,找到最佳方案。
- 在發(fā)布前進(jìn)行壓力測(cè)試和紅隊(duì)測(cè)試,為各種情況做準(zhǔn)備。
- 應(yīng)用上線后,安全護(hù)欄可以幫助預(yù)防重大問(wèn)題。
- 產(chǎn)品投放生產(chǎn)后,通過(guò)生產(chǎn)可觀察性持續(xù)監(jiān)控實(shí)時(shí)數(shù)據(jù)。
- 如果出現(xiàn)問(wèn)題,修復(fù)后運(yùn)行回歸測(cè)試,然后推出更新。
自動(dòng)化評(píng)估和人工評(píng)估相輔相成。雖然人工標(biāo)注能提供最明確的信號(hào),但自動(dòng)化評(píng)估有助于規(guī)?;貜?fù)制和應(yīng)用這些洞察。
所有這些評(píng)估工作不僅僅是為了計(jì)算指標(biāo),更是為了:
- 構(gòu)建更好的AI產(chǎn)品:打造可靠、能為真實(shí)用戶服務(wù)的應(yīng)用。
- 預(yù)防故障:及早發(fā)現(xiàn)問(wèn)題,覆蓋從邊緣情況到生產(chǎn)錯(cuò)誤等各種意外。
- 更快地迭代:沒(méi)有評(píng)估,做任何改動(dòng)都既緩慢又有風(fēng)險(xiǎn)。自動(dòng)化的評(píng)估能運(yùn)行更多實(shí)驗(yàn),更快地發(fā)布更新。
一個(gè)可靠的LLM評(píng)估流程還有一個(gè)額外的好處:它會(huì)自然而然地促使我們收集高質(zhì)量的標(biāo)注數(shù)據(jù)。未來(lái)可以用這些數(shù)據(jù)來(lái)進(jìn)一步優(yōu)化系統(tǒng),比如用更小的模型替代大模型,優(yōu)化生產(chǎn)提示,甚至微調(diào)核心模型。
本文由 @Mrs.Data 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Pexels,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)
- 目前還沒(méi)評(píng)論,等你發(fā)揮!