PaddlePaddle:百度分布式深度學習平臺開源了

百度分布式深度學習平臺Paddle宣布開源,支持Python、C++和SWIG,支持多機數據并行的深度學習模型訓練,并提供了Sequence to Sequence模型的Demo。

還記得百度內部使用的分布式深度學習平臺Paddle嗎?在此前 《程序員》 文章《 基于Spark的異構分布式深度學習平臺 》一文的介紹中,Paddle開發者提到了“在平臺更成熟后,我們打算把Spark on PADDLE以及異構計算平臺開源”。現在看來,Paddle已經開始成熟,因為在 Github已經可以看到Paddle 了(不過介紹里叫做“PaddlePaddle”),支持Python接口、C++以及SWIG,支持多機數據并行的深度學習模型訓練,支持 Apache-2.0 license ,并提供了Sequence to Sequence模型的Demo。

特性

PaddlePaddle的四個特性簡介如下:

  • 靈活性:PaddlePaddle支持廣泛的神經網絡結構和優化算法,很容易配置復雜的模型,如基于注意力(Attention)機制或復雜的內存(Memory)連接的神經機器翻譯模型。(Attention和Memory參考閱讀: 深度學習和自然語言處理中的attention和memory機制深度學習:推動NLP領域發展的新引擎

  • 高效:在PaddlePaddle的不同層面進行優化,以發揮異構計算資源的效率,包括計算、內存、架構和通信等。例如:

    • 通過SSE/AVX內部函數,BLAS庫(例如MKL,ATLAS,CUBLAS)或定制CPU/GPU內核優化的數學運算。
    • 高度優化循環網絡,以處理可變長度序列,無需填充(Padding)。
    • 優化高維稀疏數據模型的本地和分布式訓練。
  • 可擴展性:PaddlePaddle很容易使用多個CPU/GPU和機器來加快你的訓練,通過優化通信實現高吞吐量、高性能。

  • 連接產品:PaddlePaddle易于部署。在百度,PaddlePaddle已經被部署到廣大用戶使用的產品或服務,包括廣告點擊率(CTR)的預測,大型圖像分類,光學字符識別(OCR),搜索排名,計算機病毒檢測,推薦等。

PaddlePaddle支持使用Python接口或C++來構建系統,可以使用SWIG為開發者喜愛的編程語言創建接口。

Github上目前提供了圖像分類、情緒分析、Sequence to Sequence模型、推薦和語義角色標注(SRL)等五個 Demo

使用

Quick Start Tutorial看這里 。涵蓋深度學習應用的五個環節。

Logistic Regression、Word Embedding、CNN、RNN等不同網絡架構如下:

↑↑↑ Logistic Regression

↑↑↑ Word Embedding Model

↑↑↑ Convolutional Neural Network Model

↑↑↑ Recurrent Model

算法優化包括 Momentum, RMSProp, AdaDelta, AdaGrad, Adam 和 Adamax。這里可以使用極為適合循環神經網絡的Adam優化方法及L2正則化和gradient clipping。

settings(batch_size=128,         learning_rate=2e-3,         learning_method=AdamOptimizer(),         regularization=L2Regularization(8e-4),         gradient_clipping_threshold=25)

 

來自:http://www.lupaworld.com/article-260097-1.html

 

 本文由用戶 han840129 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!