BAT在下一盤大棋?深度盤點機(jī)器學(xué)習(xí)平臺

2015-2016的機(jī)器學(xué)習(xí)平臺開源大潮中,美國是當(dāng)之無愧的引領(lǐng)者:無論是谷歌、亞馬遜、微軟、IBM等互聯(lián)網(wǎng)巨頭,還是美國各大科研院所,為開源世界貢獻(xiàn)了品類繁多的機(jī)器學(xué)習(xí)工具。這其中不乏華人的身影,比如開發(fā)出Caffe的賈楊清。

但在大陸這邊,無論是BAT還是學(xué)界,在開源機(jī)器學(xué)習(xí)項目上始終慢了一拍,令人十分遺憾。這與我國世界最大AI研究者社區(qū)、占據(jù)AI科研領(lǐng)域半壁江山的江湖地位*頗為不符。讓人欣喜的是,2016下半年,百度和騰訊先后發(fā)布了它們的開源平臺戰(zhàn)略。雖然姍姍來遲,但作為下半場入場的選手,它們的開源平臺各自有什么意義?本文中,作為機(jī)器學(xué)習(xí)開源項目盤點的第三彈,我們將與你一起看看包括百度騰訊平臺在內(nèi)的國內(nèi)四大開源項目。

注:據(jù)創(chuàng)新工場人工智能工程院王詠剛副院長統(tǒng)計,我國AI發(fā)文數(shù)與引用文章數(shù)居世界第一,占世界總數(shù)一半以上。

1. 百度:希望獲得開發(fā)者青睞的 “PaddlePaddle”

2016年9月1日的百度世界大會上,百度首席科學(xué)家吳恩達(dá)宣布,該公司開發(fā)的異構(gòu)分布式深度學(xué)習(xí)系統(tǒng)PaddlePaddle將對外開放。這標(biāo)志著國內(nèi)第一個機(jī)器學(xué)習(xí)開源平臺的誕生。

其實,PaddlePaddle 的開發(fā)與應(yīng)用已經(jīng)有段時日:它源自于2013年百度深度學(xué)習(xí)實驗室創(chuàng)建的 “Paddle”.當(dāng)時的深度學(xué)習(xí)框架大多只支持單GPU 運(yùn)算,對于百度這樣需要對大規(guī)模數(shù)據(jù)進(jìn)行處理的機(jī)構(gòu),這顯然遠(yuǎn)遠(yuǎn)不夠,極大拖慢了研究速度。百度急需一種能夠支持多GPU、多臺機(jī)器并行計算的深度學(xué)習(xí)平臺。而這就導(dǎo)致了 Paddle 的誕生。自2013年以來,Paddle 一直被百度內(nèi)部的研發(fā)工程師們所使用。

而 Paddle 的核心創(chuàng)始人,當(dāng)年的百度深度學(xué)習(xí)實驗室研究員徐偉,現(xiàn)在已是 PaddlePaddle 項目的負(fù)責(zé)人。

徐偉

對了,從 “Paddle” 到 “PaddlePaddle” 的命名還有一個小插曲:Paddle 是“Parallel Distributed Deep Learning”的縮寫,意為“并行分布式深度學(xué)習(xí)”.而去年9月發(fā)布時,吳恩達(dá)認(rèn)為 “PaddlePaddle” (英語意為劃船--“讓我們蕩起雙~昂~槳,小船兒推開波浪…”)其實更郎朗上口、更好記,于是就有了這么個可愛的名字。

那么,PaddlePaddle 有什么特點?

支持多種深度學(xué)習(xí)模型 DNN(深度神經(jīng)網(wǎng)絡(luò))、CNN(卷積神經(jīng)網(wǎng)絡(luò))、 RNN(遞歸神經(jīng)網(wǎng)絡(luò)),以及 NTM 這樣的復(fù)雜記憶模型。

基于 Spark,與它的整合程度很高。

支持 Python 和 C++ 語言。

支持分布式計算。作為它的設(shè)計初衷,這使得 PaddlePaddle 能在多 GPU,多臺機(jī)器上進(jìn)行并行計算。

相比現(xiàn)有深度學(xué)習(xí)框架,PaddlePaddle 對開發(fā)者來說有什么優(yōu)勢?

首先,是易用性。

