你的LLM評估方法過時(shí)了嗎?這三個(gè)范式轉(zhuǎn)變不容錯(cuò)過
在我的職業(yè)生涯中,我一直致力于為機(jī)器學(xué)習(xí)系統(tǒng)打造評估體系。在擔(dān)任 Quora 數(shù)據(jù)科學(xué)部門負(fù)責(zé)人時(shí),我們?yōu)樾侣勗磁判?、廣告投放、內(nèi)容審查等構(gòu)建了評估機(jī)制。在 Waymo,我們團(tuán)隊(duì)為自動(dòng)駕駛汽車開發(fā)了評估標(biāo)準(zhǔn)。而在金融科技初創(chuàng)公司 Coverbase,我們利用大語言模型(LLMs)來簡化第三方風(fēng)險(xiǎn)管理的流程。這些經(jīng)歷讓我意識(shí)到,在使用大語言模型時(shí),我們需要在評估思路上做出一些細(xì)微而重要的調(diào)整。
本文的目的不在于為你的 LLM 應(yīng)用提供具體的評估方法,而是提出以下三種評估范式的轉(zhuǎn)變:
- 評估應(yīng)當(dāng)是主體而非點(diǎn)綴。
- 比較差異的基準(zhǔn)測試 。
- 將人工參與作為評估不可或缺的一部分。
需要說明的是,本文的討論重點(diǎn)是 LLMs 的應(yīng)用,而非基礎(chǔ)模型的研究開發(fā)。同時(shí),盡管文章標(biāo)題如此,但我在本文提到的許多觀點(diǎn)同樣適用于其他生成系統(tǒng)(這得益于我在自動(dòng)駕駛領(lǐng)域的經(jīng)驗(yàn)),而不僅僅是 LLMs 的應(yīng)用。
1.評估應(yīng)當(dāng)是主體而非點(diǎn)綴
在機(jī)器學(xué)習(xí)的開發(fā)過程中,評估的重要性不言而喻,這一點(diǎn)對于 LLM 來說尤為突出。我認(rèn)為 LLM 開發(fā)中評估的重要性提升有兩個(gè)原因:
a) 評估的比重增加了,因?yàn)樵跇?gòu)建 LLM 應(yīng)用時(shí),可操作的空間相對有限,導(dǎo)致非評估工作的耗時(shí)減少。在 LLM 應(yīng)用的開發(fā)過程中,我們通常是在 OpenAI 的 GPT 或 Anthropic 的 Claude 等基礎(chǔ)模型之上進(jìn)行構(gòu)建,而在應(yīng)用層面可調(diào)整的參數(shù)較少。這些參數(shù)的調(diào)整速度更快(需要注意的是,雖然調(diào)整速度快,但并不意味著能更快地達(dá)到理想效果)。例如,修改輸入提示詞的效率遠(yuǎn)高于為梯度提升決策樹(Gradient-Boosted Decision Tree)編寫新的人工特征。因此,非評估的工作量減少,評估所占的時(shí)間比例自然就提高了。
Image by author
b) 評估的絕對重要性也有所提升,因?yàn)樯墒?AI 的輸出具有極大的多樣性,這使得評估工作變得更加復(fù)雜。與分類或排序任務(wù)不同,生成式 AI 的任務(wù)(比如撰寫關(guān)于某個(gè)主題的文章、制作某張圖像、為自動(dòng)駕駛汽車規(guī)劃行駛軌跡)可能有無數(shù)種合理的輸出結(jié)果。因此,評估實(shí)際上是一個(gè)將高維空間投射到低維空間的過程。例如,對于 LLM 任務(wù),我們可以評估:“輸出內(nèi)容是否真實(shí)可靠?”,“是否含有有害信息?”,“語言表達(dá)是否簡潔?”,“是否頻繁使用‘當(dāng)然!’等詞匯開頭?”,等等。在二元分類任務(wù)中,精確率和召回率是對結(jié)果的無損度量(直接測量你所觀察到的結(jié)果),而我提到的 LLM 任務(wù)的評估指標(biāo)則是對輸出文本的損失性度量(測量的是你所觀察結(jié)果的簡化版)。準(zhǔn)確地進(jìn)行這種評估要困難得多。
這種評估范式的轉(zhuǎn)變,對于 LLM 應(yīng)用項(xiàng)目團(tuán)隊(duì)的建設(shè),包括團(tuán)隊(duì)規(guī)模和人員招聘,都具有實(shí)際的影響。
2.比較差異的基準(zhǔn)測試
理想狀況是:我們在一個(gè)目標(biāo)指標(biāo)上不斷攀升,并持續(xù)改進(jìn)。
Image by author
但現(xiàn)實(shí)情況如何呢?
在圖表上,你幾乎連兩個(gè)連續(xù)的數(shù)據(jù)點(diǎn)都畫不出來!
以下場景你可能似曾相識(shí):
第一次產(chǎn)品上線后,我們收集到了更多數(shù)據(jù),導(dǎo)致新的指標(biāo)數(shù)據(jù)與之前的不具備直接可比性。而且,我們無法在新數(shù)據(jù)集上重新運(yùn)行舊模型 —— 可能是因?yàn)橄到y(tǒng)其他部分已經(jīng)更新升級,無法回退到舊版本來復(fù)現(xiàn)模型;又或者是評估指標(biāo)依賴于 LLM 作為評判標(biāo)準(zhǔn),而數(shù)據(jù)集龐大,每次評估的成本過高,等等。
第二次產(chǎn)品上線后,我們決定改變輸出結(jié)構(gòu)。例如,之前我們指導(dǎo)模型輸出“是”或“否”的答案;現(xiàn)在我們讓模型輸出“是”、“否”、“可能”或“我不知道”。因此,之前精心準(zhǔn)備的基準(zhǔn)測試數(shù)據(jù)集變得不再適用。
第三次產(chǎn)品上線后,我們決定將單個(gè) LLM 調(diào)用拆分為兩個(gè) LLM 調(diào)用的復(fù)合調(diào)用,并需要評估這些子組件。為此,我們需要為子組件評估準(zhǔn)備新的數(shù)據(jù)集。
……
問題的核心在于,在 LLM 時(shí)代,開發(fā)周期如此之快,以至于很難對同一指標(biāo)進(jìn)行持續(xù)追蹤。
那么,我們應(yīng)該如何應(yīng)對?
關(guān)注性能的變動(dòng)。
換句話說,我們應(yīng)該接受這樣一個(gè)事實(shí):在圖表上,我們通常只能看到兩個(gè)連續(xù)的數(shù)據(jù)點(diǎn)(譯者注:例如,一個(gè)代表當(dāng)前版本的性能,另一個(gè)代表新版本的性能)。關(guān)鍵是要確保每個(gè)模型版本都比前一個(gè)版本有所改進(jìn)(基于你當(dāng)時(shí)所掌握的知識(shí)),盡管我們很難從絕對意義上了解模型的性能水平。
假設(shè)我有一個(gè)基于 LLM 的語言學(xué)習(xí)輔導(dǎo)程序,它能夠首先判斷輸入內(nèi)容是英語還是西班牙語,然后提供語法建議。一個(gè)簡單的評估指標(biāo)就是“英語/西班牙語”標(biāo)簽的準(zhǔn)確率。現(xiàn)在,如果我修改了提示詞,并想要知道新的提示詞是否提升了準(zhǔn)確率。除了手動(dòng)標(biāo)注大量數(shù)據(jù)并計(jì)算準(zhǔn)確率之外,還有一種方法,就是只關(guān)注那些舊提示詞和新提示詞給出不同標(biāo)簽的數(shù)據(jù)點(diǎn)。這樣雖然無法得知兩個(gè)模型的絕對準(zhǔn)確率,但我可以確定哪個(gè)模型的準(zhǔn)確率更高。
Image by author
我想明確一點(diǎn),我并非全盤否定以絕對值為基準(zhǔn)的價(jià)值。我的意思是,我們應(yīng)該意識(shí)到這種做法的成本,而比較差異的基準(zhǔn)測試(雖然它不能完全替代前者),通常是一種更經(jīng)濟(jì)高效的方法來得出大致的方向性結(jié)論。這種范式的轉(zhuǎn)變,其根本原因之一在于,如果你是從零開始構(gòu)建機(jī)器學(xué)習(xí)模型,那么你通常需要精心準(zhǔn)備一個(gè)大規(guī)模的訓(xùn)練集,評估數(shù)據(jù)集往往就是這一過程的自然產(chǎn)物。但這一點(diǎn)在利用預(yù)訓(xùn)練模型進(jìn)行零樣本或小樣本學(xué)習(xí)時(shí)并不適用(例如大語言模型)。
再舉一個(gè)例子,假設(shè)我有一個(gè)基于 LLM 的評估指標(biāo):我們用一個(gè)獨(dú)立的 LLM 來判斷 LLM 語言導(dǎo)師所提供的解釋是否足夠清晰。有人可能會(huì)問:“既然評估已經(jīng)自動(dòng)化,比較差異的基準(zhǔn)測試是否仍然比基于絕對值的基準(zhǔn)測試更節(jié)省成本?”答案是肯定的。因?yàn)楝F(xiàn)在的評估指標(biāo)更為復(fù)雜,我們可以不斷優(yōu)化這些指標(biāo)本身(比如對 LLM 的提示詞進(jìn)行工程優(yōu)化)。一方面,我們?nèi)匀恍枰獙υu估結(jié)果本身進(jìn)行評估,比較差異的基準(zhǔn)測試能夠告訴我們新的指標(biāo)版本是否有所改進(jìn)。另一方面,隨著基于 LLM 的評估指標(biāo)不斷演進(jìn),如果我們只關(guān)注比較 LLM 語言導(dǎo)師模型的相鄰版本,那么就無需費(fèi)心用新版本的評估指標(biāo)來補(bǔ)充所有舊版本模型的基準(zhǔn)測試結(jié)果。
比較差異的基準(zhǔn)測試可以作為一種高效的內(nèi)循環(huán)快速迭代機(jī)制,而將成本較高的基于絕對值的基準(zhǔn)測試或長期跟蹤方法留到外循環(huán)的低頻次迭代中使用。
3.將人工參與作為評估不可或缺的一部分
如上文所述,想要一勞永逸地篩選出一個(gè)完美無缺的黃金數(shù)據(jù)集,用以長期作為基準(zhǔn)的想法可能并不現(xiàn)實(shí)。篩選工作將是一個(gè)持續(xù)且必要的開發(fā)環(huán)節(jié),無論是直接對 LLM 的輸出進(jìn)行篩選,還是對充當(dāng)評委的 LLM 或其他更復(fù)雜指標(biāo)進(jìn)行篩選。我們應(yīng)該致力于讓評估工具盡可能具備可擴(kuò)展性;關(guān)鍵在于,即便如此,我們也不應(yīng)幻想能夠完全擺脫人工篩選。我們越快接受這一點(diǎn),就能越早開始對工具進(jìn)行正確的投資。
因此,無論我們選用何種評估工具,無論是自研還是外部采購,都應(yīng)確保有一個(gè)簡便易用的人工篩選界面?;镜慕缑婵赡苋缦滤荆航Y(jié)合之前提到的比較差異的基準(zhǔn)測試,它提供了一個(gè)并排比較的面板,用戶可以輕松瀏覽結(jié)果。同時(shí),該界面還應(yīng)支持用戶輕松記錄篩選筆記,以便這些筆記未來可以作為黃金標(biāo)簽(golden labels)用于基準(zhǔn)測試(從而減輕未來的篩選工作負(fù)擔(dān))。
更高級的版本應(yīng)當(dāng)是盲測模式,篩選者不知道哪一邊是哪個(gè)版本。我們的數(shù)據(jù)多次證實(shí),如果不進(jìn)行盲測,即便是開發(fā)人員出于好意,也可能會(huì)有下意識(shí)地傾向于自己開發(fā)的版本。
這三個(gè)范式的轉(zhuǎn)變,一旦被識(shí)別,適應(yīng)起來其實(shí)并不復(fù)雜。真正的挑戰(zhàn)在于,如何在興奮和快速的開發(fā)節(jié)奏中提前發(fā)現(xiàn)這些轉(zhuǎn)變。我希望分享這些思考能夠幫助那些在工作中面臨類似挑戰(zhàn)的人們。