既不是業界首個也非框架,阿里媽媽的XDL到底應該怎麼理解?

深度學習儼然已經是人工智能的代名詞,也是各家巨頭們爭奪的重點領域。自 2015 年開始,包括 Google、百度、Facebook 等巨頭公司先後開源了旗下的深度學習框架,旨在吸引更多開發者,從而搶佔深度學習生態的話語權。

既不是業界首個也非框架,阿里媽媽的XDL到底應該怎麼理解?

上週,阿里巴巴也加入這個賽道。根據媒體的報道,阿里旗下的阿里媽媽正式開源了其深度學習算法框架 X-Deep Learning(下文簡稱為 XDL)。在其官方宣傳語裡,提及了兩個「首次」:阿里巴巴首次公開的深度學習框架以及業界首個面向超大規模高維稀疏數據場景的深度學習開源框架。

前一個「首次」不難理解,這也的確是阿里巴巴的首個深度學習開源項目,而後一個「首次」連同兩個關鍵描述「超大規模高維稀疏數據場景」和「深度學習框架」,多少有些爭議。

<strong>此「首次」非彼「首次」

正如上文所言,各大公司從 2015 年開始陸續開源了自家的深度學習框架。從時間上看,有幾個典型代表,其一,2015 年 11 月, Google 開源了 TensorFlow 深度學習框架,過去三年間,TensorFlow 在開發者社區享有盛譽,已成為最為常用的深度學習框架之一。

其二,2016 年,百度開源了自研的深度學習平臺 PaddlePaddle,也成為國內首個深度學習開源框架。

其三,2017 年初,Facebook 在 Torch 的基礎上,針對 Python 語言發佈了全新的機器學習框架 PyTorch。

如果以這個時間線來看,XDL 的確也無法稱之為國內首個深度學習開源框架。

其次,此次 XDL 特別提到了「超大規模高維稀疏數據」,這裡有必要稍微展開一下。

從定義上看,稀疏數據是指數據庫二維表中含有大量空值的數據,但稀疏數據絕對不是無用數據,只不過是信息不完全的數據。

既不是業界首個也非框架,阿里媽媽的XDL到底應該怎麼理解?

互聯網擁有大量處理稀疏數據的應用場景,比如在線廣告、搜索引擎以及智能推薦等等。作為阿里體系下的大數據處理子公司,阿里媽媽的確擁有這樣的處理需求,但這個項目也絕不是所謂的業界「首次」。

稀疏數據的挑戰也廣泛存在於全球互聯網巨頭之中。比如,在線廣告是 Google、Facebook 的重要收入來源,而搜索業務也是 Google、百度的核心業務,這些公司恰恰也是當下深度學習領域的代表公司,因而也具備應對大規模稀疏數據的能力。

以目前百度重點發力的信息流業務為例,其序列特性更強,也需要更多考慮歷史信息,數據的特徵空間變得更大,參數規模可達到千億甚至萬億,模型大小達到TB 級別。這些超高維度的稀疏數據,給訓練和在線部署都帶來了極大挑戰。

在今年 7 月的百度 AI 開發者大會上,隨著 PaddlePaddle 3.0 的發佈,百度也進一步展示了該框架對於大規模稀疏數據分佈式模型訓練的支持和優化。其新一代核心框架 Fluid 1.1的更新日誌裡明確寫道:「支持千億規模稀疏參數服務器,用於大規模多機異步訓練,適用於推薦、廣告等領域的點擊率預估模型。」

因此,不管是正式發佈時間還是具體應用的時間,XDL 都不具備「首次」的定義,如此這般的宣傳實在有點誤導公眾。

<strong>此「框架」非彼「框架」

更進一步去看,XDL 對於「框架」的自我定位也多少有點問題。

既不是業界首個也非框架,阿里媽媽的XDL到底應該怎麼理解?

