如何評價邢波(Eric Xing)老師實驗室開發的深度學習平台 Poseidon?

Poseidon是邢老師實驗室開發的機器學習框架Petuum下的獨立出來的子框架,專註於深度學習。有如下兩個疑問:

(1).在知乎一問中 如何評價Eric Xing實驗室做的Petuum分散式機器學習平台? - 數據挖掘,Petuum團隊的成員@謝澎濤 已經回答了 Petuum已經實現了多卡的模型並行,既然 Poseidon是繼承於Petuum的 ,那麼請問Poseidon是否也已經實現了多卡的模型並行?

(2)在看[3]一文中,對於文中的充分因子(SF)的求法不是很理解,還望前輩指點指點.

小輩是DL領域的小白菜,希望前輩指點指點。

[1].Petuum官網:http://petuum.github.io/index.html

[2].Poseidon的github:https://github.com/petuum/poseidon

[3].Poseidon論文:http://arxiv.org/abs/1512.06216

Poseidon: A System Architecture for Efficient GPU-based Deep Learning on Multiple Machines


我是Hao Zhang, Poseidon的開發者之一。

先回答題主的兩個具體問題,再對Poseidon系統做一個簡單介紹。

(1)Petuum支持多種機器學習演算法的數據並行(基於Bosen的data parallelism)和模型並行(基於Strads的model parallelism),Poseidon的分散式框架是基於Bosen parameter server搭建的,所以目前的版本僅支持數據並行;

(2)SFB (Sufficient Factor Broadcasting)是我們組提出的基於P2P的大規模機器學習通信範式,相比較於中心化的parameter server通信,SFB有自己的優勢也有自己的劣勢。我們在搭建Poseidon的過程中,為了減少參數通信消耗,設計了SACP (Structura-aware communication protocol)演算法。這個通信演算法利用了神經網路的一些模型性質,從PS和SFB中選取最有利的通信方式,取兩者之所長並避兩者之所短。同時SFB本身是一個非常靈活的通信範式,支持BSP,ASP和SSP一致性模型。如果想對SFB有更多的了解,建議參考這篇論文:http://arxiv.org/pdf/1409.5705v2.pdf

下面我給Poseidon深度學習系統做一個簡單的介紹。

相比較於Caffe,Torch, Theano, MxNet, 我們與其說Poseidon是一個深度學習框架,不如說它是一個系統架構。Poseidon的設計理念是從分散式系統出發,為所有的深度學習框架提供分散式支持,因此Poseidon可以為任何單機下的基於CPU或GPU的深度學習框架提供並行支持(比如Tensorflow),從而很好的保持了原有的用戶群生態系統,從用戶的角度來看,省時省力。

Poseidon的分散式層來源於Petuum的通用分散式機器學習框架Bosen,然而為了能更加有效的利用顯卡計算、神經網路特性來加速深度學習,並為commodity cluster(如配置中等的商用集群,無infiband乙太網) 提供更好的支持,我們在Bosen的基礎上更進一步的搭建了:

(1)三層的分散式框架。這個三層式結構能夠讓Poseidon支持各種複雜的集群配置,比如單機多卡,多機單卡抑或是多機多卡。同時這個結構混合了基於client-server的中心化通信和基於P2P的去中心化通信,以便最大限度的減少通信消耗;

(2)分散式環境下對後向傳播演算法的重調度。這一重調度利用了近期較為流行的神經網路結構的參數分布和計算分布(如VGGNet, AlexNet),能夠極大限度的使計算時間和通信時間重疊, 從而增加GPU使用率;

(3)如前所述,一個能夠基於神經網路特性、集群結構自動調整通信方法的通信協議。這個通信協議利用了神經網路全連接層的梯度矩陣秩為1的特性,從PS和SFB中選擇最優的通信方式以最大限度的減少通信消耗。

總結,Poseidon於2015年6月發布,屬於第一批支持GPU集群的分散式深度學習框架(發布時間早於MXNet, CNTK, TensorFlow, SparkNet, YahooCaffe等), 同時Poseidon在幾個公共的benchmark上的取得了不錯的效果,與類似的分散式框架相比,其Scalibility甚至超過晚半年發布的SparkNet和YahooCaffe。Poseidon最致力解決的問題是盡量減少通信消耗,從而能夠在non-infiband的商用集群下為分散式GPU深度學習提供廣泛支持。目前我們發布的Poseidon版本的單機深度學習框架基於Caffe,在設計時我們盡量保存了Caffe的所有介面,便於Caffe用戶使用。Poseidon的系統靈活性也使它能夠為任何其他深度學習框架提供分散式支持。

最後抖個機靈,Poseidon的名字是邢老師想出來的,源於海神波塞冬:因為我們希望我們的系統能夠讓幫助深度學習研究者讓其更深...更廣..更大...


推薦閱讀:

wasserstein 距離的問題?
圖森科技的演算法實習生和地平線的人工智慧演算法實習生如何選擇?
如何評價文章「谷歌太可怕?專家:中國智能晶元引領世界」?
如何評價九言科技推出的DL inference SDK In-Prestissimo(絕影)?
如何評價重磅論文《Stopping GAN Violence》?

TAG:深度學習DeepLearning |