Paddle Fluid v1.2 Release Note 深度學習框架重磅更新

各位關注PaddlePaddle的深度學習開發者, Fluid v1.2 版本於今日正式閃亮登場!本次版本咱們作了超多重磅更新!python

 

本次版本的主要更新簡介:android

1. 新增支持Windows下CPU環境執行,並提供windows版PIP安裝包算法

2. 新增300個API Reference中文文檔,13篇API使用指南 ,優化77個API Reference英文文檔編程

3. 新增對python3.六、python3.7的支持。windows

4. CV圖像分類任務發佈MobileNet V1, ResNet101, ResNet152,VGG11預訓練模型。服務器

5. 分佈式訓練下增長稀疏通訊機制,參數的總量能夠壓縮到1%如下,在搜索真實場景的數據下,總體訓練吞吐能夠提高50倍。網絡

6. 服務器端GPU環境下支持圖融合技術,且支持與TensorRT引擎混合改圖,在Resnet50和Googlenet等圖像通用模型上bs=1下性能提高 50%~100%,GoogleNet 8bit加速14%。多線程

 

下面是更新細節,文章會從基礎框架、預測引擎、移動端預測、模型建設、分佈式訓練、文檔6個方面給你們介紹,約1500字,會花費4分鐘閱讀時間。併發

 

【基礎框架】框架

l 安裝

² 提供新pip安裝包,支持Windows下CPU執行。

l 編程語言

² 新增對python3.六、python3.7的支持。

l 重構內存分配模塊Allocator,提高CPU下內存分配策略,提高顯存利用率(默認關閉,須要使用FLAGS_allocator_strategy)。

l 限制SelectedRows的使用。修復了稀疏正則和稀疏優化器的bug。

l Tensor支持DLPack,方便被其餘框架集成和集成其餘訓練框架。

l OP

² 修復 expand op shape 推理錯誤的bug。

² 支持 Selu 激活函數。

 

【預測引擎】

l 服務器預測

² GPU 支持圖融合,且支持和 TensorRT引擎混合改圖,在Resnet50和Googlenet等圖像通用模型上bs=1下性能提高 50%~100%。

² GPU支持DDPG Deep Explore預測。

² Paddle-TRT對更多模型的支持,其中包括Resnet, SE-Resnet, DPN,GoogleNet。

² CPU, GPU, TensorRT 等加速引擎合併入 AnalysisPredictor,統一由 AnalysisConfig 控制。

² 增長調用多線程數學庫的接口。

² 新增TensorRT plugin的支持,包括split operator, prelu operator, avg_pool operator, elementwise_mul operator。

² 增長了JIT CPU Kernel,支持基本的向量操做,以及常見的算法包括ReLU,LSTM和GRU的部分實現,能夠實如今AVX和AVX2指令集之間自動runtime切換。

² 優化CRF decoding和LayerNorm在AVX以及AVX2指令集上的實現。

² 修復了 AnalysisPredictor 在GPU,在CPU 到 GPU 的 transfer data 不刪除的問題。

² 修復了 Variable 中包含 container 內存持續增加的問題。

² 修復fc_op不支持3-D Tensor的問題。

² 修復了Analysis predictor 在GPU下執行pass時的問題。

² 修復了TensorRT下運行GoogleNet的問題。

² 預測性能提高

Ø Max Sequence pool optimization,單op提升10%。

Ø Softmax operator 優化,單op提高14%。

Ø Layer Norm operator優化,支持avx2指令集,單op提高5倍。

Ø Stack operator 優化,單op提高3.6倍。

Ø 增長depthwise_conv_mkldnn_pass,加速MobileNet預測。

Ø 加速analysis模式的圖分析時間,提高70倍。

Ø DAM開源模型,提高118.8%。

l 移動端預測

² 實現winograd算法, GoogleNet v1性能大幅提高35%。

² GoogleNet 8bit優化,相比float加速14%。

² MobileNet v1 8bit支持,相比float加速20%。

² MobileNet v2 8bit支持,相比float加速19%。

² FPGA V1 開發了Deconv算子。

² android gpu支持MobileNet、MobileNetSSD、GoogleNet、SqueezeNet、YOLO、ResNet等主流的網絡模型。

 

【模型建設】

l CV圖像分類任務發佈MobileNet V1, ResNet101, ResNet152,VGG11預訓練模型。

l CV Metric Learning模型新增arcmargin損失,並調整訓練方式,採用element-wise做爲預訓練模型,pair-wise繼續微調的訓練方式提高精度。

l NLP語言模型任務新增基於cudnn的LSTM實現,對比PaddingRNN的實現方式,在不一樣參數配置下速度提高3~5倍。

l 增長分佈式word2vec模型,包括新增的tree-based softmax operator,negative sampling等,與經典word2vec算法對齊。

l 新增GRU4Rec、Tag-Space算法的分佈式配置。

l 完善Multi-view Simnet模型,並增長inference配置。

l 支持強化學習算法 DQN。

l 現已支持python3.5及以上的模型:語義匹配DAM,閱讀理解BiDAF,機器翻譯Transformer,語言模型,強化學習DQN、DoubleDQN模型、DuelingDQN模型,視頻分類TSN,度量學習Metric Learning,場景文字識別CRNN-CTC 、OCR Attention,生成式對抗網絡ConditionalGAN 、DCGAN、CycleGAN,語義分割ICNET、DeepLab v3+,目標檢測Faster-RCNN、MobileNet-SSD 、PyramidBox ,圖像分類SE-ResNeXt、ResNet等,個性化推薦TagSpace、GRU4Rec、SequenceSemanticRetrieval、DeepCTR、Multiview-Simnet。

 

【分佈式訓練】

l CPU多機異步訓練

² worker異步併發:增長AsyncExecutor,以訓練文件做爲執行粒度,支持分佈式訓練中的worker端計算異步無鎖計算,同時支持單機訓練。以CTR任務爲例,單機訓練速度,在充分利用單機線程的狀況下,總體吞吐提高14倍。

² IO優化:增長支持AsyncExecutor的DataFeed,支持可定製化的通用分類任務格式。面向CTR任務,增長CTRReader,使數據讀取速度線性提高,在PaddleRec/ctr任務中,總體吞吐提高1倍。

² 通訊優化:針對稀疏訪問的Dense參數例如Embedding,增長稀疏通訊機制,以語義匹配任務爲例,獲取參數的總量能夠壓縮到1%如下,在搜索真實場景的數據下,總體訓練吞吐能夠提高50倍。

l GPU多機同步訓練

² 修復Transformer、Bert模型下P2P訓練模式會Hang住的問題。

 

【文檔】

l API

² 新增13篇API使用指南。

² 新增300個API Reference中文文檔。

² 優化77個API Reference英文文檔:包括代碼示例、參數說明等。

l 安裝文檔

² 新增python3.六、python3.7安裝說明。

² 新增windows pip install安裝說明。

l Book文檔

² Book文檔中的代碼示例更改成Low level API。

l 使用文檔

² 新增《Operator相關注意事項》,更新《保存與載入模型變量》、《C++預測API介紹》、《使用TensorRT庫預測》、《如何貢獻代碼》等多篇使用文檔。

 

 

 

相關文章
相關標籤/搜索