作為一種自適應(yīng)步長(zhǎng)隨機(jī)梯度優(yōu)化器,自2014年提出以來(lái),Adam 算法便以其卓越的性能風(fēng)靡深度學(xué)習(xí)領(lǐng)域。為了提高應(yīng)用于訓(xùn)練大規(guī)模任務(wù)時(shí)的效率,該算法通常與同步隨機(jī)梯度(Synchronous Stochastic Gradient,SSG)技術(shù)相結(jié)合,采用數(shù)據(jù)并行(data parallel)的方式在多臺(tái)機(jī)器上執(zhí)行。在本文中,我們稱(chēng)這一方法為 Sync-Adam。
本質(zhì)上來(lái)講,Sync-Adam 通過(guò)將一個(gè) minibatch 內(nèi)樣本的梯度計(jì)算分布到多臺(tái)機(jī)器上達(dá)到加速目的,因此通信十分頻繁,并且隨著并行機(jī)器數(shù)目增多,minibatch 內(nèi)樣本的數(shù)量也成比例增加,這種情況下,通常會(huì)損害最終得到的模型的性能。為解決基于 SSG 的 Adam 算法可擴(kuò)展性差的難題,我們把目光投向了逐區(qū)塊模型更新濾波(Blockwise Model-Update Filtering, BMUF)框架。
BMUF 是一種通信高效的通用分布式優(yōu)化算法框架,于2016年由微軟亞洲研究院語(yǔ)音組的研究人員提出并發(fā)表。該算法在多個(gè)并行工作機(jī)之間周期性同步模型更新信息,并與歷史更新信息相結(jié)合提升全局模型性能。與基于 SSG 的算法相比,BMUF 具有通信頻率較低、訓(xùn)練幾乎線性加速、模型性能基本無(wú)損的特點(diǎn)。這一算法已經(jīng)在工業(yè)界廣泛用于大規(guī)模深度學(xué)習(xí)模型的訓(xùn)練。
本文中,我們采用 BMUF 框架并行化 Adam 算法,并在微軟大規(guī)模 OCR 和語(yǔ)音產(chǎn)品數(shù)據(jù)集上進(jìn)行了測(cè)試。實(shí)驗(yàn)結(jié)果表明,在大規(guī)模 OCR 任務(wù)中,BMUF-Adam 在多達(dá)64機(jī)的并行訓(xùn)練中幾乎實(shí)現(xiàn)了線性加速的同時(shí),基本沒(méi)有模型性能損失,在32機(jī)大詞匯量連續(xù)語(yǔ)音識(shí)別任務(wù)中也獲得了類(lèi)似效果。
接下來(lái)我們探討如何采用 BMUF 框架賦能 Adam 算法,在大規(guī)模深度學(xué)習(xí)任務(wù)上成就不凡。
在基于 BMUF 的訓(xùn)練框架下,假設(shè)我們總共有 N 個(gè)并行工作機(jī),一個(gè)工作機(jī)可以是一塊或多塊 GPU 卡,也可以是一個(gè)計(jì)算節(jié)點(diǎn)。給定一個(gè)包含 Nτ 個(gè) minibatch 的訓(xùn)練數(shù)據(jù)子集,首先我們將這些數(shù)據(jù)均勻分布到 N 個(gè)并行工作機(jī),每臺(tái)工作機(jī)獲得 τ 個(gè) minibatch。從一個(gè)共同的初始模型 θ_(t-τ)^((init)) 開(kāi)始,N 個(gè)工作機(jī)獨(dú)立更新各自的局部模型 τ 步,得到 {θ_(t,1),θ_(t,2),…,θ_(t,N)},對(duì)局部模型取平均得到 θ ̅_t。這一過(guò)程稱(chēng)之為數(shù)據(jù)塊內(nèi)并行優(yōu)化(Intra-Block Parallel Optimization, IBPO)。與直接將 θ ̅_t 作為全局模型不同,BMUF 技術(shù)將歷史更新信息與當(dāng)前更新信息結(jié)合,得到全局模型:
商用機(jī)器人 Disinfection Robot 展廳機(jī)器人 智能垃圾站 輪式機(jī)器人底盤(pán) 迎賓機(jī)器人 移動(dòng)機(jī)器人底盤(pán) 講解機(jī)器人 紫外線消毒機(jī)器人 大屏機(jī)器人 霧化消毒機(jī)器人 服務(wù)機(jī)器人底盤(pán) 智能送餐機(jī)器人 霧化消毒機(jī) 機(jī)器人OEM代工廠 消毒機(jī)器人排名 智能配送機(jī)器人 圖書(shū)館機(jī)器人 導(dǎo)引機(jī)器人 移動(dòng)消毒機(jī)器人 導(dǎo)診機(jī)器人 迎賓接待機(jī)器人 前臺(tái)機(jī)器人 導(dǎo)覽機(jī)器人 酒店送物機(jī)器人 云跡科技潤(rùn)機(jī)器人 云跡酒店機(jī)器人 智能導(dǎo)診機(jī)器人 |