為了提升深度學習效率,IBM開發(fā)出DDL軟件庫
近年來,處理器技術(shù)進入如此大,一個像U盤那么大的設(shè)備現(xiàn)在都可以用于為神經(jīng)網(wǎng)絡(luò)提供能量。但是,企業(yè)通常很難充分發(fā)揮其計算能力,因為實施大規(guī)模人工智能過程中還存在的根本挑戰(zhàn)。
這個問題和可擴展性有關(guān),本周二IBM發(fā)布了一種名為分布式深度學習(Distributed Deep Learning,DDL)的軟件庫來解決這個問題。深度學習是機器學習的一個子集,旨在教計算機以人類相同的方式進行學習。例如,人們不會通過描述這個生物有4條腿、1個鼻子和1條尾巴的事實來識別出這是一只狗。一旦人們知道狗是什么樣子,就會與貓做永久性的區(qū)分。深度學習試圖在軟件中復(fù)制這種方法。
大多數(shù)深度學習的框架都支持跨多個服務(wù)器擴展大型模式的能力,很多現(xiàn)在也支持GPU,但是收集和同步分析結(jié)果的方式還遠遠不夠,IBM研究部門總監(jiān)Hillery Hunter表示。
同步的工作流
深度學習模式運行在計算機集群上,通過GPU進行增強,GPU芯片有數(shù)百萬個分布式和互相關(guān)聯(lián)的處理元素,其作用大致類似于人類大腦中的神經(jīng)元。這些人造神經(jīng)元一起處理信息,就像人類的部分一樣,每個神經(jīng)元都處理一小部分數(shù)據(jù)。當節(jié)點完成計算的時候,結(jié)果將同步在其他神經(jīng)網(wǎng)絡(luò)上,以幫助協(xié)調(diào)工作。
在IBM看來,這就是瓶頸所在。人造神經(jīng)元部署運行在越快的GPU上,完成計算的速度就越快,意味著結(jié)果的同步更加頻繁。由于AI集群的構(gòu)建方式,如果環(huán)境中芯片的數(shù)量增加,同樣適用。但是深度學習框架只能頻繁地同步數(shù)據(jù)。
因此,處理速度收到了數(shù)據(jù)在GPU之間傳輸?shù)南拗?。DDL利用所謂的多層通信算法來改變這一平衡。這個軟件庫修改信息發(fā)送通過的網(wǎng)絡(luò)路徑,以實現(xiàn)延遲和帶寬之間“最優(yōu)化”的平衡,讓通信不再是主要的瓶頸。
創(chuàng)紀錄的性能
在一次內(nèi)部測試中,IBM在一個有數(shù)百個GPU的集群上部署了DDL,并從一個受歡迎的研究數(shù)據(jù)集中發(fā)送處理750萬個圖像,將其分到22000個分類中的一個或者多個。該模型在經(jīng)過7個小時的訓練之后,可準確識別33.8%的對象,打包了之前微軟在經(jīng)過10天訓練之后創(chuàng)下的29.8%的紀錄。
如果4%的改進聽起來不足為奇,而且整體成功率還比較低,這是因為這個模型遠比現(xiàn)實中遇到的更為復(fù)雜,IBM高性能計算及人工智能副總裁Sumit Gupta表示。所以改進是循序漸進的,他指出,微軟此前的紀錄只比上一次改進了0.8%。這個基準測試旨在強調(diào)深度學習軟件,以證明研究人員真正構(gòu)建了更好的模型。
DDL在訓練人工智能開發(fā)的過程中尤其有用,這是整個項目生命中其中占用時間最長的之一。有時候模型需要花費幾周甚至幾個月的時間來處理樣品數(shù)據(jù),才能變得足夠準確用于生產(chǎn)中。IBM稱,在某些情況下IBM的軟件庫可以將這個過程縮短至幾個小時。“如果需要16天時間訓練一個模型如何識別新的信用卡,那么這16天你就是在虧本的。”
深度學習在醫(yī)療場景中也很有用,例如組織分析,長時間的訓練關(guān)于生存或者死亡的問題。此外還有其他好處,如果一個深度學習模型可以在數(shù)小時而不是數(shù)周時間內(nèi)完成訓練,那么就能釋放企業(yè)的人工智能基礎(chǔ)設(shè)施,用于更快地完成其他項目和其他工作。
IBM還另外展示了如何利用DDL實現(xiàn)95%的擴展效率,相比之下Facebook在此前的測試中記錄是89%。這兩個測試都使用了相同的樣本數(shù)據(jù)。
IBM表示,DDL幫助企業(yè)培訓他們的模型,實現(xiàn)此前由于時間限制而無法實現(xiàn)的速度和范圍。它將DDL軟件庫與所有主流深度學習框架相連接,包括TensorFlow、Caffee、Chainer、Torch和Theano,都是在一個開源許可下的。
IBM還將這個軟件庫融入到自己的PowerAI深度學習共計套件平臺中,有免費和付費企業(yè)兩個版本,此外還有在Minbix Minsky Power Cloud上。Gupta表示:“我們將通過PowerAI把它帶給每個人。”