深度學習框架的流行,既是因為各家巨頭為了搶奪生態有利地位,也源自深度神經網絡技術特點的必然趨勢,這是因為,神經網絡模型在基本結構單元、訓練模式有很多通用的地方,利用封裝的框架,可以有效減少處理神經模型的錯誤以及時間,能夠大幅提升效率。

不管是 TensorFlow、Pytorch還是 PaddlePaddle,這些深度學習框架都有幾個基本特點,主要包括如下幾點:

  1. 建模能力:框架將神經網絡的定義、計算和迭代訓練抽象化;
  2. 訓練能力:尤其是是否支持並行訓練能力;
  3. 部署能力:尤其在當下邊緣計算熱火朝天的背景下,如何訓練成果部署到設備中,也變得尤為重要。

當然,上述三點還是以比較粗線條的形式勾勒了一個深度學習框架的基本能力,不過值得注意的是,此次發佈 的 XDL 似乎並不能真正滿足上述基本要求。

根據目前公開的資料,XDL 並沒有提及建模能力,這也意味著其<strong>需要依託其他的深度學習框架。其官方介紹也提到,「支持 TensorFlow 與 MxNet 作為其單節點計算後端。這種橋接的架構,使得 XDL 跟業界的開源社區無縫對接。此外,對於已經在使用其它開源框架的企業或者個人用戶,也可以在原有系統基礎上輕鬆進行擴展。」

雖然強調在工業級的大規模分佈式訓練的支持能力,但這也是著力於<strong>如何分佈式運行其他框架

。當然,XDL 在部署上的確有一些自己的想法,這是基於阿里媽媽核心業務所提煉出的算法模型,有一定的參考價值。

但不管怎麼說,<strong>XDL 都更像是某個深度學習框架的一部分,而非真正的框架。

事實上,過去幾年行業的確有類似的嘗試。在國外, Keras 頗受歡迎,其基於 Python,後端接入多個深度學習開源框架 TensorFlow、CNTK和Theano,因此擁有豐富的周邊生態,但它依然只是一個「高級封裝起來的 API」。

在國內,騰訊優圖在去年開源了面向移動端的 NCNN,只包含前向計算,因此無法進行訓練,需要導入其他框架訓練好的模型參數。

今年 8 月,小米也開源了自研的移動端深度學習引擎 MACE(全稱為 Mobile AI Compute Engine),這是一個專門為移動端異構計算平臺優化的神經網絡引擎。支持 TensorFlow 和 Caffe 框架,提供轉換工具,可以將訓練好的模型轉換成專有的模型數據文件。

從這個角度去看,XDL 與 Keras、NCNN、MACE 類似,都是基於某種(或某幾種)深度學習框架,在此基礎上提供更便於調用的算法模型或參數,這些引擎各自也有應用的場景,滿足了科研、開發的不同層次需求,但的確算不上業界所定義的深度學習框架。

<strong>深度學習之路任重道遠

人工智能寄託著人類征服自己的偉大夢想,過去的五六年,深度學習又一次成為工業界、學術界以及媒體關注的焦點,由此也出現了深度學習的炒作熱潮。

但必須看到一個事實,深度學習之路還非常漫長,需要企業、學術以及普通開發者共同努力,更需要從底層技術到算法部署的整體框架。

這對中國的深度學習從業者尤其重要,長期藉助國外深度學習開源平臺,將會嚴重限制我國在人工智能芯片、行業標準、人才培養、應用落地等領域的發展,然而,深度學習平臺卻也不是一天就能建成的,它需要時間、需要人力財力的投入、更需要實戰的檢驗,一如百度 PaddlePaddle「五年磨一劍」後的初露鋒芒。

這當然也是中國互聯網公司的機會,BAT 以及小米等公司也從不同角度切入到深度學習領域。只是,在邁向人工智能的偉大征程裡,我們還是希望這些公司能少一些套路和誤導性的口號,真正做一些有益於中國深度學習開發者的事情。(完)


分享到:


相關文章: