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





























