當前位置:
首頁 > 科技 > 說說為什麼選擇Paddlepaddle而不是TensorFlow | 深度學習公開課

說說為什麼選擇Paddlepaddle而不是TensorFlow | 深度學習公開課

從深度學習開始流行,到深度學習框架的迭代,到各類實際應用的出現,不過短短几年時間。如今,諸如 TensorFlow、PaddlePaddle等深度學習框架風靡一時,也迭代了許多個版本。作為國際兩大搜索引擎研發的深度學習框架,使用側重點不同,卻同樣提供了優雅簡潔的設計架構,並且還在不斷發展。

為什麼選用 PaddlePaddle而非 TensorFlow,主要是因為在用戶實現上的一些差異性。尤其是針對傳統互聯網引入 AI模塊的集成,可以較輕鬆地和企業分散式架構結合。並且其清晰的設計也可以在研究方面有所助力。

如果你不是 AI行業的「深度學習」者,但是卻想藉助 AI技術幫你實現項目目標,那麼百度的分散式深度學習平台 PaddlePaddle或許是個不錯的選擇。

1

PaddlePaddle和 TensorFlow的使用差異

我們從以下幾個角度來對比下 PaddlePaddle和 TensorFlow在使用體驗上有哪些不同:

演算法封裝程度

PaddlePaddle對自己的定位是 easy to use,因此對很多演算法進行了完整的封裝,不僅針對目前現成的 CV、NLP等演算法 (如 VGG、ResNet、LSTM、GRU等),它在模型庫 models模塊下封裝了詞向量、RNN語言模型、點擊率預估等 N個技術領域人工智慧的通用解決方案。特別是 NLP自然語言處理上有很多現成的應用,比如情感分類,神經機器翻譯,閱讀理解、自動問答等,使用起來相對簡單,並且沒有向用戶暴露過多的 python介面。所以跟適合快速開發和新入門的開發者。

而 TensorFlow相對偏底層,使用 TensorFlow 需要編寫大量的代碼,使用上手困難,更適用於相對偏科研的人群。

文檔友好性

因為 PaddlePadddle 是國內巨頭百度開源的框架,他的本土性不僅非常符合國人的使用習慣,而且非常重視主流互聯網技術的使用場景和解決方法。它的中文文檔相對友好,適合普通開發使用。它的文檔比較注重怎麼用它已經實現好的網路,比較適合需要成熟穩定的模型來處理新數據的情況。

開發效率

PaddlePaddle 上的代碼和設計更加簡潔,占內存小。用它來開發模型顯然能為開發者省去一些時間。加之百度自主研發的深度學習平台 paddle,已經內部使用很多年,成熟穩定,這使得 PaddlePaddle 很適合於工業應用,尤其是需要快速開發的場景。

TensorFlow雖然一直在圍繞著演算法推出各種配套服務。但也許由於 TensorFlow擴張的太快,做優化的人不夠多,導致現在運行效率就算是分散式版本都比其他框架都要慢,而且版本間有時候函數介面經常出現不兼容的現象。

分散式架構

PaddlePaddle和 TensorFlow的分散式部署都做的很好,在活躍度、穩定性上都是一流,並且在代碼質量上也不分伯仲。同時都與 Kubernetes緊密結合。從設計理念和實現思路來看,Paddle EDL和 KubeFlow有非常多的相似之處。從開源的時間來看 ,二者也是同一時段。

但是,PaddlePaddleEDL對 Kubernetes的整合更深入些,比如利用可定製的資源分配方式,和自定義邏輯與 Kubernetes API交互。而 KubeFlow似乎直接使用 Kubernetes一般性的功能。因此,在彈性調度這個功能上,PaddlePaddle採取的是前文討論的 EDL方式,而 KubeFlow現在是 HPA方式。

另外,雖然二者都支持一般的 Kubernetes+docker環境,KubeFlow和 Google在深度學習生態系 統中的其它開源項目一樣,非常推崇在 GCE上布署,深度整合 Google雲服務。而 Paddle EDL並沒有強調布署雲的供應商服務。

支持多種集群方式

PaddlePaddle和 TensorFlow都具備一個特點是其他框架無法匹敵的:他們都支持模型並行和數據並行,就算手頭沒有 GPU也可以跑起來大數據的 DeepLearning。但是,paddlepaddle支持多機多卡訓練,並且本身支持多種集群方式。而 TensorFlow並不支持多機 CPU並行。