相比偏底層的谷歌 TensorFlow,PaddlePaddle 的特點非常明顯:它能讓開發(fā)者聚焦于構(gòu)建深度學(xué)習(xí)模型的高層部分。項目負(fù)責(zé)人徐偉介紹:

“在PaddlePaddle的幫助下,深度學(xué)習(xí)模型的設(shè)計如同編寫偽代碼一樣容易,設(shè)計師只需關(guān)注模型的高層結(jié)構(gòu),而無需擔(dān)心任何瑣碎的底層問題。未來,程序員可以快速應(yīng)用深度學(xué)習(xí)模型來解決醫(yī)療、金融等實際問題,讓人工智能發(fā)揮出最大作用?!?/p>

拋開底層編碼,使得 TensorFlow 里需要數(shù)行代碼來實現(xiàn)的功能,可能在 PaddlePaddle 里只需要一兩行。徐偉表示,用 PaddlePaddle 編寫的機(jī)器翻譯程序只需要“其他”深度學(xué)習(xí)工具四分之一的代碼。這顯然考慮到該領(lǐng)域廣大的初入門新手,為他們降低開發(fā)機(jī)器學(xué)習(xí)模型的門檻。這帶來的直接好處是,開發(fā)者使用 PaddlePaddle 更容易上手。

其次,是更快的速度。

如上所說,PaddlePaddle 上的代碼更簡潔,用它來開發(fā)模型顯然能為開發(fā)者省去一些時間。這使得 PaddlePaddle 很適合于工業(yè)應(yīng)用,尤其是需要快速開發(fā)的場景。

另外,自誕生之日起,它就專注于充分利用 GPU 集群的性能,為分布式環(huán)境的并行計算進(jìn)行加速。這使得在 PebblePebble 上,用大規(guī)模數(shù)據(jù)進(jìn)行 AI 訓(xùn)練和推理可能要比 TensorFlow 這樣的平臺要快很多。

說到這里,業(yè)內(nèi)對  PaddlePaddle 怎么看?

首先不得不提的是 Caffe,許多資深開發(fā)者認(rèn)為 PaddlePaddle 的設(shè)計理念與 Caffe 十分相似,懷疑是百度對標(biāo) Caffe 開發(fā)出的替代品。這有點類似于谷歌 TensorFlow 與 Thano 之間的替代關(guān)系。

知乎上,Caffe 的創(chuàng)始人賈楊清對 PaddlePaddle 評價道:

“很高質(zhì)量的GPU代碼”

“非常好的RNN設(shè)計”

“設(shè)計很干凈,沒有太多的 abstraction,這一點比 TensorFlow 好很多”

“設(shè)計思路有點老”

“整體的設(shè)計感覺和 Caffe ‘心有靈犀',同時解決了Caffe早期設(shè)計當(dāng)中的一些問題”

最后,賈表示 PaddlePaddle 的整體架構(gòu)功底很深,是下了功夫的。這方面,倒是贏得了開發(fā)者的普遍認(rèn)同。

總結(jié)起來,業(yè)內(nèi)對 PaddlePaddle 的總體評價是“設(shè)計干凈、簡潔,穩(wěn)定,速度較快,顯存占用較小”.

但是,具有這些優(yōu)點,不保證 PaddlePaddle 就一定能在群雄割據(jù)的機(jī)器學(xué)習(xí)開源世界占有一席之地。有國外開發(fā)者表示, PaddlePaddle 的最大優(yōu)點是快。但是,比 TensorFlow 快的開源框架其實有很多:比如 MXNet,Nervana System 的 Neon,以及三星的 Veles,它們也都對分布式計算都很好的支持,但都不如 TensorFlow 普及程度高。這其中有 TensorFlow 龐大用戶基礎(chǔ)的原因,也得益于谷歌自家 AI 系統(tǒng)的加持。

百度的 AI 產(chǎn)品能夠?qū)ζ占?PaddlePaddle 產(chǎn)生多大的幫助,尚需觀察。我們獲知,它已經(jīng)應(yīng)用于百度旗下的多項業(yè)務(wù)。百度表示:

“PaddlePaddle 已在百度30多項主要產(chǎn)品和服務(wù)之中發(fā)揮著巨大的作用,如外賣的預(yù)估出餐時間、預(yù)判網(wǎng)盤故障時間點、精準(zhǔn)推薦用戶所需信息、海量圖像識別分類、字符識別(OCR)、病毒和垃圾信息檢測、機(jī)器翻譯和自動駕駛等領(lǐng)域。”

