BAT機器學習開源平臺:PaddlePaddle,Angel,DTPAI

BAT 在下一盤大棋?深度盤點國內四大機器學習開源平臺

  2015-2016 的機器學習平臺開源大潮中,美國是當之無愧的引領者:無論是谷歌、亞馬遜、微軟、IBM 等互聯網巨頭,還是美國各大科研院所,爲開源世界貢獻了品類繁多的機器學習工具。這其中不乏華人的身影,比如開發出 Caffe 的賈楊清。

  但在大陸這邊,無論是 BAT 還是學界,在開源機器學習項目上始終慢了一拍,令人十分遺憾。這與我國世界最大 AI 研究者社區、佔據 AI 科研領域半壁江山的江湖地位*頗爲不符。讓人欣喜的是,2016 下半年,百度和騰訊先後發佈了它們的開源平臺戰略。雖然姍姍來遲,但作爲下半場入場的選手,它們的開源平臺各自有什麼意義?本文中,作爲機器學習開源項目盤點的第三彈,雷鋒網將與你一起看看包括百度騰訊平臺在內的國內四大開源項目。

  *注:據創新工場人工智能工程院王詠剛副院長統計,我國 AI 發文數與引用文章數居世界第一,佔世界總數一半以上。

  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 評價道:

  1. "很高質量的 GPU 代碼"

  2. "非常好的 RNN 設計"

  3. "設計很乾淨,沒有太多的 abstraction,這一點比 TensorFlow 好很多"

  4. "設計思路有點老"

  5. "整體的設計感覺和 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 在下一盤大棋?深度盤點國內四大機器學習開源平臺

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

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

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

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

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

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

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

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

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

BAT 在下一盤大棋?深度盤點國內四大機器學習開源平臺

彭河森

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

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

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

  更多信息請看雷鋒網整理的騰訊 Angel 發佈會實錄:騰訊大數據宣佈開源第三代高性能計算平臺 Angel 

  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,大幅減少開發成本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章