深度學習在很多機器學習領域均有非常出色的表現,在圖像識別、語音識別、自然語言處理、機器人、網絡廣告投放、醫學自動診斷和金融等各大領域有着廣泛的應用。面對繁多的應用場景,深度學習框架可以節省大量而繁瑣的外圍工作,使建模者關注業務場景和模型設計本身。
使用深度學習框架完成建模任務有兩個顯著優勢。
- 節省大量編寫底層代碼的精力:屏蔽底層實現,用戶只需關注模型的邏輯結構,降低了深度學習入門門檻。
- 省去了部署和適配環境的煩惱:飛槳框架具備靈活的移植性,可將代碼部署到CPU/GPU/移動端上,選擇具有分布式性能的深度學習工具會使模型訓練更高效,預測端也針對大量的硬件進行了適配和優化工作。
在實現建模的過程中,每一步所需要完成的任務均可以拆分成個性化的部分和通用化的部分。個性的往往是指定模型由哪些邏輯元素組合,而通用的部分則是這些元素的算法實現。無論是計算機視覺任務還是自然語言處理任務,使用的深度學習模型結構均是類似的,只是在每個環節指定的實現算法不同。多數情況下,這些實現只是相對有限的一些選擇,比如常見的Loss函數不超過十種,常用的網絡配置也就十幾種,常用優化算法不超過五種等等。這些特性使得基於框架建模更像一個編寫“模型配置”的過程。
飛槳(PaddlePaddle)不僅包含深度學習框架,還提供了一整套緊密關聯、靈活組合的工具組件和服務平台,助力深度學習技術的應用落地。飛槳框架除了支持用戶編寫深度學習模型外,還對於自然語言處理、計算機視覺、語音和推薦有大量的預訓練模型,可以通過PaddleHub工具直接使用。此外,飛槳基於核心框架提供了支持可視化界面建模的EasyDL和教育培訓平台AI studio等,對不同層次的用戶提供了多樣化的配套服務。
與其它框架和平台相比,使用飛槳有五個方面的優勢。
- 支持兩種業界流行的編程方案:更容易調試的動態圖和訓練速度更快的靜態圖。
- 大量的官方模型庫:多數任務可以在官方模型的基礎上少許修改,即可上線應用。
- 大規模分布式訓練:基於百度每日上億用戶使用的應用場景打磨,天然具備大規模工業實踐能力。
- 端到端部署:速度全面領先的推理引擎,適配多種類硬件芯片,尤其是國產芯片。
- 唯一提供系統化深度學習技術服務的平台:為用戶和企業提供7*24小時服務,高效解決各種使用難題。
以其中的模型庫為例,大量工業實踐任務並不是從頭編寫,而是在相對標准化的模型上進行微調和優化。飛槳框架已經提供了主流深度學習任務的模型實現(如下圖),並且在多數模型的效果上達到業界領先。如下表所示,飛槳的自然語言處理模型庫ERNIE在自然語言推斷、語義匹配、命名實體識別、情感分析和檢索式問答等任務上全面領先競品。
飛槳在自然語言處理、計算機視覺和推薦領域的模型庫
隨着深度學習技術在更行業的應用落地,多種多樣的應用場景存在多種多樣的硬件設備。訓練好的模型需要能夠嵌入到各類型的硬件芯片中,大到在機房中存放的服務器,小到攝像頭中芯片。在中美貿易戰時隱時現的情況下,訓練框架對國產芯片的支持尤其重要。國產化的飛槳框架走在這方面的前列,提供了專門的預測端部署工具 Paddle lite。
既然飛槳如此強大,我們沒必要從頭到尾編寫深度學習模型的完整實現,基於飛槳可以更高效的完成建模。在進入實踐之前,首先需要在服務器或個人電腦上安裝飛槳。在飛槳官網上訪問快速安裝說明的頁面(https://www.paddlepaddle.org.cn/install/quick)。
整個頁面分為兩個部分,上部分是用戶選擇其安裝環境的配置,比如筆者選擇在筆記本電腦上安裝飛槳,那么點選(windows系統+pip+Python3+CPU版本)的配置組合。其中,windows系統和CPU版本是個人筆記本電腦的軟硬件配置,Python3是需要事先安裝好的Python版本(Python有2和3兩個主流版本,兩者的API接口不兼容),pip是命令行安裝的指令。
在點選好安裝的配置條件后,頁面的下方會出現該配置下的安裝方式和步驟。按照該說明一步步執行即可安裝成功。