最后,我們來看看對于自家推出的 PaddlePaddle,李彥宏怎么說:

“經(jīng)過了五六年的積累,PaddlePaddle實際上是百度深度學(xué)習(xí)算法的引擎,把源代碼開放出來,讓同學(xué)們、讓社會上所有的年輕人能夠?qū)W習(xí),在它的基礎(chǔ)上進(jìn)行改進(jìn),我相信他們會發(fā)揮出來他們的創(chuàng)造力,去做到很多我們連想都沒有想過的東西?!?/p>

2. 騰訊:面向企業(yè)的 “Angel”

2016,鵝廠在 AI 領(lǐng)域展開一系列大動作:

9 月,成立 AI 實驗室。

11 月,獲得 Sort Benchmark 大賽的冠軍

12月18日,在騰訊大數(shù)據(jù)技術(shù)峰會暨 KDD China 技術(shù)峰會上對外公開 “Angel” 的存在,并透漏它就是拿下 Sort Benchmark 冠軍背后的天使。

(即將)在2017 年一季度,開放 Angel 源代碼。

Angel 將成為 PaddlePaddle 之后、BAT 發(fā)布的第二個重磅開源平臺。那么,它到底是什么?

簡單來說,Angel 是面向機(jī)器學(xué)習(xí)的分布式計算框架,由鵝廠與香港科技大學(xué)、北京大學(xué)聯(lián)合研發(fā)。騰訊表示,它為企業(yè)級大規(guī)模機(jī)器學(xué)習(xí)任務(wù)提供解決方案,可與 Caffe、TensorFlow 和 Torch 等業(yè)界主流深度學(xué)習(xí)框架很好地兼容。但就我們所知,它本身并不算是機(jī)器學(xué)習(xí)框架,而側(cè)重于數(shù)據(jù)運(yùn)算。

上個月18日的發(fā)布會上,騰訊首席數(shù)據(jù)專家蔣杰表示:

“面對騰訊快速增長的數(shù)據(jù)挖掘需求,我們希望開發(fā)一個面向機(jī)器學(xué)習(xí)的、能應(yīng)對超大規(guī)模數(shù)據(jù)集的、高性能的計算框架,并且它要對用戶足夠友好,具有很低的使用門檻,就這樣,Angel 平臺應(yīng)運(yùn)而生?!?/p>

這其中的關(guān)鍵詞,一個是“大”規(guī)模數(shù)據(jù),另一個是“低”使用門檻。

“大”方面,企鵝表示 Angel 支持十億級別維度的模型訓(xùn)練:

“Angel 采用多種業(yè)界最新技術(shù)和騰訊自主研發(fā)技術(shù),包括 SSP(Stale synchronous Parallel)、異步分布式SGD、多線程參數(shù)共享模式HogWild、網(wǎng)絡(luò)帶寬流量調(diào)度算法、計算和網(wǎng)絡(luò)請求流水化、參數(shù)更新索引和訓(xùn)練數(shù)據(jù)預(yù)處理方案等。這些技術(shù)使 Angel 性能大幅提高,達(dá)到 Spark 的數(shù)倍到數(shù)十倍,能在千萬到十億級的特征維度條件下運(yùn)行。”

“低”方面,Angel 并沒有采用機(jī)器學(xué)習(xí)領(lǐng)域標(biāo)配的 Python,而使用企業(yè)界程序猿最熟悉的 Java,以及 Scala .企鵝聲明:“在系統(tǒng)易用性上,Angel 提供豐富的機(jī)器學(xué)習(xí)算法庫及高度抽象的編程接口、數(shù)據(jù)計算和模型劃分的自動方案及參數(shù)自適應(yīng)配置。同時,用戶能像使用 MR、Spark 一樣在 Angel 上編程,我們還建設(shè)了拖拽式的一體化的開發(fā)運(yùn)營門戶,屏蔽底層系統(tǒng)細(xì)節(jié),降低用戶使用門檻?!?/p>

總的來講,Angel 的定位是對標(biāo) Spark .蔣杰宣稱,它融合了 Spark 和 Petuum 的優(yōu)點?!耙郧癝park能跑的,現(xiàn)在Angel快幾十倍;以前Spark跑不了的,Angel也能輕松跑出來。”

其實,Angel 已經(jīng)是鵝廠的第三代大數(shù)據(jù)計算平臺。

