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