圖片來源:視覺中國
文|趙賽坡
深度學習儼然已經(jīng)是人工智能的代名詞,也是各家巨頭們爭奪的重點領(lǐng)域。自 2015 年開始,包括 Google、百度、Facebook 等巨頭公司先后開源了旗下的深度學習框架,旨在吸引更多開發(fā)者,從而搶占深度學習生態(tài)的話語權(quán)。
上周,阿里巴巴也加入這個賽道。根據(jù)媒體的報道,阿里旗下的阿里媽媽正式開源了其深度學習算法框架 X-Deep Learning(下文簡稱為 XDL)。在其官方宣傳語里,提及了兩個「首次」:阿里巴巴首次公開的深度學習框架以及業(yè)界首個面向超大規(guī)模高維稀疏數(shù)據(jù)場景的深度學習開源框架。
前一個「首次」不難理解,這也的確是阿里巴巴的首個深度學習開源項目,而后一個「首次」連同兩個關(guān)鍵描述「超大規(guī)模高維稀疏數(shù)據(jù)場景」和「深度學習框架」,多少有些爭議。
正如上文所言,各大公司從 2015 年開始陸續(xù)開源了自家的深度學習框架。從時間上看,有幾個典型代表,其一,2015 年 11 月, Google 開源了 TensorFlow 深度學習框架,過去三年間,TensorFlow 在開發(fā)者社區(qū)享有盛譽,已成為最為常用的深度學習框架之一。
其二,2016 年,百度開源了自研的深度學習平臺 PaddlePaddle,也成為國內(nèi)首個深度學習開源框架。
其三,2017 年初,F(xiàn)acebook 在 Torch 的基礎(chǔ)上,針對 Python 語言發(fā)布了全新的機器學習框架 PyTorch。
如果以這個時間線來看,XDL 的確也無法稱之為國內(nèi)首個深度學習開源框架。
其次,此次 XDL 特別提到了「超大規(guī)模高維稀疏數(shù)據(jù)」,這里有必要稍微展開一下。
從定義上看,稀疏數(shù)據(jù)是指數(shù)據(jù)庫二維表中含有大量空值的數(shù)據(jù),但稀疏數(shù)據(jù)絕對不是無用數(shù)據(jù),只不過是信息不完全的數(shù)據(jù)。
互聯(lián)網(wǎng)擁有大量處理稀疏數(shù)據(jù)的應(yīng)用場景,比如在線廣告、搜索引擎以及智能推薦等等。作為阿里體系下的大數(shù)據(jù)處理子公司,阿里媽媽的確擁有這樣的處理需求,但這個項目也絕不是所謂的業(yè)界「首次」。
稀疏數(shù)據(jù)的挑戰(zhàn)也廣泛存在于全球互聯(lián)網(wǎng)巨頭之中。比如,在線廣告是 Google、Facebook 的重要收入來源,而搜索業(yè)務(wù)也是 Google、百度的核心業(yè)務(wù),這些公司恰恰也是當下深度學習領(lǐng)域的代表公司,因而也具備應(yīng)對大規(guī)模稀疏數(shù)據(jù)的能力。
以目前百度重點發(fā)力的信息流業(yè)務(wù)為例,其序列特性更強,也需要更多考慮歷史信息,數(shù)據(jù)的特征空間變得更大,參數(shù)規(guī)??蛇_到千億甚至萬億,模型大小達到TB 級別。這些超高維度的稀疏數(shù)據(jù),給訓練和在線部署都帶來了極大挑戰(zhàn)。
在今年 7 月的百度 AI 開發(fā)者大會上,隨著 PaddlePaddle 3.0 的發(fā)布,百度也進一步展示了該框架對于大規(guī)模稀疏數(shù)據(jù)分布式模型訓練的支持和優(yōu)化。其新一代核心框架 Fluid 1.1的更新日志里明確寫道:「支持千億規(guī)模稀疏參數(shù)服務(wù)器,用于大規(guī)模多機異步訓練,適用于推薦、廣告等領(lǐng)域的點擊率預估模型。」
因此,不管是正式發(fā)布時間還是具體應(yīng)用的時間,XDL 都不具備「首次」的定義,如此這般的宣傳實在有點誤導公眾。
更進一步去看,XDL 對于「框架」的自我定位也多少有點問題。
深度學習框架的流行,既是因為各家巨頭為了搶奪生態(tài)有利地位,也源自深度神經(jīng)網(wǎng)絡(luò)技術(shù)特點的必然趨勢,這是因為,神經(jīng)網(wǎng)絡(luò)模型在基本結(jié)構(gòu)單元、訓練模式有很多通用的地方,利用封裝的框架,可以有效減少處理神經(jīng)模型的錯誤以及時間,能夠大幅提升效率。
不管是 TensorFlow、Pytorch還是 PaddlePaddle,這些深度學習框架都有幾個基本特點,主要包括如下幾點:
當然,上述三點還是以比較粗線條的形式勾勒了一個深度學習框架的基本能力,不過值得注意的是,此次發(fā)布 的 XDL 似乎并不能真正滿足上述基本要求。
根據(jù)目前公開的資料,XDL 并沒有提及建模能力,這也意味著其需要依托其他的深度學習框架。其官方介紹也提到,「支持 TensorFlow 與 MxNet 作為其單節(jié)點計算后端。這種橋接的架構(gòu),使得 XDL 跟業(yè)界的開源社區(qū)無縫對接。此外,對于已經(jīng)在使用其它開源框架的企業(yè)或者個人用戶,也可以在原有系統(tǒng)基礎(chǔ)上輕松進行擴展?!?/p>
雖然強調(diào)在工業(yè)級的大規(guī)模分布式訓練的支持能力,但這也是著力于如何分布式運行其他框架。當然,XDL 在部署上的確有一些自己的想法,這是基于阿里媽媽核心業(yè)務(wù)所提煉出的算法模型,有一定的參考價值。
但不管怎么說,XDL 都更像是某個深度學習框架的一部分,而非真正的框架。
事實上,過去幾年行業(yè)的確有類似的嘗試。在國外, Keras 頗受歡迎,其基于 Python,后端接入多個深度學習開源框架 TensorFlow、CNTK和Theano,因此擁有豐富的周邊生態(tài),但它依然只是一個「高級封裝起來的 API」。
在國內(nèi),騰訊優(yōu)圖在去年開源了面向移動端的 NCNN,只包含前向計算,因此無法進行訓練,需要導入其他框架訓練好的模型參數(shù)。
今年 8 月,小米也開源了自研的移動端深度學習引擎 MACE(全稱為 Mobile AI Compute Engine),這是一個專門為移動端異構(gòu)計算平臺優(yōu)化的神經(jīng)網(wǎng)絡(luò)引擎。支持 TensorFlow 和 Caffe 框架,提供轉(zhuǎn)換工具,可以將訓練好的模型轉(zhuǎn)換成專有的模型數(shù)據(jù)文件。
從這個角度去看,XDL 與 Keras、NCNN、MACE 類似,都是基于某種(或某幾種)深度學習框架,在此基礎(chǔ)上提供更便于調(diào)用的算法模型或參數(shù),這些引擎各自也有應(yīng)用的場景,滿足了科研、開發(fā)的不同層次需求,但的確算不上業(yè)界所定義的深度學習框架。
人工智能寄托著人類征服自己的偉大夢想,過去的五六年,深度學習又一次成為工業(yè)界、學術(shù)界以及媒體關(guān)注的焦點,由此也出現(xiàn)了深度學習的炒作熱潮。
但必須看到一個事實,深度學習之路還非常漫長,需要企業(yè)、學術(shù)以及普通開發(fā)者共同努力,更需要從底層技術(shù)到算法部署的整體框架。
這對中國的深度學習從業(yè)者尤其重要,長期借助國外深度學習開源平臺,將會嚴重限制我國在人工智能芯片、行業(yè)標準、人才培養(yǎng)、應(yīng)用落地等領(lǐng)域的發(fā)展,然而,深度學習平臺卻也不是一天就能建成的,它需要時間、需要人力財力的投入、更需要實戰(zhàn)的檢驗,一如百度 PaddlePaddle「五年磨一劍」后的初露鋒芒。
這當然也是中國互聯(lián)網(wǎng)公司的機會,BAT 以及小米等公司也從不同角度切入到深度學習領(lǐng)域。只是,在邁向人工智能的偉大征程里,我們還是希望這些公司能少一些套路和誤導性的口號,真正做一些有益于中國深度學習開發(fā)者的事情。
快報
根據(jù)《網(wǎng)絡(luò)安全法》實名制要求,請綁定手機號后發(fā)表評論