近日,英偉達(dá)發(fā)表了一篇大規(guī)模語(yǔ)言建模的論文,他們使用 128 塊 GPU 在 4 小時(shí)內(nèi)使得 mLSTM 可以收斂,值得注意的是,他們使用的 Amazon Reviews 數(shù)據(jù)集包含 40GB 的文本,這在以前通常需要花費(fèi)數(shù)周的時(shí)間進(jìn)行訓(xùn)練。這樣的大規(guī)模語(yǔ)言模型能作為一種預(yù)訓(xùn)練模型遷移大量的語(yǔ)言知識(shí),也就是說(shuō)如果將其應(yīng)用到機(jī)器翻譯、機(jī)器閱讀理解和情感分析等 NLP 任務(wù),數(shù)據(jù)需求量和計(jì)算量都能得到大幅度的降低。
近年來(lái),深度學(xué)習(xí)已經(jīng)成功應(yīng)用到多種問(wèn)題中。遷移學(xué)習(xí)在計(jì)算機(jī)視覺(jué)問(wèn)題上的成功運(yùn)用使得許多應(yīng)用成為可能:VGG[6] 和 ResNets [7] 等大型 CNN 在 ImageNet 等大型圖像數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練 [8,9] 然后在計(jì)算機(jī)視覺(jué)任務(wù)中作為骨干網(wǎng)絡(luò)架構(gòu)。這些模型可以為新任務(wù)提取有用的特征,而無(wú)需在執(zhí)行每個(gè)任務(wù)時(shí)都從頭開(kāi)始訓(xùn)練 [2], [10]–[12]。
最近的研究已經(jīng)從無(wú)監(jiān)督語(yǔ)言建模中得出了很有潛力的結(jié)果,隨后人們將遷移學(xué)習(xí)應(yīng)用到自然語(yǔ)言任務(wù) [3], [13]。然而,與卷積圖像模型不同,神經(jīng)語(yǔ)言模型還沒(méi)有從大規(guī)模和遷移學(xué)習(xí)中受益。神經(jīng)語(yǔ)言模型往往通過(guò)在大型語(yǔ)料庫(kù)上使用詞嵌入預(yù)訓(xùn)練來(lái)實(shí)現(xiàn)大規(guī)模遷移學(xué)習(xí) [14]– [16]。僅遷移詞嵌入會(huì)限制遷移的范圍,因?yàn)樵~嵌入不會(huì)捕獲文本中的序列信息。英偉達(dá)的研究者想要遷移的是具備處理文本序列能力的整個(gè) NLP 模型。
然而,由于在大型數(shù)據(jù)集上訓(xùn)練大型語(yǔ)言模型非常耗時(shí),因此上述情況下的遷移學(xué)習(xí)非常困難。最近發(fā)表的幾篇論文試圖發(fā)揮分布式深度學(xué)習(xí)及可用高性能計(jì)算(HPC)資源的內(nèi)存和計(jì)算能力的優(yōu)勢(shì),通過(guò)利用分布式數(shù)據(jù)并行并在訓(xùn)練期間增加有效批尺寸來(lái)解決訓(xùn)練耗時(shí)的問(wèn)題 [1],[17]– [20]。這一研究往往聚焦于計(jì)算機(jī)視覺(jué),很少涉及自然語(yǔ)言任務(wù),更不用說(shuō)基于 RNN 的語(yǔ)言模型了。由于基于 RNN 的語(yǔ)言模型具有序列性,這些模型在數(shù)值上很難訓(xùn)練,且并行性差。有證據(jù)表明,用于語(yǔ)言建模、語(yǔ)音識(shí)別和神經(jīng)機(jī)器翻譯的 RNN 在大型數(shù)據(jù)集上訓(xùn)練時(shí),準(zhǔn)確率還有提升的空間 [21]。相應(yīng)的,高效訓(xùn)練大型 RNN 模型的技術(shù)將在許多神經(jīng)語(yǔ)言任務(wù)中帶來(lái)準(zhǔn)確率的提升。
研究人員專(zhuān)注于在亞馬遜評(píng)論數(shù)據(jù)集上訓(xùn)練一個(gè)單層 4096 神經(jīng)元乘法 LSTM(multiplicative LSTM,mLSTM)字符級(jí)語(yǔ)言模型,這個(gè)數(shù)據(jù)集是目前開(kāi)源的最大自然語(yǔ)言處理數(shù)據(jù)集之一,他們將該模型遷移到 Binary Stanford Sentiment Treebank (SST) 和 IMDB 電影評(píng)論數(shù)據(jù)集的情感分類(lèi)的下游任務(wù)中。然后用混合精度 FP16/FP32 算術(shù)運(yùn)算來(lái)訓(xùn)練循環(huán)模型,它在單個(gè) V100 上的訓(xùn)練速度比 FP32 快了 4.2 倍。
接著研究人員通過(guò) 128GPU 的分布式數(shù)據(jù)并行,使用 32k 的批大小訓(xùn)練了混合精度模型。這比起使用單個(gè) GPU,訓(xùn)練的數(shù)據(jù)量增加了 109 倍。然而,由于批大小變大,需要額外的 epoch 來(lái)將模型訓(xùn)練至相同準(zhǔn)確率,最終總訓(xùn)練時(shí)長(zhǎng)為 4 小時(shí)。
此外,他們還訓(xùn)練了一個(gè)有 8192 個(gè)神經(jīng)元的 mLSTM,它在亞馬遜評(píng)論語(yǔ)言模型中的表現(xiàn)超越了當(dāng)前最優(yōu)模型,取得了每字符位數(shù)(BPC)為 1.038,SST 分類(lèi)準(zhǔn)確率為 93.8% 的性能。
研究人員分析了分布式數(shù)據(jù)并行是如何隨著模型增大而擴(kuò)展的。在使用分布式數(shù)據(jù)并行訓(xùn)練 RNN 時(shí),他們觀察到一些訓(xùn)練時(shí)批量過(guò)大會(huì)出現(xiàn)的常見(jiàn)問(wèn)題。他們研究數(shù)據(jù)集大小、批大小和學(xué)習(xí)率方案之間的關(guān)系,以探索如何有效地利用大批量來(lái)訓(xùn)練更為常見(jiàn)的大型自然語(yǔ)言處理(NLP)數(shù)據(jù)集。
在這篇論文中,作者們表示這項(xiàng)工作為商業(yè)應(yīng)用以及深度學(xué)習(xí)研究提供了大規(guī)模無(wú)監(jiān)督 NLP 訓(xùn)練的基礎(chǔ)。作者在 GitHub 項(xiàng)目中展示了實(shí)現(xiàn)無(wú)監(jiān)督情感分析的實(shí)驗(yàn),其中大規(guī)模語(yǔ)言模型可以作為情感分析的預(yù)訓(xùn)練模型。
項(xiàng)目地址:https://github.com/NVIDIA/sentiment-discovery
論文:Large Scale Language Modeling: Converging on 40GB of Text in Four Hours
論文地址:https://arxiv.org/pdf/1808.01371v1.pdf
摘要:近期有許多研究關(guān)注如何在大型數(shù)據(jù)集上快速訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),然后將這些模型學(xué)習(xí)到的知識(shí)遷移到多種任務(wù)上。跟隨 [Radford 2017] 研究的方向,在這項(xiàng)研究中,我們展示了循環(huán)神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言任務(wù)上相似的可擴(kuò)展性和遷移能力。通過(guò)使用混合精度算術(shù)運(yùn)算,我們?cè)?128 塊英偉達(dá) Tesla V100 GPU 使用 32k 的批大小進(jìn)行分布式訓(xùn)練,因此可以在 40GB 的亞馬遜評(píng)論(Amazon Reviews)數(shù)據(jù)集上針對(duì)無(wú)監(jiān)督文本重建任務(wù)訓(xùn)練一個(gè)字符級(jí) 4096 維乘法 LSTM(multiplicative LSTM, mLSTM),并在 4 個(gè)小時(shí)完成 3 個(gè) epoch 的訓(xùn)練。這個(gè)運(yùn)行時(shí)相比于之前在相同數(shù)據(jù)集、相同大小和配置上花費(fèi)一個(gè)月訓(xùn)練一個(gè) epoch 的工作很有優(yōu)勢(shì)。大批量 RNN 模型的收斂一般非常有挑戰(zhàn)性。近期的研究提出將學(xué)習(xí)率作為批大小的函數(shù)進(jìn)行縮放,但我們發(fā)現(xiàn)在這個(gè)問(wèn)題中僅將學(xué)習(xí)率作為批大小的函數(shù)縮放會(huì)導(dǎo)致更差的收斂行為或立刻發(fā)散。我們提供了一個(gè)學(xué)習(xí)率方案,允許我們的模型能在 32k 的批大小下收斂。由于我們的模型可以在數(shù)小時(shí)內(nèi)在亞馬遜數(shù)據(jù)集上收斂,并且盡管我們的計(jì)算需求是 128 塊 Tesla V100 GPU,這個(gè)硬件規(guī)模很大,但在商業(yè)上是可行的,這項(xiàng)工作打開(kāi)了在大多數(shù)商業(yè)應(yīng)用以及深度學(xué)習(xí)研究中實(shí)現(xiàn)大規(guī)模無(wú)監(jiān)督 NLP 訓(xùn)練的大門(mén)。一個(gè)模型可以一夜之間就在大多數(shù)公開(kāi)或私人文本數(shù)據(jù)集訓(xùn)練好。
3. 大批量訓(xùn)練
鑒于亞馬遜語(yǔ)料庫(kù)的規(guī)模,預(yù)訓(xùn)練大型當(dāng)前最優(yōu)神經(jīng)語(yǔ)言模型是一個(gè)非常耗時(shí)的過(guò)程。在單個(gè) GPU 上運(yùn)行這么大的工作負(fù)載不切實(shí)際,因?yàn)楫?dāng)前最優(yōu)模型一般會(huì)比較大,且每個(gè) GPU 能夠承擔(dān)的訓(xùn)練批量大小有限。為了保證有效的訓(xùn)練和遷移大型語(yǔ)言模型,我們使用多 GPU 并行化訓(xùn)練。我們專(zhuān)注于多 GPU 數(shù)據(jù)并行化,這意味著我們?cè)谟?xùn)練過(guò)程中將批次分割并分配給多個(gè) GPU。我們沒(méi)有使用模型并行化(這種方法把神經(jīng)網(wǎng)絡(luò)分割成多個(gè)處理器),因?yàn)樵摲椒`活性較差,且對(duì)軟件限制較多,不過(guò)它仍然是進(jìn)一步并行化的有趣選擇。
我們使用同步數(shù)據(jù)并行化,其中大批量數(shù)據(jù)被均勻分布給所有參與其中的工作進(jìn)程,工作進(jìn)程處理前向和反向傳播、相互通信產(chǎn)生的梯度,以及在獲取新的數(shù)據(jù)批量之前更新模型。鑒于模型大小和通信延遲,數(shù)據(jù)并行化通過(guò)可用 GPU 的數(shù)量與批量大小的線性擴(kuò)展來(lái)實(shí)現(xiàn)近似線性加速。
為保證任意語(yǔ)言模型的大批量預(yù)訓(xùn)練,明確分析使用基于 RNN 的語(yǔ)言模型進(jìn)行大批量預(yù)訓(xùn)練的效果非常重要。循環(huán)神經(jīng)網(wǎng)絡(luò)的連續(xù)性使得訓(xùn)練過(guò)程很難優(yōu)化,因?yàn)?RNN 計(jì)算過(guò)程中存在鞍點(diǎn)、局部極小值和數(shù)值不穩(wěn)定性 [35]–[37]。這些復(fù)雜性使得使用 RNN 進(jìn)行大批量訓(xùn)練的分析非常有必要。
為了保證 RNN 語(yǔ)言模型的大批量訓(xùn)練,我們探索了線性縮放規(guī)則和 Hoffer 等人 [40] 提出的平方根縮放規(guī)則 的影響。
4. 混合精度訓(xùn)練
FP16 不僅能減少通信成本,還對(duì)直接加速處理器上的訓(xùn)練起到關(guān)鍵作用,如支持較高吞吐量混合精度運(yùn)算的 V100。V100 的單精度浮點(diǎn)運(yùn)算性能可達(dá) 15.6 TFlops,而混合精度運(yùn)算(FP16 存儲(chǔ)和相乘,F(xiàn)P32 累加)的浮點(diǎn)運(yùn)算性能達(dá)到 125 TFlops。
5. 實(shí)驗(yàn)
圖 2:a 為混合精度(MP)和單精度(SP)的訓(xùn)練曲線,b 為單精度和混合精度的測(cè)試集評(píng)估對(duì)比,其中評(píng)估指標(biāo)為亞馬遜 BPC 和 Radford 等人實(shí)現(xiàn)的二元情感分類(lèi)準(zhǔn)確率基線集。
圖 3: a) 亞馬遜評(píng)論數(shù)據(jù)集一次 epoch 的訓(xùn)練時(shí)間與 GPU 數(shù)量具有線性關(guān)系。b) 有(無(wú))無(wú)限帶寬的分布式數(shù)據(jù)并行訓(xùn)練的平均每個(gè)迭代次數(shù)和相對(duì)加速度。
圖 4:在特定維度和批大小的亞馬遜評(píng)論數(shù)據(jù)集上,訓(xùn)練 mLSTM 模型完成一個(gè) epoch 的訓(xùn)練過(guò)程。虛線表示經(jīng)過(guò)一個(gè) epoch 的訓(xùn)練后的評(píng)估 BPC,以及由 Gray 等人 [34] 得到的當(dāng)前最佳評(píng)估結(jié)果(SoTA)。
圖 5:在多種初始學(xué)習(xí)率下使用 1 epoch 內(nèi)衰減到零的學(xué)習(xí)率方案的評(píng)估結(jié)果。某些初始學(xué)習(xí)率按照基于 128 批大小的 5e-4 衰減率的線性或平方根縮放規(guī)則進(jìn)行縮放。Div 表示訓(xùn)練出現(xiàn)發(fā)散。