導讀
NLP遷移學習中的一些問題,感覺有點道理。
自然語言處理(NLP)最近取得了巨大的進步,每隔幾天就會發布最新的結果。排行榜瘋狂是指最常見的NLP基準,如GLUE和SUPERGLUE,它們的得分越來越接近人類的水平。這些結果大多是通過超大(數十億個參數)模型從大規模數據集中遷移學習得到的。本文的目的是指出遷移學習面臨的問題和挑戰,并提出一些可能的解決方法。
計算量
目前NLP中最成功的遷移學習形式是序列遷移學習(STL),通常采用語言預訓練的形式(https://arxiv.org/abs/1801.06146)。最近幾乎所有的SOTA結果主要是由兩步方案驅動的:
大型通用語料庫上進行語言模型的建模(數據越多越好)。
Finetune目標任務上的模型(或其子集)。
ELMO, BERT, GPT, GPT-2, XLNET and RoBERTa是都是用的同樣的技術。這些方法的一個主要問題是巨大的資源需求。我所說的資源是指數據和計算能力。例如,據估計,在512個TPU v3芯片上訓練XLNET大約需要25萬美元,相比于在3/4的數據集中訓練的BERT,只提升了1-2%。
這就引出了下一個問題:
難以復現
可復現性已經成為機器學習研究中的一個問題。例如,Dacrema et al.)分析了18個不同的基于神經的推薦系統,發現其中只有7個經過合理的努力是可復現的。一般來說,為了能夠使用或建立在一個特定的研究理念,這個理念必須易于復現。由于需要大量的計算資源來訓練這些巨大的NLP模型并復現它們的結果,小型科技公司、初創公司、研究實驗室和獨立研究人員將無法競爭。
不再需要排行榜的任務
Anna Rogers在她的博客文章為什么“更多的數據和計算= SOTA”不是研究新聞。她認為,排行榜的主要問題在于,一個模型的排名完全取決于它的任務分數,而沒有考慮到達到這個分數所需的數據量、計算量或訓練時間。
Rohit Pgarg建議在任務精度和計算資源的二維尺度上比較模型的性能。請看下面的圖表。我建議我們添加另一個維度,它對應于模型訓練時候的數據量。但是,這種可視化并不能洞察哪種模型通常更好。還有Alexandr Savinov的一個非常有趣的評論,他建議使用算法能夠在一單位CPU時間內將多少輸入信息“打包”到一單位輸出(模型參數)表示中。
在比較模型性能時,使用計算資源作為任務準確性的額外度量
這不像是我們學習的方式
孩子們通過嘈雜、模糊的輸入和極少的監督來學習語言。一個孩子只要接觸一個單詞幾次,就能開始理解它的意思。這與STL設置中使用的訓練前步驟非常不同,在STL設置中,模型需要查看數百萬個上下文,其中包括一個特定的單詞,以掌握該單詞的含義。一個非常重要的問題是,是否可以只從原始文本中學習語義而不受任何外部監督。如果你對關于這個話題的twitter辯論感興趣,請訪問這個帖子:https://twitter.com/jacobandreas/status/1023246560082063366。如果答案是否定的,那就意味著在訓練前,這些模型實際上并沒有給他們真正的語言理解能力。然而,我們在日常生活中確實使用了遷移學習。例如,如果我們知道如何駕駛一輛手動汽車,我們就很容易利用所學的知識(如使用剎車和油門踏板)來駕駛一輛自動汽車。但這是人類學習語言的必經之路嗎?不太可能。然而,有人可能會說,只要一種方法能產生好的結果,它是否與人類的學習方式相似實際上并不重要。不幸的是,這些模型產生的一些好的結果是有問題的,我們將在下一節看到。
從另一個角度來看,人類在語言學習上采取了一種持續終生的學習方式。每當我們學習一個新任務時,這種學習通常不會干擾之前學習過的任務。另一方面,當新的訓練數據的分布發生變化的時候,普通的只在一個任務上訓練過的機器學習模型(包括遷移學習方法)通常不能利用過去學到知識,這種現象稱為災難性的遺忘。
膚淺的語言理解
語言建模任務的確是一個復雜的任務。例如這個句子:“The man in the red shirt is running fast. He must be…”,為了讓模型完成這句話,模型必須理解running fast通常意味著being in a hurry。那么這些預先訓練過的模型到底能理解多少語言呢?不幸的是,事實并非如此。Niven et al., 2019分析了BERT在論證推理和理解任務(ARCT)上的表現。ARCT可以這樣描述:給定一個聲明和一個推理,任務是選擇正確的證據,而不是另一個干擾項。正確的證明應符合,而其他證明應符合。參見下圖。
論證和理解任務的范例
值得一提的是,BERT在這項任務中獲得了極具競爭力的77%的準確性,僅比人類基線低3分。首先,這說明BERT有很強的推理能力。為了進一步調查,Niven et al., 2019使用了所謂的“探針”。也就是說,他們在這個任務上對BERT進行了finetune,但是對BERT的輸入只是正確的和可選的證據,而沒有暴露它的聲明或推理。假設是,如果BERT依賴證據中的一些統計線索,即使他只看到證據而沒有其他信息,他也應該表現良好。有趣的是,他們的研究結果顯示,與使用推理和聲明相比,他們的準確率僅下降了6%。這表明,BERT實際上并沒有進行任何類型的推理,但證明本身有足夠的線索,使BERT能夠達到如此高的準確性。值得注意的是,用一個沒有BERT所依賴的這些線索的對抗性的測試集代替了這個測試集,BERT只能達到53%的正確率,剛好高于隨機概率。
另一篇相關論文是“Can a Machine Really Finish your Sentence?”(Zellers et al., 2019)。他們考慮的是常識自然語言推理的任務,即機器應該選擇最可能的后續語句。例如,給定句子:“the team played so well”,系統應該選擇“They won the game”作為后續。作者認為,盡管BERT能夠達到86%的正確率(僅比人類基線低2點),如此高的正確率并不是由于BERT的高級推理形式,而是由于BERT學會了識別數據集特有的分布偏差。他們發現,通過對抗性篩選(一種旨在為任何可能的訓練、測試分割生成對抗性數據集的技術)創建一個更困難的數據集(HellaSwag), BERT準確率下降到53%。本文討論了數據集性能和任務性能之間的細微差別。對特定任務的數據集執行得非常好并不意味著解決了底層任務。
BERT在SWAG上的表現與HellaSwag相比
很明顯,這里發生了一些事情。是否可能BERT的好結果實際上是由它利用各種分布線索和偏差劫持目標數據集的能力驅動的?對BERT的研究結果進行更多的調查能得出其他類似的發現和結論嗎?如果是這樣,我相信我們不僅需要建立更好的模型,還需要建立更好的數據集。我們需要的數據集能夠真實地反映底層任務的困難,而不是讓模型很容易達到欺騙的準確性和排行榜分數。
高碳不環保
信不信由你,但是訓練這些壯觀的模型對環境有負面影響。Strubell等人比較了訓練大型Transformer架構產生的 排放與其他來源造成的排放。令人驚訝的是,使用神經結構搜索訓練單個Transformer arhcitectue所釋放的 大約是一輛汽車一生所釋放的 的6.0倍。
Schwartz等人介紹了他們所謂的“綠色人工智能”,這是一種實踐,使人工智能更加“高效”和“包容”。與我們上面討論的類似,他們強烈建議除了任務準確性之外,還應該增加效率。他們還認為,研究論文有必要包括“價格標簽”或模型訓練的成本。這將鼓勵對更高效、更少資源需求的模型架構的研究。
-
nlp
+關注
關注
1文章
488瀏覽量
22038 -
遷移學習
+關注
關注
0文章
74瀏覽量
5562
發布評論請先 登錄
相關推薦
評論