第一代是基于 Hadoop 的深度定制版本“TDW”,它的重點是“規(guī)模化”(擴(kuò)展集群規(guī)模)。

第二代集成了Spark 和 Storm,重點是提高速度,“實時化”.

第三代自研平臺 Angel,能處理超大規(guī)模數(shù)據(jù),重點是“智能化”,專門對機(jī)器學(xué)習(xí)進(jìn)行了優(yōu)化。

這三代平臺的演進(jìn),從使用第三方開源平臺過渡到自主研發(fā),涵蓋了從數(shù)據(jù)分析到數(shù)據(jù)挖掘、從數(shù)據(jù)并行到模型并行的發(fā)展?,F(xiàn)在 Angel 已支持 GPU 運(yùn)算,以及文本、語音、圖像等非結(jié)構(gòu)化數(shù)據(jù)。自今年初在鵝廠內(nèi)部上線以來,Angel 已應(yīng)用于騰訊視頻、騰訊社交廣告及用戶畫像挖掘等精準(zhǔn)推薦業(yè)務(wù)。另外,國內(nèi)互聯(lián)網(wǎng)行業(yè)開口閉口就要打造“平臺”、“生態(tài)”的風(fēng)氣,鵝廠也完美繼承:“Angel 不僅僅是一個只做并行計算的平臺,更是一個生態(tài)”--這種話雖然不耐聽,但騰訊的大數(shù)據(jù)野心可見一斑。

12 月18 日晚,馬化騰在微信朋友圈寫道:“AI與大數(shù)據(jù)將成為未來各領(lǐng)域的標(biāo)配,期待更多業(yè)界同行一起開源攜手互助。”

但對于機(jī)器學(xué)習(xí)社區(qū),Angel 開源的意義是否如同鵝廠宣稱的那樣大?

對此,機(jī)器學(xué)習(xí)界的“網(wǎng)紅”、微軟研究員彭河森說道:

“對于小一點的公司和組織,Spark 甚至MySQL 都已經(jīng)夠了(為了政治正確我提一下 PostgresQL);而對于大一點真的用得上Angel的企業(yè),如阿里巴巴等,早就自主開發(fā)了自己的大數(shù)據(jù)處理平臺?!?/p>

因此,他總結(jié) Angel 的發(fā)布是一個“很尷尬的時間和市場定位”.

彭河森

與百度 PaddlePaddle 相比,Angel 有一個很大的不同:它的服務(wù)對象是有大數(shù)據(jù)處理需求的企業(yè),而不是個人開發(fā)者。可惜的是,由于 Angel 尚未正式開源,大數(shù)據(jù)、機(jī)器學(xué)習(xí)同行們無法對其進(jìn)行一番評頭論足。目前所有的信息都來自于鵝廠的官方宣傳。關(guān)于 Angel 開放源代碼后能在業(yè)界引發(fā)多大反響,請關(guān)注后續(xù)報道。

最后,我們來看看蔣杰對 Angel 開源意義的官方總結(jié):

“機(jī)器學(xué)習(xí)作為人工智能的一個重要類別,正處于發(fā)展初期,開源Angel,就是開放騰訊18年來的海量大數(shù)據(jù)處理經(jīng)驗和先進(jìn)技術(shù)。我們連接一切連接的資源,激發(fā)更多創(chuàng)意,讓這個好平臺逐步轉(zhuǎn)化成有價值的生態(tài)系統(tǒng),讓企業(yè)運(yùn)營更有效、產(chǎn)品更智能、用戶體驗更好。”

3. 阿里巴巴: 猶抱琵牌半遮面的 DTPAI

但凡說到平臺,就不能不提阿里。

與百度比起來,阿里的 AI 戰(zhàn)略布局看上去更“務(wù)實”:主要是依托阿里云計算、貼近淘寶生態(tài)圈的一系列 AI 工具與服務(wù),比如阿里小蜜。而基礎(chǔ)研究起步較晚,相對百度和鵝廠也更低調(diào)。 2016 年阿里 AI 戰(zhàn)略的大事件是 8 月 9 日的云棲大會,馬云親自站臺發(fā)布了人工智能 ET,而它的前身是阿里“小Ai ”.綜合目前信息,阿里想要把 ET 打造成一個多用途 AI 平臺:應(yīng)用于語音、圖像識別,城市計算(交通),企業(yè)云計算,“新制造”,醫(yī)療健康等等領(lǐng)域,讓人不禁聯(lián)想起 IBM Watson.用阿里的話來說,ET 將成為“全局智能”.

