Intel、斯坦福大學(xué)和美國(guó)國(guó)家能源研究科學(xué)計(jì)算中心(NERSC,National Energy Research Scientific Computing Center)近期宣布實(shí)現(xiàn)了首個(gè)15千萬(wàn)億次浮點(diǎn)運(yùn)算(PetaFLOPS)計(jì)算能力的超級(jí)計(jì)算集群。該工作成果以論文發(fā)表,名為“以15千萬(wàn)億次FLOPS運(yùn)行深度學(xué)習(xí):科學(xué)數(shù)據(jù)的監(jiān)督和半監(jiān)督分類”(Deep Learning at 15PF: Supervised and Semi-Supervised Classification for Scientific Data)。據(jù)論文介紹,該工作使用由9622個(gè)1.4GHz Intel至強(qiáng)融核(Phi)處理器所組成的集群,以物理和氣象數(shù)據(jù)集為訓(xùn)練數(shù)據(jù)做深度學(xué)習(xí)運(yùn)算,達(dá)到了11.41至13.47千萬(wàn)億次FLOPS的平均持久性能,峰值性能在采用單精度時(shí)達(dá)15.07千萬(wàn)億次FLOPS。實(shí)驗(yàn)使用的是NERSC的Cori Phase-II 超級(jí)計(jì)算集群,該集群有9668個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有68核,每個(gè)核支持4個(gè)硬件線程(相當(dāng)于每個(gè)節(jié)點(diǎn)272核),整個(gè)集群支持2,629,696個(gè)線程。
論文給出的最突出貢獻(xiàn)是達(dá)到了75%的擴(kuò)展因子,在具有9600個(gè)節(jié)點(diǎn)的集群上取得了7205倍的加速。完全擴(kuò)展(即100%擴(kuò)展,或線性擴(kuò)展)時(shí)可達(dá)9600倍的加速。
這一結(jié)果的取得要部分歸功于斯坦福大學(xué)計(jì)算機(jī)科學(xué)系Christopher Ré教授研究小組的工作。該研究小組的工作提出了對(duì)人工神經(jīng)網(wǎng)絡(luò)(ANN,Artificial Neural Network)參數(shù)同步更新和異步更新的支持。
同步屏障(Synchronisation Barrier)通常是機(jī)器學(xué)習(xí)等算法在并行化時(shí)所面對(duì)的一個(gè)嚴(yán)重障礙。當(dāng)多個(gè)節(jié)點(diǎn)同步地計(jì)算一個(gè)任務(wù)時(shí),任一節(jié)點(diǎn)的短暫掛機(jī)將延緩并阻塞所有計(jì)算中的節(jié)點(diǎn)。這在分布式系統(tǒng)中被為“拖后者(Straggler)效應(yīng)”。困擾同步系統(tǒng)的另一個(gè)問題是,如果批處理的計(jì)算規(guī)模下降,那么同步系統(tǒng)的性能也會(huì)隨之下降。在大規(guī)模并發(fā)集群中,正如上面所介紹的集群,這將構(gòu)成嚴(yán)重的問題。百度提供的DeepBench基準(zhǔn)測(cè)試框架表明,當(dāng)批處理的規(guī)模下降時(shí),峰值FLOPS性能可下降25~30%。整體性能下降的時(shí)間復(fù)雜度符合O(log(M)),其中M是集群中節(jié)點(diǎn)個(gè)數(shù)。
另一方面,異步深度學(xué)習(xí)系統(tǒng)需要更多次的迭代(因此也需要更多的計(jì)算)才能收斂到一個(gè)解。這是由于不好的統(tǒng)計(jì)效率所導(dǎo)致的,該問題被稱為“過時(shí)”(Staleness)問題。此外,異步系統(tǒng)還具有無(wú)法收斂到一個(gè)解的風(fēng)險(xiǎn)。針對(duì)該問題,Christopher Ré研究小組的Ioannis Mitliagkas指出,在目標(biāo)函數(shù)是正確的情況下,如果參數(shù)調(diào)優(yōu)存在錯(cuò)誤,很可能無(wú)法收斂。
兩種模型各具缺點(diǎn)和高效之處,這啟發(fā)研究人員引入了一種混合方法解決問題。在該方法中,數(shù)個(gè)節(jié)點(diǎn)組成一個(gè)小規(guī)模的計(jì)算組,同一計(jì)算組中的各個(gè)節(jié)點(diǎn)是同步工作的,目標(biāo)是對(duì)模型做一次更新。各個(gè)計(jì)算組與一個(gè)中心化的參數(shù)服務(wù)器做異步交互,很好地利用了同步方式和異步方式。
該混合方法抑制了“拖后者效應(yīng)”。相比于同步方式,它提供了至少1.66倍到最高10倍的速度增加。此外,采用該方法的系統(tǒng)表現(xiàn)出強(qiáng)可擴(kuò)展性(strong scaling)的特性,可擴(kuò)展到1024個(gè)節(jié)點(diǎn),其中同步方式在512個(gè)節(jié)點(diǎn)的規(guī)模停止擴(kuò)展。強(qiáng)可擴(kuò)展性是指在保持問題規(guī)模一定的情況下增加處理器的數(shù)量,Mitliagkas指出,強(qiáng)可擴(kuò)展性是機(jī)器學(xué)習(xí)問題中的常見用例。
該算法已進(jìn)一步用于解決實(shí)際的科學(xué)問題。一個(gè)應(yīng)用就是學(xué)習(xí)如何從背景事件中分離出罕見的新粒子信號(hào),該應(yīng)用可用于理解宇宙的本質(zhì)。其它的應(yīng)用還包括氣象數(shù)據(jù)中的特性識(shí)別,這使得研究人員可以標(biāo)定氣候改變中發(fā)生極端氣候的頻率和強(qiáng)度。
查看英文原文: NERSC Scales Scientific Deep Learning to 15 Petaflops