《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 128塊Tesla V100 4小時訓練40G文本,這篇論文果然很英偉達

128塊Tesla V100 4小時訓練40G文本,這篇論文果然很英偉達

2018-08-09
關鍵詞: 英偉達 語言建模 GPU

近日,英偉達發(fā)表了一篇大規(guī)模語言建模的論文,他們使用 128 塊 GPU 在 4 小時內使得 mLSTM 可以收斂,值得注意的是,他們使用的 Amazon Reviews 數據集包含 40GB 的文本,這在以前通常需要花費數周的時間進行訓練。這樣的大規(guī)模語言模型能作為一種預訓練模型遷移大量的語言知識,也就是說如果將其應用到機器翻譯、機器閱讀理解和情感分析等 NLP 任務,數據需求量和計算量都能得到大幅度的降低。


近年來,深度學習已經成功應用到多種問題中。遷移學習在計算機視覺問題上的成功運用使得許多應用成為可能:VGG[6] 和 ResNets [7] 等大型 CNN 在 ImageNet 等大型圖像數據集上進行預訓練 [8,9] 然后在計算機視覺任務中作為骨干網絡架構。這些模型可以為新任務提取有用的特征,而無需在執(zhí)行每個任務時都從頭開始訓練 [2], [10]–[12]。


最近的研究已經從無監(jiān)督語言建模中得出了很有潛力的結果,隨后人們將遷移學習應用到自然語言任務 [3], [13]。然而,與卷積圖像模型不同,神經語言模型還沒有從大規(guī)模和遷移學習中受益。神經語言模型往往通過在大型語料庫上使用詞嵌入預訓練來實現(xiàn)大規(guī)模遷移學習 [14]– [16]。僅遷移詞嵌入會限制遷移的范圍,因為詞嵌入不會捕獲文本中的序列信息。英偉達的研究者想要遷移的是具備處理文本序列能力的整個 NLP 模型。


然而,由于在大型數據集上訓練大型語言模型非常耗時,因此上述情況下的遷移學習非常困難。最近發(fā)表的幾篇論文試圖發(fā)揮分布式深度學習及可用高性能計算(HPC)資源的內存和計算能力的優(yōu)勢,通過利用分布式數據并行并在訓練期間增加有效批尺寸來解決訓練耗時的問題 [1],[17]– [20]。這一研究往往聚焦于計算機視覺,很少涉及自然語言任務,更不用說基于 RNN 的語言模型了。由于基于 RNN 的語言模型具有序列性,這些模型在數值上很難訓練,且并行性差。有證據表明,用于語言建模、語音識別和神經機器翻譯的 RNN 在大型數據集上訓練時,準確率還有提升的空間 [21]。相應的,高效訓練大型 RNN 模型的技術將在許多神經語言任務中帶來準確率的提升。


研究人員專注于在亞馬遜評論數據集上訓練一個單層 4096 神經元乘法 LSTM(multiplicative LSTM,mLSTM)字符級語言模型,這個數據集是目前開源的最大自然語言處理數據集之一,他們將該模型遷移到 Binary Stanford Sentiment Treebank (SST) 和 IMDB 電影評論數據集的情感分類的下游任務中。然后用混合精度 FP16/FP32 算術運算來訓練循環(huán)模型,它在單個 V100 上的訓練速度比 FP32 快了 4.2 倍。


接著研究人員通過 128GPU 的分布式數據并行,使用 32k 的批大小訓練了混合精度模型。這比起使用單個 GPU,訓練的數據量增加了 109 倍。然而,由于批大小變大,需要額外的 epoch 來將模型訓練至相同準確率,最終總訓練時長為 4 小時。


此外,他們還訓練了一個有 8192 個神經元的 mLSTM,它在亞馬遜評論語言模型中的表現(xiàn)超越了當前最優(yōu)模型,取得了每字符位數(BPC)為 1.038,SST 分類準確率為 93.8% 的性能。


研究人員分析了分布式數據并行是如何隨著模型增大而擴展的。在使用分布式數據并行訓練 RNN 時,他們觀察到一些訓練時批量過大會出現(xiàn)的常見問題。他們研究數據集大小、批大小和學習率方案之間的關系,以探索如何有效地利用大批量來訓練更為常見的大型自然語言處理(NLP)數據集。


在這篇論文中,作者們表示這項工作為商業(yè)應用以及深度學習研究提供了大規(guī)模無監(jiān)督 NLP 訓練的基礎。作者在 GitHub 項目中展示了實現(xiàn)無監(jiān)督情感分析的實驗,其中大規(guī)模語言模型可以作為情感分析的預訓練模型。


項目地址:https://github.com/NVIDIA/sentiment-discovery


論文:Large Scale Language Modeling: Converging on 40GB of Text in Four Hours 

微信圖片_20180809210829.jpg

論文地址:https://arxiv.org/pdf/1808.01371v1.pdf