總之,相比於 TensorFlow,PaddlePaddle更加本土化,具備易學易用、高效靈活等特點,提供豐富的演算法服務,包括機器視覺、自然語言理解、推薦系統等,為用戶提供了直觀、靈活的數據介面和模型配置介面,支持 CNN、RNN等多種神經網路結構和優化演算法。簡單書寫配置文件即可實現複雜模型,此外,在計算、儲存、通信、架構等方面實現高效優化,有助於充分發揮各種資源的性能,而且全面支持多核、多 GPU、多機環境,能夠輕鬆應對大規模訓練需求。

2

分桃子和分黃瓜的天壤之別

舉一個具體的例子,去年 9月北京工業大學的學生利用百度深度開源框架 PaddlePaddle,為平谷的桃農製造了一台智能桃子分揀機,可以根據桃子的顏色、大小、光亮等諸多特徵,為其實現分揀 。在此之前,日本開發者 Koike用 TensorFlow開發了黃瓜分揀機。 二者看似一樣,實際大有不同。

首先,開發者成本相差很大。

日本開發者在用 TensorFlow進行不同分類的黃瓜圖像錄入時,其用到了 7000張照片,依靠全家成員耗時三個月最終才完成了錄入工作。而北工大 PaddlePaddle的分桃項目這邊,用到了 6400張照片,但是所有數據的採集和標註,只用了一個人不到一天時間完成,相比於 TensorFlow減輕了巨大的工作量。

其次,官方介入的深度不同。

谷歌僅僅對項目做了營銷宣傳,而 PaddlePaddle收到北工大學生髮現的問題反饋後,及時回復以及解決,百度方面更為積極的介入到開發者的開發過程中。

再次,二者開源的目的不同。

谷歌有著廣撒網的基因,旗下擁有至少超過 60個開源項,其更傾向於打造更多的開源項目,以佔領未來市場。 而百度的目的並非面面俱到,而是對開源項目進行更專註的投入,抬高其戰略重要性。 因此,PaddlePaddle更為務實,除了提供基本的框架源碼之外,還提供了整體解決方案,融合機械領域的相關經驗,直接為開發者提供跨行業的解決能力,可以更好的融合,並進一步實現商業化落地。

最後,商業化潛力不同。

由於前三個方面的差異,最終決定了 PaddlePaddle與 TensorFlow的商業潛力差異。TensorFlow由於對開發者支持少,因此,其從開發者到商業落地,時間也自然會更長。而百度的的 PaddlePaddle,由於戰略級較高,並且賦予了更多支持,因此開發者更容易成功,並最終實現更大規模的商業化。

3

PaddlePaddle落地項目現場免費體驗學習

除了本文提到的一些應用場景,PaddlePaddle在深度學習框架方面,還覆蓋了搜索、圖像識別、語音語義識別理解、情感分析、機器翻譯、用戶畫像推薦等多領域的業務和技術,並且在不斷更新和拓展。同時也提供了大量的機會和培訓,供開發者學習和使用指導。

一篇文章所能表達的範圍實在有限,不如現場動與 PaddlePaddle技術專家和使用者切磋一下,手動體驗更真實!

百度 AI 開發者實戰營第二季全新開設「深度學習公開課」,由深度學習專家深入解讀 PaddlePaddle的特性、模型與應用案例,為 AI工程師與希望進入人工智慧領域的資深開發者打造一條快速進階之路。

百度深度學習公開課·深圳站將於 2018年 5月 12日在深圳科興科學園國際會議中心舉行。

活動時間:

5月 12日 9:30-16:00

活動地點:

科興科學園國際會議中心三層

活動地址:

廣東省深圳市南山區科苑路 15號科興科學園 B4單元

活動議程:

09:30-10:00   簽到

10:00-11:00   PaddlePaddle基礎與 EDL/VDL

11:00-12:00   PaddlePaddle Workshop+Q&A

12:00-13:30   午餐、自由交流

13:30-14:20   PaddlePaddle模型:目標檢測 -航拍圖像檢測

14:20-15:10   PaddlePaddle與計算廣告點擊率預估

15:10-15:20   小測試

15:00-15:50   現代人工智慧的新趨勢

15:50-16:00   授予結課證書

深度培訓課程免費報名參與,名額有限,

掃描下方二維碼或者點擊閱讀原文

報名:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

想入門AI?先掌握這些數學知識再說!
左耳朵耗子:從亞馬遜的實踐,談分散式系統的難點

TAG:InfoQ |