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