摘要:近期有許多研究關注如何在大型數據集上快速訓練卷積神經網絡,然后將這些模型學習到的知識遷移到多種任務上。跟隨 [Radford 2017] 研究的方向,在這項研究中,我們展示了循環(huán)神經網絡在自然語言任務上相似的可擴展性和遷移能力。通過使用混合精度算術運算,我們在 128 塊英偉達 Tesla V100 GPU 使用 32k 的批大小進行分布式訓練,因此可以在 40GB 的亞馬遜評論(Amazon Reviews)數據集上針對無監(jiān)督文本重建任務訓練一個字符級 4096 維乘法 LSTM(multiplicative LSTM, mLSTM),并在 4 個小時完成 3 個 epoch 的訓練。這個運行時相比于之前在相同數據集、相同大小和配置上花費一個月訓練一個 epoch 的工作很有優(yōu)勢。大批量 RNN 模型的收斂一般非常有挑戰(zhàn)性。近期的研究提出將學習率作為批大小的函數進行縮放,但我們發(fā)現(xiàn)在這個問題中僅將學習率作為批大小的函數縮放會導致更差的收斂行為或立刻發(fā)散。我們提供了一個學習率方案,允許我們的模型能在 32k 的批大小下收斂。由于我們的模型可以在數小時內在亞馬遜數據集上收斂,并且盡管我們的計算需求是 128 塊 Tesla V100 GPU,這個硬件規(guī)模很大,但在商業(yè)上是可行的,這項工作打開了在大多數商業(yè)應用以及深度學習研究中實現(xiàn)大規(guī)模無監(jiān)督 NLP 訓練的大門。一個模型可以一夜之間就在大多數公開或私人文本數據集訓練好。


3. 大批量訓練


鑒于亞馬遜語料庫的規(guī)模,預訓練大型當前最優(yōu)神經語言模型是一個非常耗時的過程。在單個 GPU 上運行這么大的工作負載不切實際,因為當前最優(yōu)模型一般會比較大,且每個 GPU 能夠承擔的訓練批量大小有限。為了保證有效的訓練和遷移大型語言模型,我們使用多 GPU 并行化訓練。我們專注于多 GPU 數據并行化,這意味著我們在訓練過程中將批次分割并分配給多個 GPU。我們沒有使用模型并行化(這種方法把神經網絡分割成多個處理器),因為該方法靈活性較差,且對軟件限制較多,不過它仍然是進一步并行化的有趣選擇。


我們使用同步數據并行化,其中大批量數據被均勻分布給所有參與其中的工作進程,工作進程處理前向和反向傳播、相互通信產生的梯度,以及在獲取新的數據批量之前更新模型。鑒于模型大小和通信延遲,數據并行化通過可用 GPU 的數量與批量大小的線性擴展來實現(xiàn)近似線性加速。


為保證任意語言模型的大批量預訓練,明確分析使用基于 RNN 的語言模型進行大批量預訓練的效果非常重要。循環(huán)神經網絡的連續(xù)性使得訓練過程很難優(yōu)化,因為 RNN 計算過程中存在鞍點、局部極小值和數值不穩(wěn)定性 [35]–[37]。這些復雜性使得使用 RNN 進行大批量訓練的分析非常有必要。


為了保證 RNN 語言模型的大批量訓練,我們探索了線性縮放規(guī)則和 Hoffer 等人 [40] 提出的平方根縮放規(guī)則  的影響。


4. 混合精度訓練


FP16 不僅能減少通信成本,還對直接加速處理器上的訓練起到關鍵作用,如支持較高吞吐量混合精度運算的 V100。V100 的單精度浮點運算性能可達 15.6 TFlops,而混合精度運算(FP16 存儲和相乘,F(xiàn)P32 累加)的浮點運算性能達到 125 TFlops。


5. 實驗

微信圖片_20180809210907.jpg

微信圖片_20180809210946.jpg

圖 2:a 為混合精度(MP)和單精度(SP)的訓練曲線,b 為單精度和混合精度的測試集評估對比,其中評估指標為亞馬遜 BPC 和 Radford 等人實現(xiàn)的二元情感分類準確率基線集。

微信圖片_20180809211024.jpg

圖 3: a) 亞馬遜評論數據集一次 epoch 的訓練時間與 GPU 數量具有線性關系。b) 有(無)無限帶寬的分布式數據并行訓練的平均每個迭代次數和相對加速度。

微信圖片_20180809211052.jpg

圖 4:在特定維度和批大小的亞馬遜評論數據集上,訓練 mLSTM 模型完成一個 epoch 的訓練過程。虛線表示經過一個 epoch 的訓練后的評估 BPC,以及由 Gray 等人 [34] 得到的當前最佳評估結果(SoTA)。

微信圖片_20180809211121.jpg

圖 5:在多種初始學習率下使用 1 epoch 內衰減到零的學習率方案的評估結果。某些初始學習率按照基于 128 批大小的 5e-4 衰減率的線性或平方根縮放規(guī)則進行縮放。Div 表示訓練出現(xiàn)發(fā)散。


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。