作(zuo)為一(yi)種(zhong)自適應(ying)步(bu)(bu)長(chang)隨(sui)機(ji)梯度優化器,自2014年提出以來(lai),Adam 算(suan)法便以其卓越的性能風(feng)靡(mi)深度學習領域(yu)。為了提高應(ying)用于訓(xun)練大規模任務時的效率,該算(suan)法通常與同步(bu)(bu)隨(sui)機(ji)梯度(Synchronous Stochastic Gradient,SSG)技術相結(jie)合,采用數據并行(data parallel)的方式在多臺機(ji)器上執行。在本文中,我們稱(cheng)這一(yi)方法為 Sync-Adam。
本質上來(lai)講,Sync-Adam 通過將一個(ge) minibatch 內樣本(ben)的梯(ti)度計算分布到(dao)多(duo)臺機器上達到(dao)加(jia)(jia)速(su)目的,因此(ci)通信十分頻(pin)繁,并(bing)且隨著并(bing)行(xing)機器數(shu)目增多(duo),minibatch 內樣本(ben)的數(shu)量(liang)也成比(bi)例增加(jia)(jia),這種(zhong)情況下(xia),通常會損害最(zui)終得到(dao)的模型的性能(neng)。為解決基于 SSG 的 Adam 算法(fa)可擴(kuo)展(zhan)性差(cha)的難題,我們把目光投向了逐區塊模型更新濾(lv)波(Blockwise Model-Update Filtering, BMUF)框架(jia)。
BMUF 是一種(zhong)通信高效(xiao)的(de)通用(yong)分(fen)布(bu)式優化算(suan)法(fa)框(kuang)架,于(yu)(yu)2016年由微軟亞(ya)洲研(yan)究(jiu)院語音組的(de)研(yan)究(jiu)人員提(ti)出并發表。該算(suan)法(fa)在多個(ge)并行(xing)工作(zuo)機之間(jian)周期性同(tong)步(bu)模(mo)型(xing)更(geng)新(xin)信息(xi),并與(yu)歷(li)史更(geng)新(xin)信息(xi)相結合提(ti)升全(quan)局模(mo)型(xing)性能。與(yu)基(ji)于(yu)(yu) SSG 的(de)算(suan)法(fa)相比,BMUF 具有通信頻率較低、訓練(lian)幾(ji)乎(hu)線(xian)性加速(su)、模(mo)型(xing)性能基(ji)本無損的(de)特點。這一算(suan)法(fa)已(yi)經(jing)在工業界廣泛用(yong)于(yu)(yu)大(da)規(gui)模(mo)深度學習(xi)模(mo)型(xing)的(de)訓練(lian)。
本(ben)文中(zhong)(zhong)(zhong)(zhong),我們采用(yong) BMUF 框架并(bing)(bing)行(xing)化 Adam 算(suan)法,并(bing)(bing)在微軟大規(gui)模(mo)(mo) OCR 和(he)語(yu)音產品數據集上進行(xing)了測(ce)試。實驗結果(guo)(guo)表明(ming),在大規(gui)模(mo)(mo) OCR 任(ren)務中(zhong)(zhong)(zhong)(zhong),BMUF-Adam 在多達64機(ji)的并(bing)(bing)行(xing)訓練中(zhong)(zhong)(zhong)(zhong)幾乎實現了線性(xing)加速的同時(shi),基本(ben)沒有模(mo)(mo)型性(xing)能損(sun)失,在32機(ji)大詞匯量連續語(yu)音識別任(ren)務中(zhong)(zhong)(zhong)(zhong)也(ye)獲(huo)得了類似(si)效果(guo)(guo)。
接下(xia)來我們(men)探(tan)討如何采(cai)用 BMUF 框(kuang)架(jia)賦能 Adam 算法,在大規模深(shen)度學習任務上成就不凡(fan)。
在(zai)基于 BMUF 的訓(xun)練(lian)框(kuang)架下,假設我(wo)們總共有 N 個并(bing)行(xing)工(gong)(gong)(gong)作機(ji)(ji),一(yi)個工(gong)(gong)(gong)作機(ji)(ji)可(ke)(ke)以是(shi)一(yi)塊或(huo)多塊 GPU 卡(ka),也可(ke)(ke)以是(shi)一(yi)個計算(suan)節(jie)點。給定一(yi)個包含(han) Nτ 個 minibatch 的訓(xun)練(lian)數據(ju)子集,首(shou)先(xian)我(wo)們將(jiang)這(zhe)(zhe)些數據(ju)均勻(yun)分(fen)布到 N 個并(bing)行(xing)工(gong)(gong)(gong)作機(ji)(ji),每(mei)臺工(gong)(gong)(gong)作機(ji)(ji)獲得 τ 個 minibatch。從一(yi)個共同的初(chu)始模(mo)型(xing)(xing) θ_(t-τ)^((init)) 開(kai)始,N 個工(gong)(gong)(gong)作機(ji)(ji)獨(du)立(li)更(geng)新各(ge)自的局部模(mo)型(xing)(xing) τ 步,得到 {θ_(t,1),θ_(t,2),…,θ_(t,N)},對局部模(mo)型(xing)(xing)取平(ping)均得到 θ ̅_t。這(zhe)(zhe)一(yi)過程稱之為(wei)數據(ju)塊內并(bing)行(xing)優(you)化(Intra-Block Parallel Optimization, IBPO)。與直接將(jiang) θ ̅_t 作為(wei)全(quan)局模(mo)型(xing)(xing)不(bu)同,BMUF 技術將(jiang)歷史更(geng)新信息(xi)與當(dang)前更(geng)新信息(xi)結合,得到全(quan)局模(mo)型(xing)(xing):
機器人公司 機器人應用 智能醫療 物聯網 機器人排名 機器人企業 教育機器人 機器人開發 獨角獸 消毒機器人品牌 消毒機器人 |