06.12 人工智能BAT開源項目現狀!

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

人工智能BAT開源項目現狀!

2016年9月1日的百度世界大會上,百度首席科學家吳恩達宣佈,該公司開發的異構分佈式深度學習系統PaddlePaddle將對外開放。這標誌著國內第一個機器學習開源平臺的誕生。

其實,PaddlePaddle 的開發與應用已經有段時日:它源自於2013年百度深度學習實驗室創建的 “Paddle”。當時的深度學習框架大多隻支持單GPU 運算,對於百度這樣需要對大規模數據進行處理的機構,這顯然遠遠不夠,極大拖慢了研究速度。百度急需一種能夠支持多GPU、多臺機器並行計算的深度學習平臺。而這就導致了 Paddle 的誕生。自2013年以來,Paddle 一直被百度內部的研發工程師們所使用。

而 Paddle 的核心創始人,當年的百度深度學習實驗室研究員徐偉,現在已是 PaddlePaddle 項目的負責人。

人工智能BAT開源項目現狀!

徐偉

對了,從 “Paddle” 到 “PaddlePaddle” 的命名還有一個小插曲:Paddle 是“Parallel Distributed Deep Learning”的縮寫,意為“並行分佈式深度學習”。而去年9月發佈時,吳恩達認為 “PaddlePaddle” (英語意為划船——“讓我們蕩起雙~昂~槳,小船兒推開波浪。。。”)其實更郎朗上口、更好記,於是就有了這麼個可愛的名字。

那麼,PaddlePaddle 有什麼特點?

支持多種深度學習模型 DNN(深度神經網絡)、CNN(卷積神經網絡)、 RNN(遞歸神經網絡),以及 NTM 這樣的複雜記憶模型。

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

支持 Python 和 C++ 語言。

支持分佈式計算。作為它的設計初衷,這使得 PaddlePaddle 能在多 GPU,多臺機器上進行並行計算。

相比現有深度學習框架,PaddlePaddle 對開發者來說有什麼優勢?

首先,是易用性。

相比偏底層的谷歌 TensorFlow,PaddlePaddle 的特點非常明顯:它能讓開發者聚焦於構建深度學習模型的高層部分。項目負責人徐偉介紹:

“在PaddlePaddle的幫助下,深度學習模型的設計如同編寫偽代碼一樣容易,設計師只需關注模型的高層結構,而無需擔心任何瑣碎的底層問題。未來,程序員可以快速應用深度學習模型來解決醫療、金融等實際問題,讓人工智能發揮出最大作用。”

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

其次,是更快的速度。

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

另外,自誕生之日起,它就專注於充分利用 GPU 集群的性能,為分佈式環境的並行計算進行加速。這使得在 PebblePebble 上,用大規模數據進行 AI 訓練和推理可能要比 TensorFlow 這樣的平臺要快很多。

人工智能BAT開源項目現狀!

說到這裡,業內對 PaddlePaddle 怎麼看?

首先不得不提的是 Caffe,許多資深開發者認為 PaddlePaddle 的設計理念與 Caffe 十分相似,懷疑是百度對標 Caffe 開發出的替代品。這有點類似於谷歌 TensorFlow 與 Thano 之間的替代關係。

知乎上,Caffe 的創始人賈楊清對 PaddlePaddle 評價道:

“很高質量的GPU代碼”

“非常好的RNN設計”

“設計很乾淨,沒有太多的 abstracTIon,這一點比 TensorFlow 好很多”

“設計思路有點老”

“整體的設計感覺和 Caffe ‘心有靈犀’,同時解決了Caffe早期設計當中的一些問題”

最後,賈表示 PaddlePaddle 的整體架構功底很深,是下了功夫的。這方面,倒是贏得了開發者的普遍認同。

總結起來,業內對 PaddlePaddle 的總體評價是“設計乾淨、簡潔,穩定,速度較快,顯存佔用較小”。

但是,具有這些優點,不保證 PaddlePaddle 就一定能在群雄割據的機器學習開源世界佔有一席之地。有國外開發者表示, PaddlePaddle 的最大優點是快。但是,比 TensorFlow 快的開源框架其實有很多:比如 MXNet,Nervana System 的 Neon,以及三星的 Veles,它們也都對分佈式計算都很好的支持,但都不如 TensorFlow 普及程度高。這其中有 TensorFlow 龐大用戶基礎的原因,也得益於谷歌自家 AI 系統的加持。

百度的 AI 產品能夠對普及 PaddlePaddle 產生多大的幫助,尚需觀察。我們獲知,它已經應用於百度旗下的多項業務。百度表示:

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

最後,我們來看看對於自家推出的 PaddlePaddle,李彥宏怎麼說:

人工智能BAT開源項目現狀!

“經過了五六年的積累,PaddlePaddle實際上是百度深度學習算法的引擎,把源代碼開放出來,讓同學們、讓社會上所有的年輕人能夠學習,在它的基礎上進行改進,我相信他們會發揮出來他們的創造力,去做到很多我們連想都沒有想過的東西。”

2. 騰訊:面向企業的 “Angel”

人工智能BAT開源項目現狀!

2016,鵝廠在 AI 領域展開一系列大動作:

9 月,成立 AI 實驗室。

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

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

在2017 年一季度,開放 Angel 源代碼。

Angel 將成為 PaddlePaddle 之後、BAT 發佈的第二個重磅開源平臺。那麼,它到底是什麼?

簡單來說,Angel 是面向機器學習的分佈式計算框架,由鵝廠與香港科技大學、北京大學聯合研發。騰訊表示,它為企業級大規模機器學習任務提供解決方案,可與 Caffe、TensorFlow 和 Torch 等業界主流深度學習框架很好地兼容。但就我們所知,它本身並不算是機器學習框架,而側重於數據運算。

