隨著時間流逝,NLP在遇到諸多挑戰(zhàn)的同時,也被寄予更大期望。人們在使用它的過程中收獲很多,也在一直不斷的改進完善它。在過去幾年的改進下,NLP 模型的能力越來越強大。性能大幅提升導(dǎo)致之前的基準測試已經(jīng)無法滿足當(dāng)下的需求。如AI Index Report 2021所言,最近的模型在SuperGLUE和SQuAD等測試的基準上面達到了超越人類的表現(xiàn)。這是否說明,我們已經(jīng)掌握了處理自然語言的方法呢?答案是沒有。現(xiàn)在的模型具備強大的語言理解能力,我們很難再用準確率、BLEU 這種單一指標(biāo)和靜態(tài)基準、抽象任務(wù)公式的傳統(tǒng)做法評估 NLP 模型。所以,我們需要設(shè)計新的基準來評估模型,并且讓它在今后發(fā)揮作用。這篇文章的主要內(nèi)容是:NLP 基準測試所面臨的挑戰(zhàn)、機遇和一些改進的建議。我們希望這篇文章可以讓讀者了解這方面科研的最新進展,也要讓初學(xué)者全面了解NLP。文中還涉及到最近的論文、ACL 2021 演講以及ACL 2021 基準測試研討會的觀點,其中許多觀點涉及到了過去、現(xiàn)在和未來。
標(biāo)題圖片:隨著時間推移SQuAD 2.0的性能趨勢變化
“數(shù)據(jù)集是我們領(lǐng)域的望遠鏡。”—阿拉文德·喬希基準起初被定義為測量員在水泥結(jié)構(gòu)中幫助水平尺測量數(shù)據(jù)的水平標(biāo)記。后來基準的定義漸漸變成對比事物的標(biāo)準參考點。形象地說,基準是一個可以相互比較的標(biāo)準參考點?;鶞试贛L或NLP中通常由以下幾個部分組成:一個或多個數(shù)據(jù)集、一個或多個相關(guān)指標(biāo)以及聚合性能的方法。我們?yōu)榛鶞试O(shè)置了一個評估社區(qū)商定系統(tǒng)的標(biāo)準,確?;鶞时簧鐓^(qū)接受。具體操作是要么給基準選擇一組有代表性的標(biāo)準任務(wù),如GLUE或XTREME;要么積極征求社區(qū)的任務(wù)提案,比如SuperGLUE、GEM或BIG-Bench等等。對于該領(lǐng)域的人來說,基準是跟進事件發(fā)展的重要工具,阿拉溫德·喬希說:沒有基準評估我們的模型,我們就像“不造望遠鏡的天文學(xué)家想看星星”。對于領(lǐng)域外的人來說,基準為他們提供了客觀的視角,幫助他們認識了有用的模型,還為他們提供了跟蹤一個領(lǐng)域進展的服務(wù)。例如,《2021年人工智能指數(shù)報告》使用SuperGLUE和SQuAD作為自然語言處理總體進展的代理。有些基準在使用的過程中達到了和人類近似的表現(xiàn),它們被記入這一領(lǐng)域發(fā)展的歷史中。例如 AlphaFold 2在CASP 14競賽中達到與實驗方法競爭的性能就標(biāo)志著結(jié)構(gòu)生物學(xué)領(lǐng)域的重大科學(xué)進步。"創(chuàng)建好的基準比大多數(shù)人想象的要難。"-約翰·馬西;系統(tǒng)基準(2020)前言基準很久之前就被用來測量計算機性能了。1988年成立的基準性能評估公司(SPEC)是最老的計算機硬件性能基準測試的組織之一。每年SPEC都會發(fā)布不同的基準集,每個基準集由多個程序組成,性能以每秒數(shù)百萬指令的幾何平均值來衡量。值得一提的是,SPEC 得到了該領(lǐng)域很多重要公司的支持。最近一個名為MLCommons的公司組織了一場MLPerf系列績效的基準測試。測試重點是模型訓(xùn)練和推理。與SPEC相似,MLPerf得到了學(xué)術(shù)界和工業(yè)界的廣泛支持,這項基準測試建立在以前衡量績效的個人努力的基礎(chǔ)上,如百度的DeepBench或斯坦福的DAWNBench。對于DARPA和NIST等美國機構(gòu)來說,基準在衡量和跟蹤科學(xué)前沿方面發(fā)揮了至關(guān)重要的作用。早在1986年DARPA 就資助了,TIMIT和Switchboard等自動語音識別的基準,并由NIST協(xié)調(diào)。后來在MNIST等ML其他領(lǐng)域有影響力的基準也是依賴 NIST上的數(shù)據(jù)開始改進。在語言技術(shù)和信息檢索(IR)方面,NIST舉辦了DARPA資助TREC的系列研討會,會議內(nèi)容涵蓋面很廣,如下圖所示。TREC曾經(jīng)組織了20世紀60年代克蘭菲爾德開創(chuàng)的評估范式競賽,在該范式中,模型基于一組測試集合進行評估。由于不同主題的表現(xiàn)差異很大,許多主題的得分都是平均的。所以TREC的標(biāo)準廣泛可用。TREC精心構(gòu)建的數(shù)據(jù)集也在IR奠定了進一步創(chuàng)新的基礎(chǔ)。
1992-2020年TREC研討會的任務(wù)和主題(信貸:艾倫·沃里斯)近期基準的規(guī)模都很大,比如ImageNet、SQuAD或SNLI等。它們是由資金雄厚的大學(xué)學(xué)術(shù)團體開發(fā)的。在深度學(xué)習(xí)時代,大規(guī)模數(shù)據(jù)集被認為是推動科技進步的支柱之一,自然語言處理或生物學(xué)等領(lǐng)域見證了它們的“ImageNet時刻”。隨著時間的變化,越來越多的基準開始面向應(yīng)用,它們從單任務(wù)轉(zhuǎn)向多任務(wù),從單域轉(zhuǎn)向多域基準。例如,從關(guān)注核心語言任務(wù)(如詞性標(biāo)注和依賴解析)向更接近現(xiàn)實世界的任務(wù)(如面向目標(biāo)的對話和開放域問題回答)轉(zhuǎn)變(Kwiatkowski et al.,2019);多任務(wù)數(shù)據(jù)集(如GLUE)的出現(xiàn)以及多模態(tài)數(shù)據(jù)集(如WILDS)的出現(xiàn)。如下圖所示, MNIST和 Switchboard等經(jīng)典基準,實現(xiàn)超人性能花了15年。而GLUE和SQuAD 2.0等基準在模型發(fā)布一年后就能實現(xiàn)超人性能,但是我們也知道這只是基準的測試能力,它們的實際處理能力連一般問答都沒辦法解決。
隨著時間的推移,流行基準的基準飽和度。初始性能和人類性能分別正?;癁?1和0(Kiela et al.,2021)。導(dǎo)致基準容易飽和的另一個原因是,相比于早期,近期的數(shù)據(jù)集中的人工注釋痕會被模型快速學(xué)習(xí)并用于捷徑識別。我們在SNLI中得出,人工注釋依賴于啟發(fā)式,這樣模型就可以在不同情況下基于假設(shè)自動預(yù)測出正確的結(jié)果,同時在 SQuAD上訓(xùn)練的模型會受到對抗性插入語句的影響。如今,行業(yè)的發(fā)展趨勢是對抗性數(shù)據(jù)集的崛起。這些數(shù)據(jù)集如對抗性NLI(Nie et al.,2020)、Beat the AI(Bartolo et al.,2020)等等。Dynabench 就是一個最近被設(shè)計出來促進這類數(shù)據(jù)集發(fā)展的開源平臺。這類基準的好處是,隨著新模型的出現(xiàn),可以不斷自我更新,從而使基準不會太快飽和。“當(dāng)你能衡量你在說什么并用數(shù)字表達時,你就知道你在討論什么。但是當(dāng)你不能衡量它并用數(shù)字表達時,你的知識是非常貧乏和令人不滿的。”-開爾文勛爵指標(biāo)在衡量模型效果中很重要,但是它沒有受到應(yīng)有的重視。對于分類任務(wù),準確率和F-1分數(shù)等一般都是默認使用的指標(biāo),但實際上對于不同的任務(wù),不同類型的錯誤會產(chǎn)生不同的成本。比如對細粒度的情緒進行分析,搞不清積極和很積極可能沒有問題,但是搞不清非常積極和非常消極問題就大了。Chris Potts還列舉了很多這種例子,其中包括指標(biāo)不足造成更大錯誤的情況。想要設(shè)計好一個指標(biāo),就需要專業(yè)的領(lǐng)域知識。比如ASR(語音識別),最初只使用正確轉(zhuǎn)錄單詞的百分比(類似于準確率)作為指標(biāo)。后來社區(qū)使用了詞錯率( word error rate),因為它可以反映出糾錯成本。Mark Liberman曾表示:“研究設(shè)計可用幾十年的指標(biāo),與為實際應(yīng)用短期發(fā)展設(shè)計的指標(biāo)之間,存在很大的差異。若要開發(fā)能用十年的技術(shù),我們就需要更高效的指標(biāo),哪怕細節(jié)上錯點都行,但是大方向不能錯。”Mark Liberman想要的指標(biāo)是像ASR中的詞錯率(假設(shè)所有單詞都同等重要)和機器翻譯中的BLEU(假設(shè)詞序不重要)一類的指標(biāo)。但是對于實際技術(shù)的評估,我們需要根據(jù)特定的應(yīng)用要求設(shè)計度量標(biāo)準,并研究不同類型的錯誤。近年來,隨著模型性能的迅速提高,我們從十年的長期應(yīng)用機制轉(zhuǎn)向許多短期的應(yīng)用機制。有意思的是,在這樣的環(huán)境下,我們?nèi)匀辉诖蠓秶褂煤饬块L期研究進展的指標(biāo)。Marie等人(2021)在最近的一項報告分析中發(fā)現(xiàn),2019-2020年間82%的機器翻譯(MT)論文僅使用BLEU進行評估,雖然在過去十年中人們?yōu)镸T評估提出了108個替代指標(biāo),其中許多指標(biāo)與人類判斷相差不大。但是隨著模型的變大,BLEU很難再成為表現(xiàn)最佳的模型了。雖然自然語言生成 (NLG) 模型的評估是出了名的困難,但標(biāo)準的基于 n-gram 重疊的指標(biāo)(例如 ROUGE 或 BLEU)不太適合具有豐富詞法的語言,使得這些語言將被分配相對較低的分數(shù)。NLG最近的發(fā)展趨勢是開發(fā)自動度量,比如 BERTScore會利用大型預(yù)訓(xùn)練模型(Zhang et al.,2020)。這種方法使其更適合短期MT評估,具體操作是將更大的權(quán)重分配給更困難的token,即少數(shù)MT系統(tǒng)才能正確翻譯的token。因此,我們需要不斷更新完善度量標(biāo)準,用特定應(yīng)用的度量標(biāo)準替代簡單的度量標(biāo)準,例如,最近的GEM基準將度量指標(biāo)作為一個組件,其需要隨著時間的推移而不斷改進,如下圖所示。
Opportunities (circle) and challenges of benchmark evaluation (Gehrmann et al., 2021).考慮更適合下游任務(wù)和語言的度量。
考慮強調(diào)下游設(shè)置權(quán)衡的指標(biāo)。
“[...]基準塑造了一個領(lǐng)域,無論是好是壞。好的基準與實際應(yīng)用一致,但壞的基準卻不一致,迫使工程師在幫助最終用戶的改變和只幫助營銷的改變之間做出選擇?!?/span>-大衛(wèi)·帕特森;系統(tǒng)基準(2020)前言NLP技術(shù)在現(xiàn)實世界里的應(yīng)用越來越廣泛,從創(chuàng)造性的個性化語言表達到欺詐檢測都可以看到NLP的身影。我覺得我們該要重視它在現(xiàn)實世界里的應(yīng)用機制了。所以基準測試的數(shù)據(jù)和評估協(xié)議應(yīng)該反映現(xiàn)實世界的用例。例如,F(xiàn)ewRel數(shù)據(jù)集面對關(guān)系分類缺乏現(xiàn)實屬性,這些屬性在 TACRED地址中很少見。IMDb數(shù)據(jù)集在二元情緒分類的時候,只考慮高度兩極分化的正面和負面評論,標(biāo)簽是不變的。這種基準測試在簡單的信息檢索中是可行的,但在現(xiàn)實世界中就不太合理了。NLP社會責(zé)任的第一條規(guī)則是“完全按照你說的去做”。這句話是由 Chris Potts提出的。作為該領(lǐng)域的研究人員,我們應(yīng)該得出基準上的績效反映了什么,以及這與現(xiàn)實世界的環(huán)境是如何對應(yīng)的。同時, Bowman 和 Dahl 認為基準上的良好績效應(yīng)該意味著任務(wù)領(lǐng)域內(nèi)的穩(wěn)健績效。因為任務(wù)的實際應(yīng)用可能會產(chǎn)生與訓(xùn)練分布不同的數(shù)據(jù)。所以評估模型的穩(wěn)健性以及評估模型對此類分布數(shù)據(jù)的泛化程度值得被關(guān)注。同理,具有時間偏移的數(shù)據(jù)和來自其他語言變體的數(shù)據(jù)也需要受到關(guān)注。另外,由于 NLP研究中的語言種類很簡單,而且要避免使用英語作為研究的單一語言。所以在設(shè)計基準時,我們要涉及到其他語言的測試數(shù)據(jù),這樣可以減少研究的片面性,為多語言交匯提供可能。同時,也能在問答和總結(jié)等任務(wù)中利用其他語言數(shù)據(jù)集為模型的多功能性能提供證據(jù)。我們知道,在接下來的道路上,語言技術(shù)會給我們帶來很多困難,但也會為我們的評估和基準提供新的靈感。基準是我們領(lǐng)域最自豪的成果,它通常會指引我們一個新的研究方向,同時基準在反映我們現(xiàn)實世界的技術(shù)和野心時至關(guān)重要。設(shè)計基準及其評估,使其反映真實世界的用例。
評估域內(nèi)和域外泛化。
收集數(shù)據(jù)并評估其他語言的模型。
- 從語言技術(shù)的現(xiàn)實應(yīng)用中獲得靈感。
“不管人們多么希望績效是一個單一的數(shù)字,但即使是沒有分布的正確均值也會誤導(dǎo)人,而錯誤的均值肯定也好不到哪里去。”-約翰·馬西技術(shù)的下游用例可以為我們的評估提供指標(biāo)。尤其是,下游應(yīng)用程序需要考慮的不是單一指標(biāo),而是一系列約束。Rada Mihalcea希望我們不要只關(guān)注準確率,還應(yīng)該關(guān)注實際應(yīng)用的其他方面,比如特定環(huán)境中什么最重要。簡單的說,NLP的功能取決于用戶的需求。機器學(xué)習(xí)研究一般不會過分強調(diào)社會需求。但是在實際應(yīng)用中,模型不能表現(xiàn)出不利于社會的行為。所以在特定任務(wù)的測試中這種表現(xiàn)會成為評估模型的一部分標(biāo)準。實際應(yīng)用最注重的是效率。效率的高低與樣本效率、FLOPS和內(nèi)存約束有關(guān)。就是說,如果內(nèi)存不夠或是其他資源有限,評估模型就只能轉(zhuǎn)向其他研究方向。比如,NeurIPS 2020的高效質(zhì)量保證競賽(min等人,2020)展示了檢索增強和大量弱監(jiān)督問答對集合的好處(Lewis等人,2021)。為了更了解模型的優(yōu)缺點,我們會對單一指標(biāo)進行細粒度評估,標(biāo)注模型擅長和失敗的示例類型。ExplainaBoard(Liu et al.,2021)在不同任務(wù)中實現(xiàn)了模型性能的細粒度細分,如下所示。獲得模型性能更細粒度估計的另一種方法是為特定現(xiàn)象和模型行為創(chuàng)建測試用例,例如使用CheckList框架(Ribeiro et al.,2020)。
用于三個最佳系統(tǒng)的CoNLL-2003 NER數(shù)據(jù)集的ExplainaBoard接口,包括最佳系統(tǒng)的單系統(tǒng)分析(A)、前2個系統(tǒng)的成對分析結(jié)果(B)、公共誤差表(C)和組合結(jié)果(D)(Liu et al.,2021)。As individual metrics can be flawed, it is key to evaluate across multiple metrics. When evaluating on multiple metrics, scores are typically averaged to obtain a single score. A single score is useful to compare models at a glance and provides people outside the community a clear way to assess model performance. However, using the arithmetic mean is not appropriate for all purposes. SPEC used the geometric mean, nx1x2…xnn, which is useful when aggregating values that are exponential in nature, such as runtimes.一般用單個指標(biāo)可能會出現(xiàn)缺陷,需要跨多個指標(biāo)評估,通常我們會將分數(shù)平均,以獲得單個分數(shù)。單個分數(shù)有助于快速發(fā)現(xiàn)模型的區(qū)別,并為其他領(lǐng)域的人提供評估模型性能的方法。不過這種算數(shù)平均方法不適合所有模型。SPEC使用幾何平均值,在聚合指數(shù)性質(zhì)的值另一個減少缺陷的方法是使用加權(quán)總和,讓用戶能夠自己定義每個組件的權(quán)重。DynaBench使用這種方法來衡量模型的性能,同時也用這種方法評估模型吞吐量、內(nèi)存消耗、公平性和穩(wěn)健性。在下圖中,用戶可以定義自己的排行榜(Ethayarajh 和 Jurafsky,2020 年)。
DyaBench自然語言推理任務(wù)排行榜中的動態(tài)度量加權(quán)不再使用單一指標(biāo)進行性能評估。
評估社會偏見和效率。
對模型執(zhí)行細粒度評估。
因為當(dāng)前模型在分布內(nèi)示例上的表現(xiàn)很好,所以我們開始關(guān)注分布的尾部、異常值和非典型示例上。現(xiàn)在我們不但關(guān)注平均情況,也開始關(guān)注模型表現(xiàn)最差的數(shù)據(jù)子集。As models become more powerful, the fraction of examples where the performance of models differs and that thus will be able to differentiate between strong and the best models will grow smaller. To ensure that evaluation on this long tail of examples is reliable, benchmarks need to be large enough so that small differences in performance can be detected. It is important to note that larger models are not uniformly better across all examples (Zhong et al., 2021).隨著時間的推進,模型越變越強,模型性能也發(fā)生了變化。所以強模型和最佳模型的示例的比例將會變小。為了確保這個長尾示例評估的可靠性,基準測試需要足夠龐大才能檢測到性能的微小差異。值得一提的是,規(guī)模較大的模型不一定有較大的優(yōu)勢。除了擴大模型規(guī)模,我們還可以開發(fā)機制,僅用很少的例子就能辨別出最佳的系統(tǒng)。這種方法在昂貴的測試環(huán)境下有很大優(yōu)勢。比如,在自然語言生成的人類評估中 Mendon?a et al.(2021)將此框定為MT背景下的在線學(xué)習(xí)問題。最近對抗基準采取的方向是解釋更難的例子,這種基準如果不偏向特定模型就可以補充常規(guī)基準。這些對抗基準采取的方向在評估方法的幫助下,可以識別或者生成尖銳的例子來評估模型性能,也能幫助注釋者更好地理解模型的決策邊界。由于基準的預(yù)算(以及規(guī)模)通常保持不變,統(tǒng)計顯著性測試會很重要,因為它使我們可靠地檢測系統(tǒng)之間的性能差異。基準的注釋在正確的情況下才能進行比較。但是有些看起來錯誤的例子其實不是注釋的錯誤,而是注釋產(chǎn)生的歧義。也是不久前Bowman and Dahl (2021)強調(diào)了模型如何利用這種歧義的線索在基準上達到超人的性能。如果可以,基準能收集多個注釋來識別例子。這些注釋會幫助基準分析錯誤。同時也會增加標(biāo)準指標(biāo)的重要性,因為這種多注釋會給模型的基準性能設(shè)置上限。在基準中包括許多和/或困難樣本。
進行統(tǒng)計學(xué)顯著性檢驗。
為不明確的示例收集多個注釋。
"當(dāng)一個措施成為目標(biāo)時,它就不再是一個好的措施."-古德哈特定律GLUE等多任務(wù)基準已經(jīng)成為領(lǐng)域進步的關(guān)鍵指標(biāo),但這種靜態(tài)基準很快就過時了。模型的更新使跨任務(wù)的進展無法統(tǒng)一。雖然模型在多數(shù)GLUE任務(wù)上都取得了超人的表現(xiàn),但在 CoLA 等一些任務(wù)上與人類仍有差距(Nangia 和 Bowman,2019 年)。同時在XTREME 上,模型的跨語言檢索方面有了很大改進。因為模型改進太快,我們需要更靈活的模型評估機制。具體來說,就是除了動態(tài)單任務(wù)評估(例如DynaBench),還有就是定義基準數(shù)據(jù)集的動態(tài)集合。該集合由社區(qū)管理,等到模型達到人類性能并定期添加新的數(shù)據(jù)集時,社區(qū)會刪除或降低數(shù)據(jù)集的權(quán)重。這樣的集合需要進行版本控制,以便能夠在學(xué)術(shù)審查周期之外進行更新,并且與以前的方法進行比較。現(xiàn)有的多任務(wù)基準測試,例如GEM ( Gehrmann et al., 2021 ),旨在成為“活的”基準測試,通常包括大約 10-15 個不同的任務(wù)。由于不斷發(fā)布的新數(shù)據(jù)集的數(shù)量,如果要將基準測試限制為一小部分代表性任務(wù),還不如將包含更大的 NLP 任務(wù)得出的結(jié)果有用。同時NLP 中任務(wù)的多樣性,將為模型性能提供更穩(wěn)健和最新的評估。百度的LUGE是朝著如此龐大的中文自然語言處理任務(wù)集合邁出的一步,目前由28個數(shù)據(jù)集組成。任務(wù)的集合可以通過各種方式分解,分解后得到對模型能力的更細粒度的評估。如果任務(wù)根據(jù)模型正在測試的行為分類,則這種細分會非常有洞察力。BIG-Bench是最近的語言模型探測協(xié)作的基準,包括按關(guān)鍵字分類。這種大規(guī)模多任務(wù)評估的一個重要挑戰(zhàn)是可訪問性。就是說,任務(wù)需要以通用輸入格式導(dǎo)入,以便它們可以輕松運行。此外,任務(wù)應(yīng)該高效運行,即使沒有太多計算要求,基礎(chǔ)設(shè)施也要可用于運行任務(wù)。另外,這樣的集合有利于大型通用模型,為財力雄厚的公司或機構(gòu)提供訓(xùn)練。而且,這些模型已經(jīng)被用作當(dāng)前大多數(shù)研究工作的起點,一旦經(jīng)過訓(xùn)練,就可以通過微調(diào)或修剪使之更有效地使用。- 考慮收集和評估大型、多樣化、版本化的 NLP 任務(wù)集合。
為了追上建模發(fā)展的速度,我們需要重新審視很多默認的基準測試,比如F1分數(shù)和BLEU等簡單指標(biāo)。還需要從語言技術(shù)的現(xiàn)實應(yīng)用中思考現(xiàn)實設(shè)置給模型帶來的影響。另外也應(yīng)該關(guān)心分布的長尾,因為這是許多應(yīng)用程序可以觀察的到的地方。最后,我希望我們可以通過多指標(biāo)和統(tǒng)計顯著性測試來嚴格的評估我們的模型,使之越來越完善。原文鏈接:https://ruder.io/nlp-benchmarking/
作者簡介:
SEBASTIAN RUDER,是倫敦 DeepMind 語言團隊的一名研究科學(xué)家。
2015-2019年就讀于愛爾蘭國立高威大學(xué),工程與信息學(xué)院,自然語言處理博士畢業(yè)。
2017.4-2017.6在哥本哈根大學(xué),自然語言處理組,計算機科學(xué)系研究訪問。
2014.09-2015.01愛爾蘭都柏林三一學(xué)院,海外學(xué)期,計算機科學(xué)與統(tǒng)計學(xué)院,計算機科學(xué)與語言
2012.10-2015.09就讀于Ruprecht-Karls-Universit?t Heidelberg 德國海德堡計算語言學(xué)研究所,文學(xué)學(xué)士計算語言學(xué)、英語語言學(xué)。
SEBASTIAN RUDER在學(xué)習(xí)期間,曾與Microsoft、IBM 的 Extreme Blue、Google Summer of Code和SAP等機構(gòu)合作。他對 NLP 的遷移學(xué)習(xí)使 ML 和 NLP 被大眾所了解。

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。