Categories
程式開發

深度學習框架SINGA升級為Apache頂級項目


Apache軟件基金會(ASF)最近宣布,分佈式深度學習框架SINGA升級為頂級項目(TLP,top-level project)。這表明了SINGA項目所達到的成熟度和穩定性。 SINGA已經得到了銀行、醫療健康等多行業中企業的應用。

SINGA最早由新加坡國立大學研究人員開發,並於2015年三月 進入ASF孵化器。 SINGA提供了一種在機器集群中分佈式訓練深度學習模型的計算框架,降低了模型訓練所需的時間。 SINGA不僅僅是一種學術研究平台,而且已在花旗集團、世邦魏理仕等多家企業得到了商業應用,並在健康醫療行業得到多處應用,例如為糖尿病前期患者提供幫助的應用

深度學習模型所取得的成功,是由大規模數據集的使用所驅動的。例如包括成千上萬圖像的ImageNet、具有上百萬參數的複雜模型等。谷歌的自然語言模型BERT具有近3億個參數,是在近30億個單詞上訓練得到的。但是,完成這種訓練通常需要數個小時,甚至數天時間。為加速訓練過程,研究人員引入了並行處理技術,將計算任務分佈到計算集群的多台設備上。 SINGA研究團隊負責人黃銘鈞教授指出:

深度學習必須擴展到分佈式計算,因為…深度學習模型通常規模巨大,並需要在大型數據集上訓練。如果使用單個GPU,通常需要數百天時間。

分佈式深度學習有兩種並行策略。一種是數據並行,即多台機器分別處理不同的輸入數據子集;另一種是模型並行,即多台機器分別訓練神經網絡模型的不同部分。 SINGA同時支持上述兩種策略,也支持兩種策略的組合使用。為協調集群機器間的工作,並行策略將引入額外的通信和同步開銷。 SINGA實現了多種優化技術,力圖降低上述開銷。

SINGA升級為TLP項目,表明該項目已經通過了包括軟件質量和社區等在內的多個里程碑 。理論上看,成為TLP項目將會得到更多解決方案的考慮。但採納該軟件的一個可能障礙,就是SINGA設計人員選擇了實現自身的API,並未基於Kera等現有API去建模神經網絡。與之不同,Uber開源的Horovod計算框架支持開發人員導出現有模型到目前廣為使用的兩個深度學習框架,即TensorFlowPyTorch。尤其是PyTorch,近期得到大量研究論文採用。

ASF還支持了多個頂級分佈式機器學習數據處理項目,例如SparkIgnite。 SINGA的獨特之處在於,它是專門針對大規模神經學習模型而設計的。同時,ASF也是另一個深度學習框架MXNet的孵化器。和TensorFlow和PyTorch一樣,MXNet依然在孵化器階段。儘管AWS在2016下半年就內定其深度學習框架為MXNet,但是MXNet依然並未得到廣泛使用。據KDNugget調查顯示,MXNet的使用率僅在不高於2%左右波動

Apache SINGA 2.0版於2019年四月發布,源代碼SINGA Jira項目的可追踪問題列表提供在GitHub上。據ASF介紹,SINGA即將推出的特性包括“實現5G邊緣設備上深度學習的SINGA-lite,以及易於非深度AI背景領域專家開展AI計算的SINGA-easy”。

原文鏈接:

Deep-Learning Framework SINGA Graduates to Top-Level Apache Project