上個月18日的發佈會上,騰訊首席數據專家蔣傑表示:

“面對騰訊快速增長的數據挖掘需求,我們希望開發一個面向機器學習的、能應對超大規模數據集的、高性能的計算框架,並且它要對用戶足夠友好,具有很低的使用門檻,就這樣,Angel 平臺應運而生。”

人工智能BAT開源項目現狀!

這其中的關鍵詞,一個是“大”規模數據,另一個是“低”使用門檻。

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

“Angel 採用多種業界最新技術和騰訊自主研發技術,包括 SSP(Stale synchronous Parallel)、異步分佈式SGD、多線程參數共享模式HogWild、網絡帶寬流量調度算法、計算和網絡請求流水化、參數更新索引和訓練數據預處理方案等。這些技術使 Angel 性能大幅提高,達到 Spark 的數倍到數十倍,能在千萬到十億級的特徵維度條件下運行。”

“低”方面,Angel 並沒有採用機器學習領域標配的 Python,而使用企業界程序猿最熟悉的 Java,以及 Scala 。企鵝聲明:“在系統易用性上,Angel 提供豐富的機器學習算法庫及高度抽象的編程接口、數據計算和模型劃分的自動方案及參數自適應配置。同時,用戶能像使用 MR、Spark 一樣在 Angel 上編程,我們還建設了拖拽式的一體化的開發運營門戶,屏蔽底層系統細節,降低用戶使用門檻。”

總的來講,Angel 的定位是對標 Spark 。蔣傑宣稱,它融合了 Spark 和 Petuum 的優點。“以前Spark能跑的,現在Angel快幾十倍;以前Spark跑不了的,Angel也能輕鬆跑出來。”

人工智能BAT開源項目現狀!

其實,Angel 已經是鵝廠的第三代大數據計算平臺。

人工智能BAT開源項目現狀!

第一代是基於 Hadoop 的深度定製版本“TDW”,它的重點是“規模化”(擴展集群規模)。

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

第三代自研平臺 Angel,能處理超大規模數據,重點是“智能化”,專門對機器學習進行了優化。

這三代平臺的演進,從使用第三方開源平臺過渡到自主研發,涵蓋了從數據分析到數據挖掘、從數據並行到模型並行的發展。現在 Angel 已支持 GPU 運算,以及文本、語音、圖像等非結構化數據。自今年初在鵝廠內部上線以來,Angel 已應用於騰訊視頻、騰訊社交廣告及用戶畫像挖掘等精準推薦業務。另外,國內互聯網行業開口閉口就要打造“平臺”、“生態”的風氣,鵝廠也完美繼承:“Angel 不僅僅是一個只做並行計算的平臺,更是一個生態”——這種話雖然不耐聽,但騰訊的大數據野心可見一斑。

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

但對於機器學習社區,Angel 開源的意義是否如同鵝廠宣稱的那樣大?

對此,機器學習界的“網紅”、微軟研究員彭河森說道:

“對於小一點的公司和組織,Spark 甚至MySQL 都已經夠了(為了政治正確我提一下 PostgresQL);而對於大一點真的用得上Angel的企業,如阿里巴巴等,早就自主開發了自己的大數據處理平臺。”

因此,他總結 Angel 的發佈是一個“很尷尬的時間和市場定位”。

人工智能BAT開源項目現狀!

彭河森

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

最後,我們來看看蔣傑對 Angel 開源意義的官方總結:

“機器學習作為人工智能的一個重要類別,正處於發展初期,開源Angel,就是開放騰訊18年來的海量大數據處理經驗和先進技術。我們連接一切連接的資源,激發更多創意,讓這個好平臺逐步轉化成有價值的生態系統,讓企業運營更有效、產品更智能、用戶體驗更好。”

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

人工智能BAT開源項目現狀!

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

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

人工智能BAT開源項目現狀!

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

答案有驚喜也有失望。

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

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

當時,也就是 2015 年的八月,阿里宣佈將為阿里雲客戶提供付費數據挖掘服務 DTPAI。當然,對它的發佈免不了大談特談一通“生態”、“平臺”——宣稱 DTPAI 是“中國第一個人工智能平臺”。格調定得相當高。

它有什麼特點?

首先, DTPAI 將集成阿里巴巴核心算法庫,包括特徵工程、大規模機器學習、深度學習等等。其次,與百度、騰訊一樣,阿里也很重視旗下產品的易用性。阿里 ODPS 和 iDST 產品經理韋嘯表示,DTPAI 支持鼠標拖拽的編程可視化,也支持模型可視化;並且廣泛與MapReduce、Spark、DMLC、R 等開源技術對接。

若僅僅如此,一個阿里雲的付費數據挖據工具還不會出現在這篇文章中。我們真正感興趣的是:阿里表示 DTPAI “未來會提供通用的深度學習框架,它的算法庫將在後期向社會開放”。

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

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

人工智能BAT開源項目現狀!

盤點了 BAT 的開源平臺規劃,再來看一個始於學界的項目。與國外 AI 學界百花齊放的現狀不同,大多數人從未聽說過始於國內學界的機器學習開源項目,這方面幾乎是空白一片——說是“幾乎”,因為有中科院計算所山世光老師帶領開發的人臉識別引擎 SeetaFace 。

山老師是我國 AI 界的學術大牛之一,2016 年下半年已經下海創業,創業後不久就公開了 SeetaFace。山老師的研究團隊表示,開源 SeetaFace 是因為“該領域迄今尚無一套包括所有技術模塊的、完全開源的基準人臉識別系統”。而 SeetaFace 將供學界和工業界免費使用,有望填補這一空白。

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

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


分享到:


相關文章: