作者:Muhammad Khalifa
編譯:ronghuaiyang
導讀
NLP遷移學習中的一些問題,感覺有點道理。
自然語言處理(NLP)最近取得了巨大的進步,每隔幾天就會發布最新的結果。排行榜瘋狂是指最常見的NLP基準,如GLUE和SUPERGLUE,它們的得分越來越接近人類的水平。這些結果大多是透過超大(數十億個引數)模型從大規模資料集中遷移學習得到的。本文的目的是指出遷移學習面臨的問題和挑戰,並提出一些可能的解決方法。
計算量
目前NLP中最成功的 遷移學習形式是 序列遷移學習(STL),通常採用語言預訓練的形式()。最近幾乎所有的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辯論感興趣,請訪問這個帖子:。如果答案是否定的,那就意味著在訓練前,這些模型實際上並沒有給他們真正的語言理解能力。然而,我們在日常生活中確實使用了遷移學習。例如,如果我們知道如何駕駛一輛手動汽車,我們就很容易利用所學的知識(如使用剎車和油門踏板)來駕駛一輛自動汽車。但這是人類學習語言的必經之路嗎?不太可能。然而,有人可能會說,只要一種方法能產生好的結果,它是否與人類的學習方式相似實際上並不重要。不幸的是,這些模型產生的一些好的結果是有問題的,我們將在下一節看到。
從另一個角度來看,人類在語言學習上採取了一種持續終生的學習方式。每當我們學習一個新任務時,這種學習通常不會干擾之前學習過的任務。另一方面,當新的訓練資料的分佈發生變化的時候,普通的只在一個任務上訓練過的機器學習模型(包括遷移學習方法)通常不能利用過去學到知識,這種現象稱為災難性的遺忘。
膚淺的語言理解
語言建模任務的確是一個複雜的任務。例如這個句子:“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的好結果實際上是由它利用各種分佈線索和偏差劫持目標資料集的能力驅動的?對BERT的研究結果進行更多的調查能得出其他類似的發現和結論嗎?如果是這樣,我相信我們不僅需要建立更好的模型,還需要建立更好的資料集。我們需要的資料集能夠真實地反映底層任務的困難,而不是讓模型很容易達到欺騙的準確性和排行榜分數。
高碳不環保
信不信由你,但是訓練這些壯觀的模型對環境有負面影響。Strubell等人比較了訓練大型Transformer架構產生的 排放與其他來源造成的排放。令人驚訝的是,使用神經結構搜尋訓練單個Transformer arhcitectue所釋放的 大約是一輛汽車一生所釋放的 的6.0倍。
Schwartz等人介紹了他們所謂的“綠色人工智慧”,這是一種實踐,使人工智慧更加“高效”和“包容”。與我們上面討論的類似,他們強烈建議除了任務準確性之外,還應該增加效率。他們還認為,研究論文有必要包括“價格標籤”或模型訓練的成本。這將鼓勵對更高效、更少資源需求的模型架構的研究。
英文原文: