近期的硬件發(fā)展實現(xiàn)了前所未有的數(shù)據(jù)并行化,從而加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練。利用下一代加速器的最簡單方法是增加標(biāo)準(zhǔn)小批量神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法中的批大小。最近谷歌大腦發(fā)表了一篇論文,旨在通過實驗確定在訓(xùn)練階段增加批大小的作用,評價指標(biāo)是得到目標(biāo)樣本外誤差所需的訓(xùn)練步數(shù)。最后,批大小增加到一定量將不再減少所需訓(xùn)練步數(shù),但批大小和訓(xùn)練步數(shù)之間的確切關(guān)系對從業(yè)者、研究者和硬件設(shè)計人員來說非常重要。谷歌大腦研究不同訓(xùn)練算法、模型和數(shù)據(jù)集中批大小和訓(xùn)練步數(shù)之間關(guān)系的變化,以及工作負載之間的最大變化。該研究還解決了批大小是否影響模型質(zhì)量這一問題。
神經(jīng)網(wǎng)絡(luò)在解決大量預(yù)測任務(wù)時非常高效。在較大數(shù)據(jù)集上訓(xùn)練的大型模型是神經(jīng)網(wǎng)絡(luò)近期成功的原因之一,我們期望在更多數(shù)據(jù)上訓(xùn)練的模型可以持續(xù)取得預(yù)測性能改進。盡管當(dāng)下的 GPU 和自定義神經(jīng)網(wǎng)絡(luò)加速器可以使我們以前所未有的速度訓(xùn)練當(dāng)前最優(yōu)模型,但訓(xùn)練時間仍然限制著這些模型的預(yù)測性能及應(yīng)用范圍。很多重要問題的最佳模型在訓(xùn)練結(jié)束時仍然在提升性能,這是因為研究者無法一次訓(xùn)練很多天或好幾周。在極端案例中,訓(xùn)練必須在完成一次數(shù)據(jù)遍歷之前終止。減少訓(xùn)練時間的一種方式是提高數(shù)據(jù)處理速度。這可以極大地促進模型質(zhì)量的提升,因為它使得訓(xùn)練過程能夠處理更多數(shù)據(jù),同時還能降低實驗迭代時間,使研究者能夠更快速地嘗試新想法和新配置條件。更快的訓(xùn)練還使得神經(jīng)網(wǎng)絡(luò)能夠部署到需要頻繁更新模型的應(yīng)用中,比如訓(xùn)練數(shù)據(jù)定期增刪的情況就需要生成新模型。
數(shù)據(jù)并行化是一種直接且常用的訓(xùn)練加速方法。本研究中的數(shù)據(jù)并行化指將訓(xùn)練樣本分配到多個處理器來計算梯度更新(或更高階的導(dǎo)數(shù)信息),然后對這些局部計算的梯度更新求和。只要訓(xùn)練目標(biāo)函數(shù)可分解為在訓(xùn)練樣本上的和,則數(shù)據(jù)并行化可以適用于任意模型,應(yīng)用到任意神經(jīng)網(wǎng)絡(luò)架構(gòu)。而模型并行化(對于相同的訓(xùn)練樣本,將參數(shù)和計算分配到不同處理器)的最大程度則依賴于模型大小和結(jié)構(gòu)。盡管數(shù)據(jù)并行化易于實現(xiàn),但大規(guī)模系統(tǒng)應(yīng)該考慮所有類型的并行化。這篇論文主要研究在同步訓(xùn)練設(shè)置下數(shù)據(jù)并行化的成本和收益。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練硬件具備越來越強大的數(shù)據(jù)并行化處理能力?;?GPU 或定制 ASIC 的專門系統(tǒng)輔以高性能互連技術(shù)使得能夠處理的數(shù)據(jù)并行化規(guī)模前所未有地大,而數(shù)據(jù)并行化的成本和收益尚未得到深入研究。一方面,如果數(shù)據(jù)并行化能夠顯著加速目前的系統(tǒng),我們應(yīng)該構(gòu)建更大的系統(tǒng)。另一方面,如果額外的數(shù)據(jù)并行化收益小、成本高,則我們在設(shè)計系統(tǒng)時或許需要考慮最大化串行執(zhí)行速度、利用其他并行化類型,甚至優(yōu)先考慮能量使用、成本。
該研究嘗試對數(shù)據(jù)并行化對神經(jīng)網(wǎng)絡(luò)訓(xùn)練的影響進行大量嚴(yán)謹(jǐn)?shù)膶嶒炑芯俊榱藢崿F(xiàn)該目標(biāo),研究者考慮目前數(shù)據(jù)并行化局限條件下的實際工作負載,嘗試避免假設(shè)批大小函數(shù)對最優(yōu)元參數(shù)的影響。該研究主要關(guān)注小批量隨機梯度下降(SGD)的變體,它們是神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的主要算法。該研究的貢獻如下:
1. 該研究展示了批大小和達到樣本外誤差所需訓(xùn)練步數(shù)之間的關(guān)系在六個不同的神經(jīng)網(wǎng)絡(luò)家族、三種訓(xùn)練算法和七個不同數(shù)據(jù)集上具備同樣的特征。
具體來說,對于每個工作負載(模型、訓(xùn)練算法和數(shù)據(jù)集),增加批大小最初都會導(dǎo)致訓(xùn)練步數(shù)的下降,但最終增加批大小將無法減少訓(xùn)練步數(shù)。該研究首次通過實驗驗證不同模型、訓(xùn)練算法和數(shù)據(jù)集上批大小與訓(xùn)練步數(shù)的關(guān)系,其分別調(diào)整每個批大小的學(xué)習(xí)率、動量和學(xué)習(xí)率調(diào)度器。
2. 該研究證明最大有用批大小因工作負載而異,且依賴于模型、訓(xùn)練算法和數(shù)據(jù)集的特性。具體而言,
帶動量(和 Nesterov 動量)的 SGD 能夠比普通的 SGD 更好地利用較大的批大小,未來可以研究其他算法的批大小擴展特性。
一些模型在允許訓(xùn)練擴展至更大的批大小方面優(yōu)于其他模型。研究者將實驗數(shù)據(jù)和不同模型特性與最大有用批大小之間的關(guān)系結(jié)合起來,表明該關(guān)系與之前研究中表達的不同(如更寬的模型未必能夠更好地擴展至更大的批大?。?。
數(shù)據(jù)集對最大有用批大小的影響不如模型和訓(xùn)練算法的影響,但該影響并非一貫依賴于數(shù)據(jù)集規(guī)模。
3. 訓(xùn)練元參數(shù)的最優(yōu)值(如學(xué)習(xí)率)并非一直遵循與批大小的簡單關(guān)系,盡管目前有大量啟發(fā)式方法可以調(diào)整元參數(shù)。學(xué)習(xí)率啟發(fā)式方法無法處理所有問題或所有批大小。假設(shè)簡單的啟發(fā)式方法(如隨著批大小的變化對學(xué)習(xí)率進行線性擴展)可能導(dǎo)致最差解或?qū)σ?guī)模遠遠小于基礎(chǔ)批大小的批量進行離散訓(xùn)練。
4. 該研究回顧了之前研究中使用的實驗方案,部分解決了增加批大小是否降低模型質(zhì)量這一問題。研究人員假設(shè)不同批大小對應(yīng)的計算預(yù)算和元參數(shù)選擇能夠解釋文獻中的諸多分歧,然后發(fā)現(xiàn)沒有證據(jù)能夠證明批大小與模型質(zhì)量下降存在必然關(guān)系,但是額外的正則化方法在批量較大的情況下變得更加重要。
實驗
實驗所用數(shù)據(jù)集如下所示:
實驗所用模型:
實驗依賴大量元參數(shù)調(diào)整,如學(xué)習(xí)率、動量和學(xué)習(xí)率調(diào)度器。在每次實驗中,研究者檢查最佳試驗與元參數(shù)搜索空間邊界是否太過接近,從而驗證元參數(shù)搜索空間。
圖 1:對于上圖中所有問題,訓(xùn)練步數(shù)與批大小之間的關(guān)系具備同樣的特征。
圖 2:對于不同(相近)性能目標(biāo),Steps-to-result 圖具備類似形式。
一些模型能夠更好地利用大批量
如下圖所示:
圖 3:a-c 展示了在相同數(shù)據(jù)集上,一些模型架構(gòu)能夠從大批量中獲益更多。d、f 展示了寬度和深度變化會影響模型利用大批量的能力,但是該情況并不適用于所有模型架構(gòu)。圖中所有的 MNIST 模型都使用了 mini-batch SGD,而其他模型使用了帶 Nesterov 動量的 SGD。每個圖的目標(biāo)驗證誤差允許所有模型變體都能夠達到目標(biāo)誤差。
帶動量的 SGD 可在大批量上實現(xiàn)完美擴展,但在小批量上能力與普通 SGD 相當(dāng)。
如下圖所示:
數(shù)據(jù)集對最大有用批大小有影響,但影響程度可能不如模型或優(yōu)化器
圖 5:數(shù)據(jù)集對最大有用批大小有影響。
圖 6:數(shù)據(jù)集大小的影響。
正則化在某些批大小上更加有用
圖 7:上圖是 ImageNet 數(shù)據(jù)集上的 ResNet-50 模型。每個點對應(yīng)不同的元參數(shù),因此每個點的學(xué)習(xí)率、Nesterov 動量和學(xué)習(xí)率調(diào)度器都是獨立選擇的。每個批大小的訓(xùn)練預(yù)算是固定的,但是不同批大小的訓(xùn)練預(yù)算不同。
最佳學(xué)習(xí)率和動量隨批大小的變化而改變
圖 8:最佳學(xué)習(xí)率未必遵循線性或平方根擴展啟發(fā)式方法。
圖 9:在固定訓(xùn)練數(shù)量的 epoch 中,達到目標(biāo)誤差的元參數(shù)空間區(qū)域隨著批大小增加而縮小。
圖 10:在固定的訓(xùn)練步數(shù)下,達到目標(biāo)誤差的元參數(shù)空間區(qū)域隨著批大小增加而擴大。
解的質(zhì)量更多地依賴計算預(yù)算而不是批大小
圖 12:驗證誤差更多地依賴計算預(yù)算,而非批大小。
實驗缺陷
在元參數(shù)調(diào)整時難免會有一定程度的人類判斷。研究分析沒有考慮到取得目標(biāo)誤差的魯棒性。
-
加速器
+關(guān)注
關(guān)注
2文章
827瀏覽量
39118 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103609 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1224瀏覽量
25447
原文標(biāo)題:數(shù)據(jù)并行化對神經(jīng)網(wǎng)絡(luò)訓(xùn)練有何影響?谷歌大腦進行了實證研究
文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論