英特爾發(fā)布BigDL深度學習框架,欲利用CPU打擊GPU
譯文【51CTO.com快譯】英特爾公司于上周發(fā)布了BigDL項目,一套用于分布式深度學習的開源Spark驅動型框架。考慮到如今各大IT廠商紛紛公布機器學習框架,CPU巨頭當然也沒有理由落后。
但最值得關注的并非英特爾公司這一項目將幫助人們在Spark集群中構建起怎樣的機器學習方案,而是芯片巨頭就此表達出的與GPU抗爭到底的雄心。
巨大野心
BigDL主要面向那些希望利用機器學習處理Spark或Hadoop集群中數(shù)據(jù)的受眾,特別是那些已經(jīng)開始采用Caffe或者Torch庫的用戶。BigDL的深度學習方案與Torch非常類似。利用BigDL,二者創(chuàng)建的模型皆可面向Spark程序進行導入及運行。另外,Spark還允許此類負載實現(xiàn)跨集群向外擴展。
然而與其它機器學習框架使用GPU加速實現(xiàn)流程推動的思路不同,BigDL采用的是英特爾的數(shù)學內核庫(Math Kernel)。其中囊括的數(shù)學函數(shù)針對多線程執(zhí)行與英特爾特定處理器擴展進行了優(yōu)化,且芯片巨頭在其Python發(fā)行版等多個項目中對此加以提及。
英特爾公司宣稱,BigDL中的處理流程“相較于立足單節(jié)點至強(即相較于主流GPU方案)上的現(xiàn)成開源Caffe、Torch或者TensorFlow擁有幾個數(shù)量級的速度優(yōu)勢。”不過,BigDL庫本身并不具備任何具體的基準測試結果來支持這一說法。
如果GPU加速成為機器學習庫中的標準提速選項,為什么英特爾公司沒有默認加入GPU支持能力?乍一看來,這似乎是因為Spark在傳統(tǒng)角度講并不屬于GPU加速型產品。但這樣的理由其實說不通,因為IBM已經(jīng)建立起對應項目,且商用Spark供應商Databricks公司已經(jīng)于去年年底在其服務中添加了對GPU加速型Spark的支持。從理論上講,BigDL完全能夠與GPU加速型Spark進行配合,但英特爾的整體規(guī)劃顯然有所不同。
硬件之爭
英特爾公司一直在憑借著其至強Phi處理器產品線在高端計算市場上與GPU廝殺。英特爾方面以GPU的形式對其至強Phi處理器進行封裝——即采用PCIe附加卡的形式——同時納入了OpoenMP與OpenCL等軟件工具以實現(xiàn)其硬件的并發(fā)與高速處理效果。(英特爾公司還收購了一家名為Nervana的機器學習硬件廠商,且很可能將其產品以PCIe附加卡的形式推出。)
這一切意味著開發(fā)者將擁有更多選擇:在理論上,將現(xiàn)有軟件運行在至強Phi上可實現(xiàn)遠低于將其移植至GPU架構中的代碼修改量。這也意味著運營工作更易于進行,因為由至強Phi附加卡構建的系統(tǒng)可通過簡單進行卡板插入實現(xiàn)升級或者擴展,而不必對整體機架進行更換。
在這方面,BigDL可被視為支持英特爾未來發(fā)展規(guī)劃的重要概念驗證性應用之一。不過行業(yè)的整體勢頭明顯更偏向GPU——雖然大多數(shù)用于GPU加速的軟件必須遵循由另一家硬件供應商制定的客觀標準(英偉達與CUDA)。另外,考慮到Spark及其它庫已經(jīng)開始全面引入GPU加速機制,因此開發(fā)者并不需要付出太多精力就能享受到由此帶來的收益。
英特爾公司雖然能夠利用BigDL這類庫獲得一定競爭優(yōu)勢,但從長遠角度來看,機器學習的歷史車輪仍在朝著以GPU支持為主的方向滾動。
原文標題:Intel's BigDL deep learning framework snubs GPUs for CPUs,原文作者:Serdar Yegulalp
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】