但是,在開源項目方面,阿里有什么布局(馬云最喜歡用這樣的詞)?

答案有驚喜也有失望。

好消息是,阿里早在 2015 年就宣布了數(shù)據(jù)挖據(jù)平臺 DTPAI (全稱:Data technology,the Platform of AI,即數(shù)據(jù)技術(shù)-人工智能平臺)。

壞消息是,那之后就沒動靜了。

當(dāng)時,也就是 2015 年的八月,阿里宣布將為阿里云客戶提供付費(fèi)數(shù)據(jù)挖掘服務(wù) DTPAI.當(dāng)然,對它的發(fā)布免不了大談特談一通“生態(tài)”、“平臺”--宣稱 DTPAI 是“中國第一個人工智能平臺”.格調(diào)定得相當(dāng)高。

它有什么特點?

首先, DTPAI 將集成阿里巴巴核心算法庫,包括特征工程、大規(guī)模機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等等。其次,與百度、騰訊一樣,阿里也很重視旗下產(chǎn)品的易用性。阿里 ODPS 和 iDST 產(chǎn)品經(jīng)理韋嘯表示,DTPAI 支持鼠標(biāo)拖拽的編程可視化,也支持模型可視化;并且廣泛與MapReduce、Spark、DMLC、R 等開源技術(shù)對接。

若僅僅如此,一個阿里云的付費(fèi)數(shù)據(jù)挖據(jù)工具還不會出現(xiàn)在這篇文章中。我們真正感興趣的是:阿里表示 DTPAI “未來會提供通用的深度學(xué)習(xí)框架,它的算法庫將在后期向社會開放”.

嗯,有關(guān) DTPAI 的信息到此為止。Seriously,2015 年之后它就再也沒消息了。阿里云是耍猴還是在憋大招? 我們只有走著瞧。

4. 山世光:大陸學(xué)界碩果僅存的 SeetaFace

盤點了 BAT 的開源平臺規(guī)劃,再來看一個始于學(xué)界的項目。與國外 AI 學(xué)界百花齊放的現(xiàn)狀不同,大多數(shù)人從未聽說過始于國內(nèi)學(xué)界的機(jī)器學(xué)習(xí)開源項目,這方面幾乎是空白一片--說是“幾乎”,因為有中科院計算所山世光老師帶領(lǐng)開發(fā)的人臉識別引擎  SeetaFace .

山老師是我國 AI 界的學(xué)術(shù)大牛之一,2016 年下半年已經(jīng)下海創(chuàng)業(yè),創(chuàng)業(yè)后不久就公開了 SeetaFace.山老師的研究團(tuán)隊表示,開源 SeetaFace 是因為“該領(lǐng)域迄今尚無一套包括所有技術(shù)模塊的、完全開源的基準(zhǔn)人臉識別系統(tǒng)”.而 SeetaFace 將供學(xué)界和工業(yè)界免費(fèi)使用,有望填補(bǔ)這一空白。

SeetaFace 基于 C++,不依賴于任何第三方的庫函數(shù)。作為一套全自動人臉識別系統(tǒng),它集成了三個核心模塊,即:人臉檢測模塊(SeetaFace Detection)、面部特征點定位模塊(SeetaFace Alignment)以及人臉特征提取與比對模塊 (SeetaFace Identification)。

該系統(tǒng)用單個英特爾 i7 CPU 就可運(yùn)行,成功降低了人臉識別的硬件門檻。它的開源,有望幫助大量有人臉識別任務(wù)需求的公司與實驗室,在它們的產(chǎn)品服務(wù)中接入 SeetaFace,大幅減少開發(fā)成本。

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2017-01-06
BAT在下一盤大棋?深度盤點機(jī)器學(xué)習(xí)平臺
2015-2016的機(jī)器學(xué)習(xí)平臺開源大潮中,美國是當(dāng)之無愧的引領(lǐng)者:無論是谷歌、亞馬遜、微軟、IBM等互聯(lián)網(wǎng)巨頭,還是美國各大科研院所,為開源世界貢獻(xiàn)了品類繁多的機(jī)器學(xué)習(xí)工具。這其中不乏華人的身影,比如開發(fā)出Caffe的賈楊清。

長按掃碼 閱讀全文