2016 年 9 月 1 日的百度世界大會上,百度首席科學家吳恩達宣布,該公司開發的異構分布式深度學習系統 PaddlePaddle 將對外開放。這標志着國內第一個機器學習開源平台的誕生。
其實,PaddlePaddle平台 的開發與應用已經有段時日:它源自於 2013 年百度深度學習實驗室創建的 “Paddle”。當時的深度學習框架大多只支持單 GPU 運算,對於百度這樣需要對大規模數據進行處理的機構,這顯然遠遠不夠,極大拖慢了研究速度。百度急需一種能夠支持多 GPU、多台機器並行計算的深度學習平台。而這就導致了 Paddle 的誕生。自 2013 年以來,Paddle 一直被百度內部的研發工程師們所使用。
PaddlePaddle 項目的負責人--徐偉
而 Paddle 的核心創始人,當年的百度深度學習實驗室研究員徐偉,現在已經是 PaddlePaddle 項目的負責人。
從 “Paddle” 到 “PaddlePaddle” 的命名還有一個小插曲:Paddle 是“Parallel Distributed Deep Learning”的縮寫,意為“並行分布式深度學習”。而在2016年 9 月發布時,吳恩達認為 “PaddlePaddle” (英語意為划船——“讓我們盪起雙~昂~槳,小船兒推開波浪。。。”)其實更朗朗上口、更好記,於是就有了這么個可愛的名字。
那么,PaddlePaddle 有什么特點?
- 支持多種深度學習模型 DNN(深度神經網絡)、CNN(卷積神經網絡)、 RNN(遞歸神經網絡),以及 NTM 這樣的復雜記憶模型。
- 基於 Spark,與它的整合程度很高。
- 支持 Python 和 C++ 語言。
- 支持分布式計算。作為它的設計初衷,這使得 PaddlePaddle 能在多 GPU,多台機器上進行並行計算。
相比現有各種熱門的深度學習框架,PaddlePaddle 對開發者來說有什么優勢呢?
1.首先,是易用性。
相比偏底層的谷歌 TensorFlow,PaddlePaddle 的特點非常明顯:它能讓開發者聚焦於構建深度學習模型的高層部分。
由於 PaddlePaddle 的定位是易於使用,因而相對 TensorFlow,PaddlePaddle 也更為易用,提供的每個任務都可迅速上手,且大部分任務可直接套用,只需使用現成的算法 (VGG、ResNet、LSTM、GRU 等等),按照示例執行命令,替換數據、修改參數就能執行。
“在 PaddlePaddle 的幫助下,深度學習模型的設計如同編寫偽代碼一樣容易,設計師只需關注模型的高層結構,而無需擔心任何瑣碎的底層問題。未來,程序員可以快速應用深度學習模型來解決醫療、金融等實際問題,讓人工智能發揮出最大作用。”徐偉說到。拋開底層編碼,使得 TensorFlow 里需要數行代碼來實現的功能,可能在 PaddlePaddle 里只需要一兩行。徐偉表示,用 PaddlePaddle 編寫的機器翻譯程序只需要“其他”深度學習工具四分之一的代碼。
2.其次,是更快的速度。
如上所說,PaddlePaddle 上的代碼更簡潔,用它來開發模型顯然能為開發者省去一些時間。這使得 PaddlePaddle 很適合於工業應用,尤其是需要快速開發的場景。
另外,自誕生之日起,它就專注於充分利用 GPU 集群的性能,為分布式環境的並行計算進行加速。這使得在 PeddlePeddle 上,用大規模數據進行 AI 訓練和推理可能要比 TensorFlow 這樣的平台要快很多。
2018-01-29 於北京