由于硬件資源有限,深度學習模型的訓練目標通常是在訓練和推理的時間和內存限制下最大化準確性。在這種情況下,我們研究了模型大小的影響,關注于計算受限的NLP任務的Transformer模型:自監督的預訓練和高資源機器翻譯。我們首先展示了,盡管較小的Transformer模型在每次迭代中執行得更快,但更廣、更深入的模型在顯著更少的步驟中收斂。此外,這種收斂速度通常超過了使用更大模型的額外計算開銷。因此,計算效率最高的訓練策略是反直覺地訓練非常大的模型,但在少量迭代后停止。
這導致了大型Transformer 模型的訓練效率和小型Transformer 模型的推理效率之間的明顯權衡。然而,我們表明大模型比小模型在壓縮技術(如量化和剪枝)方面更健壯。因此,一個人可以得到最好的兩個好處: 重壓縮,大模型比輕壓縮,小模型獲得更高的準確度。
//www.zhuanzhi.ai/paper/4d7bcea8653fcc448137766511ec7d8a
概述:
在當前的深度學習范式中,使用更多的計算(例如,增加模型大小、數據集大小或訓練步驟)通常會導致更高的模型準確度(brock2018large;raffel2019exploring)。最近自監督預訓練的成功進一步論證了這種趨勢經模型。因此,計算資源日益成為提高模型準確度的關鍵制約因素。這個約束導致模型訓練的(通常是隱含的)目標是最大化計算效率:如何在固定的硬件和訓練時間下達到最高的模型準確度。
最大化計算效率需要重新考慮關于模型訓練的常見假設。特別是,有一個典型的隱式假設,即模型必須經過訓練直到收斂,這使得較大的模型在有限的計算預算下顯得不太可行。我們通過展示以收斂為代價來增加模型大小的機會來挑戰這一假設。具體地說,我們表明,訓練Transformer 模型的最快方法(vaswani2017attention)是大幅度增加模型大小,但很早停止訓練。
在我們的實驗中,我們改變了Transformer模型的寬度和深度,并在自監督的預訓練(RoBERTa (liu2019roberta)在Wikipedia和BookCorpus上訓練)和機器翻譯(WMT14英語→法語)上評估了它們的訓練時間和準確性。對于這些任務,我們首先展示了更大的模型比更小的模型在更少的梯度更新中收斂到更低的驗證錯誤(第3節)。此外,這種收斂速度的增加超過了使用更大模型所帶來的額外計算開銷——計算效率最高的模型是非常大的,并且遠遠不能收斂(例如,圖2,左)。我們還表明,收斂的加速主要是參數計數的函數,只有模型寬度、深度和批大小的微弱影響。
雖然較大的模型訓練速度更快,但它們也增加了推理的計算和內存需求。這種增加的成本在現實應用中尤其成問題,推理成本占訓練成本的主要比例(jouppi2017datacenter;crankshaw2017clipper;metz2017tpu)。然而,對于RoBERTa來說,這種明顯的權衡可以與壓縮相協調:與小型模型相比,大型模型在壓縮方面更加健壯(第4節)。因此,使用可比較的推理成本,大型重壓縮的模型優于小型輕壓縮的模型(例如,圖2,右)。
深度神經網絡最近展示了其解決復雜任務的驚人能力。如今的模型使用功能強大的GPU卡在數百萬個示例上進行訓練,能夠可靠地對圖像進行注釋、翻譯文本、理解口語或玩國際象棋或圍棋等戰略性游戲。此外,深度學習也將成為未來許多技術的組成部分,例如自動駕駛、物聯網(IoT)或5G網絡。特別是隨著物聯網的出現,智能設備的數量在過去幾年里迅速增長。這些設備中有許多都配備了傳感器,使它們能夠以前所未有的規模收集和處理數據。這為深度學習方法提供了獨特的機會。
然而,這些新的應用程序帶有許多附加的約束和要求,這些約束和要求限制了當前模型的開箱即用。
1. 嵌入式設備、物聯網設備和智能手機的內存和存儲容量有限,能源資源有限. 像VGG-16這樣的深度神經網絡需要超過500 MB的內存來存儲參數,執行單次向前傳遞需要15 gb的操作。很明顯,這些模型的當前(未壓縮的)形式不能在設備上使用。
2. 訓練數據通常分布在設備上,由于隱私問題或有限的資源(帶寬),無法簡單地在中央服務器上收集. 由于只有少量數據點的模型的局部訓練通常不太有希望,因此需要新的協作訓練方案來將深度學習的能力引入這些分布式應用程序。
本教程將討論最近提出的解決這兩個問題的技術。我們將首先簡要介紹深度學習,它的當前使用和今天的模型在計算和內存復雜性、能源效率和分布式環境方面的局限性。我們將強調解決這些問題的實際需要,并討論實現這一目標的最新進展,包括ITU ML5G和MPEG AHG CNNMCD正在開展的標準化活動。
然后我們將進入神經網絡壓縮的話題。我們將首先簡要介紹源編碼和信息論的基本概念,包括速率失真理論、量化、熵編碼和最小描述長度原則。這些概念需要形式化的神經網絡壓縮問題。然后我們將繼續討論壓縮DNNs的具體技術。為此,我們將區分壓縮過程的不同步驟,即剪枝和稀疏化、量化和熵編碼。前兩步是有損的,而最后一步是無損的。由于縮小尺寸并不是神經網絡壓縮的唯一目標(例如,快速推理、能源效率是其他目標),我們還將討論有效推理的方法,包括最近提出的神經網絡格式。最后,我們將介紹一個用例,即設備上的語音識別,演示如何在實際應用中使用壓縮方法。
最后我們將介紹分布式學習的最新發展。我們提出了不同的分布式訓練場景,并根據它們的通信特性進行了比較。接下來,我們將重點討論聯邦學習。我們列舉了聯邦學習中存在的挑戰——通信效率、數據異構性、隱私、個性化、健壯性——并提出了解決這些挑戰的方法。我們特別關注為減少分布式學習中的通信開銷而提出的技術,并討論集群化FL,這是一種與模型無關的分布式多任務優化的新方法。這里我們將強調本教程第一部分中介紹的概念的相似性,即稀疏化、量化和編碼。
目錄:
3.問題 4. 休息時間 5. 分布式學習
深度和大型的預訓練語言模型是各種自然語言處理任務的最新技術。然而,這些模型的巨大尺寸可能會阻礙在實踐中使用它們。最近的一些并行工作使用知識蒸餾來將這些龐大的模型壓縮成小型模型。在這項工作中,我們以多語言命名實體識別(NER)為重點來研究知識蒸餾。特別地,我們研究了幾種提煉策略,并提出了一種利用教師內部表征的階段性優化方案,該方案不考慮教師體系結構,并證明其優于以往工作中所采用的策略。此外,我們還研究了幾個因素的作用,比如未標記數據的數量、注釋資源、模型架構和推理延遲等等。我們證明,我們的方法可以將類mbert教師模型的參數壓縮高達35倍,批量推理的延遲壓縮51倍,而NER超過41種語言的95%的f1分都保留下來。
自然語言處理(NLP)中神經網絡模型的標準歸一化方法是層歸一化(LN)。這不同于計算機視覺中廣泛采用的批量歸一化(BN)。LN在NLP中的優先使用主要是由于經驗觀察,使用BN會導致NLP任務的性能顯著下降;然而,對其根本原因的透徹理解并不總是顯而易見的。在本文中,我們對NLP transformers 模型進行了系統的研究,以了解為什么BN與LN相比性能較差。我們發現,整個批處理維度的NLP數據統計在整個訓練過程中呈現出較大的波動。這導致不穩定,如果BN是天真地執行。為了解決這個問題,我們提出Power 歸一化(PN),一種新的歸一化方案, 解決這個問題(i)放松零均值歸一化的BN, (ii) 將運行二次平均,而不是每批統計數據穩定的波動,和(iii)使用一個近似反向傳播。在溫和的假設下,我們從理論上證明了PN相對于BN會導致更小的Lipschitz常數的損失。此外,我們證明了近似的反向傳播方案會導致有界梯度。我們在一系列NLP任務中對Transformer的PN進行了廣泛的測試,結果表明它的性能顯著優于LN和BN。特別是,PN在IWSLT14/WMT14上的表現比LN好0.4/0.6個BLEU,在PTB/WikiText-103上的表現比LN好5.6/3.0個PPL。
由于硬件資源有限,訓練深度學習模型的目標通常是在訓練和推理的時間和記憶約束下使準確性最大化。在這種情況下,我們研究了模型大小的影響,重點研究了受計算限制的NLP任務的Transformer模型:自我監督的預訓練和高資源機器翻譯。我們首先表明,盡管較小的Transformer模型在每次迭代中執行得更快,但是更廣泛和更深入的模型在更少的步驟中收斂。此外,這種收斂速度通常超過使用大型模型的額外計算開銷。因此,最具計算效率的訓練策略是反直覺地訓練非常大的模型,但是在少量的迭代之后停止。
這導致大型Transformer 模型的訓練效率與小型Transformer 模型的推理效率之間存在明顯的權衡。然而,我們證明大型模型比小型模型對量化和剪枝等壓縮技術有更強的魯棒性。因此,我們可以同時利用兩個方面的優勢:高度壓縮的大型模型比輕度壓縮的小型模型獲得更高的精度。