每天都看模型評(píng)分,但你真的了解嗎?OpenAI研究員最新博客,一文讀懂LLM評(píng)估
上周六,OpenAI研究院Jason Wei在個(gè)人網(wǎng)站上發(fā)表了一篇博客,討論了他眼中「成功的語(yǔ)言模型評(píng)估」應(yīng)該具備哪些因素,并總結(jié)出了阻礙好的評(píng)估在NLP社區(qū)獲得關(guān)注的「七宗罪」。
Jason Wei在最近的斯坦福NLP研討會(huì)上展示了這篇文章,OpenAI的同事、GPT-4o團(tuán)隊(duì)成員之一William Fedus也轉(zhuǎn)發(fā)了這篇推文。
如果評(píng)估不夠好,進(jìn)展就會(huì)受阻。當(dāng)我們的評(píng)估改進(jìn)后,一些想法才被發(fā)現(xiàn)是好的。當(dāng)沒有可以攀登的單一指標(biāo)時(shí),良好的評(píng)估在訓(xùn)練后尤其重要。
Jason Wei從2023年2月開始加入OpenAI,此前他在Google Brain擔(dān)任研究科學(xué)家。
今年3月他曾在推特上分享OpenAI的「996」作息(為了AGI,全員主動(dòng)996!OpenAI匿名員工自曝3年工作感受)
也在今年5月GPT-4o發(fā)布后主動(dòng)現(xiàn)身說法,比較了大公司谷歌和初創(chuàng)公司OpanAI在人事策略上的不同思路,為我們解開了OpenAI成功之謎的一角。
那么就讓我們看看,這篇博客具體談了哪些內(nèi)容。
評(píng)估對(duì)于LLM有多重要
目前,每個(gè)開發(fā)LLM的人都在使用基準(zhǔn)評(píng)估,但是這個(gè)領(lǐng)域應(yīng)該得到更多的關(guān)注和投入,因?yàn)檫@是對(duì)學(xué)界工作的直接激勵(lì),與模型的重大性能突破密切相關(guān)。
由于LLM大規(guī)模、多任務(wù)的特性,而且模型通常會(huì)給出很長(zhǎng)的回答,因此評(píng)估工作變得更加困難。目前還沒有一個(gè)評(píng)估集可以充分測(cè)評(píng)LLM的能力。
當(dāng)前流行的評(píng)估仍然使用非常簡(jiǎn)單的評(píng)分機(jī)制(單選/多選、核對(duì)數(shù)字或運(yùn)行單元測(cè)試)。即使這些簡(jiǎn)單的機(jī)制也存在問題,比如使用了不同的prompt或解析答案的方式。
一個(gè)比較好的方案是讓LLM采用同一種prompt,比如零樣本思維鏈。
這可能并不是一個(gè)完美的解決方案,但為了「控制變量」,更公平地衡量所有LLM的能力,付出一些代價(jià)也是值得的。
零樣本思維鏈prompt:https://arxiv.org/abs/2205.11916
什么是成功的評(píng)估
首先,如果一個(gè)評(píng)估測(cè)試被用在突破性論文中,而且受到整個(gè)領(lǐng)域的信任,那么它顯然是成功的。
按照這個(gè)標(biāo)準(zhǔn),過去5年中有一些成功的評(píng)估被廣泛采用:
- GLUE/SuperGLUE(General Language Understanding Evaluation):基本被前LLM時(shí)代的所有NLP論文所使用,包括BERT、T5等。
論文地址:https://gluebenchmark.com/
- MMLU(Measuring Massive Multitask Language Understanding):幾乎所有LLM論文都使用MMLU,也是DeepMind和Google最喜歡的評(píng)估。
這項(xiàng)測(cè)試涵蓋了基礎(chǔ)數(shù)學(xué)、美國(guó)歷史、計(jì)算機(jī)科學(xué)、法律等領(lǐng)域的57項(xiàng)任務(wù),模型想要在這項(xiàng)測(cè)試中獲得高評(píng)分,則必須具備廣泛的世界知識(shí)和解決問題的能力。
論文地址:https://arxiv.org/abs/2009.03300
- GSM8K(Grade Scholl Math 8K):包括多種語(yǔ)言的小學(xué)數(shù)學(xué)應(yīng)用題,可以刺激LLM進(jìn)行多步推理,每一篇關(guān)于思想鏈(CoT)的論文中都會(huì)使用。
https://klu.ai/glossary/GSM8K-eval
- MATH:包含超過1.2萬個(gè)競(jìng)賽難度的數(shù)學(xué)題目,也被大多數(shù)LLM論文使用。
論文地址:https://arxiv.org/pdf/2103.03874
- HumanEval:由OpenAI建立的手寫評(píng)估測(cè)試,用于衡量從文檔字符串生成程序的功能正確性
項(xiàng)目地址:https://github.com/openai/human-eval?tab=readme-ov-file
當(dāng)然,這里列出的是一個(gè)不完全列表,還有很多其他非常優(yōu)秀的評(píng)估測(cè)試,包括HellaSwag、SQuAD以及Jason Wei本人參與開發(fā)的MGSM、BBH等。
一篇突破性的論文提出一個(gè)全新的評(píng)估,并宣稱在上面取得了性能突破,再將其推廣開來,這是一種常見的范式。
比如GLUE由BERT推廣,MMLU 由DeepMind推出的Gopher、Chinchilla和Flan-PaLM推廣,首先提出CoT prompting的論文宣稱在GSM8K上取得性能突破,Minerva在MATH上體現(xiàn)了數(shù)學(xué)能力,OpenAI的Codex首先嘗試HumanEval。
這些評(píng)估為什么可以在LLM領(lǐng)域流行起來?
Jason認(rèn)為,一個(gè)評(píng)估集上的高分必須能體現(xiàn)出一些有重要意義而且易于理解的事情。
比如「超越人類表現(xiàn)」是容易理解的,「解決小學(xué)水平的數(shù)學(xué)題」對(duì)于模型能力的意義,也不難明白。
此外,評(píng)估的主題也直接影響著研究者們的關(guān)注程度。
在為某個(gè)特定領(lǐng)域(如法律、醫(yī)療等)創(chuàng)建高質(zhì)量評(píng)估集時(shí),最重要的是基于領(lǐng)域?qū)<业囊庖姾蛢r(jià)值判斷,而且不要對(duì)流行程度期待過高。
Jason曾做過一個(gè)組織病理學(xué)的圖像基準(zhǔn)測(cè)試,不出所料,除了醫(yī)學(xué)圖像分析領(lǐng)域,這項(xiàng)研究幾乎沒有引起任何關(guān)注,文章只有40次引用。
但也有例外,比如OpenAI曾經(jīng)投入大量資金開發(fā)LLM的代碼能力,在Codex和CoPilot等項(xiàng)目獲得關(guān)注后,人們也開始意識(shí)到這個(gè)小眾領(lǐng)域的重要性,HumanEval也因此流行起來。
另一個(gè)現(xiàn)實(shí)層面的因素是,如果希望自己開發(fā)的評(píng)估基準(zhǔn)獲得更多關(guān)注,你應(yīng)該積極地幫助或激勵(lì)別人使用它。
Jason Wei說,他開發(fā)一個(gè)評(píng)估集之后,會(huì)主動(dòng)提出幫別人在上面運(yùn)行模型。如果模型表現(xiàn)良好,開發(fā)人員就會(huì)喜歡這個(gè)評(píng)估,并主動(dòng)幫你推廣。
此外,也可以試著讓公司或?qū)嶒?yàn)室內(nèi)部的經(jīng)理認(rèn)可你的評(píng)估,這樣他們就會(huì)要求研發(fā)人員撰寫報(bào)告,闡述模型在這個(gè)評(píng)估上表現(xiàn)如何。
評(píng)估的「七宗罪」
好的評(píng)估是相似的,糟糕的評(píng)估各有各的缺陷。大多數(shù)不成功的評(píng)估都至少犯過以下錯(cuò)誤中的一個(gè):
1. 沒有足夠的示例
這相當(dāng)于一個(gè)嘈雜的且糟糕的用戶界面。例如,在訓(xùn)練過程中運(yùn)行評(píng)估時(shí),各個(gè)checkpoint之間分?jǐn)?shù)波動(dòng)很大,研究人員就不會(huì)喜歡使用這種評(píng)估。
最好有至少1000個(gè)示例,對(duì)于單選/多選題目組成的評(píng)估集,示例數(shù)應(yīng)該更多。GPQA就是這方面的反例,盡管是一個(gè)很好的評(píng)估,但它隨著輸入的prompt不同會(huì)發(fā)生波動(dòng),因而很難使用。
2. 質(zhì)量不夠高
如果評(píng)估中有很多錯(cuò)誤,就得不到大家的信任。
例如,Jason曾經(jīng)長(zhǎng)期使用NQ數(shù)據(jù)集(Natural Questions)進(jìn)行評(píng)估,但GPT-4的能力強(qiáng)大到跨過了一個(gè)閾值——即如果模型給出的答案被判定為錯(cuò),更可能的情況是評(píng)估提供的真實(shí)答案錯(cuò)了,因此他不再使用NQ。
3. 指標(biāo)過于復(fù)雜
過于復(fù)雜的評(píng)估會(huì)讓人難以理解,因而很少使用,這方面的反例是HELM評(píng)估集。
HELM的第一版是一項(xiàng)巨大的努力,但它有太多的指標(biāo)和子集。擁有單一數(shù)字指標(biāo)至關(guān)重要——我想不出任何優(yōu)秀的評(píng)估是沒有單一數(shù)字指標(biāo)的。
4. 運(yùn)行太麻煩
如果運(yùn)行起來太麻煩,即使其他方面都很好,也不會(huì)吸引很多人使用,比如BIG-Bench。
BIG-Bench運(yùn)行起來非常痛苦,包括對(duì)數(shù)概率評(píng)估和生成評(píng)估,子集太多、示例太多,而且需要不同的基礎(chǔ)設(shè)施,所以運(yùn)行花了很長(zhǎng)時(shí)間。這也許就是BIG-Bench沒有獲得太多關(guān)注的原因,盡管它提供了很多信號(hào)。
5. 沒有針對(duì)一項(xiàng)有意義的任務(wù)
如果評(píng)估不是針對(duì)一項(xiàng)有意義的任務(wù),AI研究人員就不會(huì)非常關(guān)心它。
例如,BIG-Bench Hard有諸如推薦電影或正確結(jié)束括號(hào)之類的任務(wù)。這些任務(wù)具有挑戰(zhàn)性,并且隨著模型大小的改變,體現(xiàn)出良好的的變化趨勢(shì)。
但是,在這些任務(wù)上做得好并不能對(duì)模型的智能程度做出實(shí)質(zhì)性結(jié)論。成功的評(píng)估通常會(huì)衡量對(duì)模型智能至關(guān)重要的方面,例如語(yǔ)言理解、考試問題或數(shù)學(xué)等。
6. 評(píng)分不正確
如果有人因?yàn)槟P驮u(píng)分不正確需要調(diào)試代碼,并且他們不同意評(píng)分,那么他們可以立即舍棄這個(gè)評(píng)估。所以,盡量減少解析模型引起的錯(cuò)誤,或者盡可能給出最好的自動(dòng)評(píng)分的prompt。
7. 性能飽和過快
大模型的性能飛速發(fā)展,為了使評(píng)估集能經(jīng)得起時(shí)間考驗(yàn),因此不能使模型性能飽和過快。
例如,GLUE/SuperGLUE的分?jǐn)?shù)飽和得太快,改進(jìn)模型很難帶來巨大的收益,大家就會(huì)停止使用這種評(píng)估測(cè)試。LM在摘要、翻譯等任務(wù)上的性能也進(jìn)步很快,開發(fā)評(píng)估集的速度很難追上,因此幾乎沒有人使用這類任務(wù)了。
除了傳統(tǒng)的評(píng)估數(shù)據(jù)集,還有一種范式正在興起——以LMSYS為代表的人類成對(duì)評(píng)估(human pairwise rating),這種機(jī)制有很強(qiáng)的普適性,可以用于所有類型的模型。
但這也是一把雙刃劍。優(yōu)勢(shì)在于,得到的單一的數(shù)字指標(biāo)可以衡量LLM在一組通用prompt上的表現(xiàn),非常簡(jiǎn)單直觀,而且樣本級(jí)別的噪聲可以在大量樣本上得到平均。
另一方面,我們不清楚人類評(píng)估者具體在為模型的哪一方面打分——與答案的正確性相比,感覺和風(fēng)格在評(píng)分中有多少占比?
此外,還需要關(guān)注到的一個(gè)問題是評(píng)估集的數(shù)據(jù)污染。一個(gè)良好的評(píng)估發(fā)布之后,其中的示例往往會(huì)在互聯(lián)網(wǎng)上流傳開來,傳播到arxiv論文、ChatGPT示例或Reddit帖子中。
解決方法之一是建立隱藏測(cè)試集,但這會(huì)帶來很多分歧和沖突。Christopher Manning曾提出一個(gè)很好的建議——
為評(píng)估同時(shí)建立公開測(cè)試集和私有測(cè)試集,并監(jiān)控哪些模型在兩個(gè)測(cè)試集上的分?jǐn)?shù)有較大差異。這種方法可以平衡公開測(cè)試集的高認(rèn)可度和私有測(cè)試集的高可信度。
雖然LLM的評(píng)估工作如此重要,但一個(gè)現(xiàn)實(shí)的困境是,投身于評(píng)估測(cè)試的工作可能比較痛苦,而且通常不會(huì)和模型開發(fā)的工作得到同等的回報(bào)。
但是無論如何,良好的評(píng)估發(fā)揮著「目標(biāo)函數(shù)」的作用,會(huì)對(duì)整個(gè)領(lǐng)域產(chǎn)生有力影響,也值得我們投入持續(xù)的關(guān)注和努力。