丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能 正文
發(fā)私信給叢末
發(fā)送

0

百度發(fā)布 Paddle Fluid v1.3 版本,帶來多項重要更新

本文作者: 叢末 2019-03-01 10:04
導語:一如既往地在基礎(chǔ)框架、預測引擎、模型建設、分布式訓練各個方向上都實現(xiàn)了多項更新。

雷鋒網(wǎng) AI 科技評論按:日前,百度 PaddlePaddle 更新至 Fluid v1.3 版本,一如既往地, Fluid v1.3 版本在基礎(chǔ)框架、預測引擎、模型建設、分布式訓練各個方向上都實現(xiàn)了多項更新,而其中比較重要的更新包括:

  • 統(tǒng)一 Executor 和 ParallelExecutor 接口,用戶只需通過 CompiledProgram 將單卡模型轉(zhuǎn)化多卡模型,并利用 Executor 進行訓練或者預測。

  • 正式發(fā)布 AnalysisConfig 預測接口,支持計算圖分析、算子融合等優(yōu)化,并支持利用 Intel MKLDNN、Nvidia TensorRT 子圖引擎等第三方庫的加速.

  • 模型庫新增發(fā)布 PaddlePaddle 視頻模型庫,提供 5 個視頻分類經(jīng)典模型以及適合視頻分類任務的通用骨架代碼,用戶可一鍵式高效配置模型完成訓練和評測。

  • 新增支持 NLP 語義表示 BERT 模型,支持多機多卡訓練,支持混合精度訓練,訓練速度對比主流實現(xiàn)提升 50%+,提供完整部署示例。

  • 發(fā)布大規(guī)模稀疏參數(shù)服務器 Benchmark,CPU 多機異步訓練發(fā)布顯著提升點擊率預估任務 IO 吞吐的 built-in reader,多機多卡訓練性能多方面提升。

最新版本在基礎(chǔ)框架、預測引擎、模型建設、分布式訓練上的具體更新情況如下:

基礎(chǔ)框架

安裝

  • 新增 Linux 和 MacOS 下的中文版本輔助安裝腳本,提供交互式安裝方式,協(xié)助用戶在復雜環(huán)境下快速完成 PaddlePaddle 安裝。

  • Windows 支持優(yōu)化:新增 cuda8,cudnn7 的 GPU 支持,新增 AVX 指令集、MKLDNN、mnist 數(shù)據(jù)集支持。修復 Windows 加載 Linux/Mac 下同版本 paddle 訓練模型的問題。

增加動態(tài)圖基礎(chǔ)功能

  • 動態(tài)圖 tracer、 autograd、python Layer/PyLayer,動態(tài)圖支持 MLP、GAN、ptbRNN、Resnet 模型,動態(tài)圖支持 Optimizer、GPU 訓練。

Executor 和 ParallelExecutor 接口優(yōu)化

  • 對 Executor 和 ParallelExecutor 接口進行統(tǒng)一,用戶只需通過 CompiledProgram 將單卡模型轉(zhuǎn)化多卡模型,并利用 Executor 進行訓練或者預測。

  • ParallelExecutor 優(yōu)化:對 MultiDevSSAGraphBuilder 進行重構(gòu),使得 MultiDevSSAGraphBuilder 更易擴展。去除 ParallelExecutor 中的設備鎖,提升 ParallelExecutor 多卡調(diào)度性能。

中間表達 IR 和 Pass 方面的優(yōu)化

  • 完善 C++ IR graph 的 python 接口以及 C++ IR pass 的 python 接口。

  • 在 framework.py 中新增 IRGraph 類,為在 Python 層編寫 IR Pass 做準備。

  • 新增支持網(wǎng)絡無鎖更新的 Pass。

  • 新增 QuantizationTransformPass,此為 Quantization Aware Training 量化模式訓練前的圖修改操作部分。

內(nèi)存和顯存方面的優(yōu)化

  • 新增支持在編譯時加入 Jemalloc 作為動態(tài)鏈接庫,提升內(nèi)存管理的性能,降低基礎(chǔ)框架內(nèi)存管理開銷。

  • 新增 memory optimize,inplace pass, memory pool early deletion 等顯存優(yōu)化策略。

  • 新增支持網(wǎng)絡無鎖更新的 Pass。

  • 新增 QuantizationTransformPass,此為 Quantization Aware Training 量化模式訓練前的圖修改操作部分。

Operator 整體層面的優(yōu)化

  • 每個 op 在執(zhí)行前只做一次 scope 查詢,減少讀寫鎖操作(原來需要做 1~5 次 scope 查詢)。

  • 新增 Temporary Allocator,減少 op 中的同步操作。

  • 新增 py_func operator,支持 python op 接入,用戶可以借助 py_func Operator 快速實現(xiàn)所需要的特有操作。

INTEL FP32 計算相關(guān)優(yōu)化

  • 優(yōu)化 density_prior_box operator,單 op 四線程提速 3 倍。

  • 優(yōu)化 Stack operator,單 op 提速 16 倍。

  • 開發(fā) Transpose,Concat 和 Conv3d 三個基于 MKLDNN 的 kernel。

  • 修復 lrn operator 中 MKLDNN kernel 精度 bug,同時單 op 提速 1.3 倍。

  • 修復 MKLDNN 初始化占用 5G 內(nèi)存的問題,目前初始化占用 500MB。

  • 減少從 MKLDNN OP kernel 到非 MKLDNN OP kernel 時不必要的 reorder。

完善 CPU JitKernel

  • sequence pooling 的 jitkernel,純 op 提升 2 倍。

  • softmax 的 jitkernel,純 op 提升 2 倍,同時使得 Bert 模型 CPU 預測提升 26%。

  • 常見的基本邏輯:向量的每個元素求平方 kVSquare、矩陣乘法 kMatMul、向量的最大值 kHMax、向量所有元素的和 kHSum。

其他

  • Fluid v1.3 版本還重構(gòu) DDim,Variable Type 等,能夠降低基礎(chǔ)框架調(diào)度開銷。

預測引擎

服務器預測

正式發(fā)布 AnalysisConfig 預測接口,支持計算圖分析、算子融合等優(yōu)化,并支持利用 Intel MKLDNN、Nvidia TensorRT 子圖引擎等第三方庫的加速。

預發(fā)布 intel CPU 上的 預測 INT8 離線量化方案

  • 開發(fā) Conv2D,Pool2D,Quantize,Dequantize 四個基于 MKL-DNN 的 INT8 kernel。

  • 預發(fā)布 Calibration 的 3 個核心 Python API(paddle.fluid.contrib.Calibrator)。

  • 開發(fā) Calibration 工具,保證 FP32 和 INT8 的精度在 ResNet-50 和 MobileNet-V1 在 ImageNet 驗證數(shù)據(jù)集上相差在 1% 內(nèi)。

  • 支持 Intel Xeon CascadeLake Server(VNNI 指令)及 Intel Xeon SkyLake Server,性能提升約為 1.33 倍。

CPU 預測速度提升

  • fuse sequence pooling concatop,支持 N (<200) 個 sequence_pooling op concat 起來組成一個新 op,整體使得 seqpool 模型 CPU 預測提升 56%。

  • fuse 連續(xù)重復的 fc op 為一個大 op,使得 seqpool 模型 CPU 預測速度提升 15%。

  • fuse 邏輯為 ((X?Y).2?(X.2?Y.2)).?scalar 的 op 組合 , 使得 seqpool 模型 CPU 預測速度提升 8.2%。

  • 針對輸入 tensor 元素個數(shù)為 1 的情況,優(yōu)化 compare_op 的 CPU Kernel。

新增 Paddle-TRT 對 Calibration INT8 的支持,GPU 預測速度提升

  • 模型 VGG,Resnet50 上預測速度達到了 Paddle-TRT float32 的兩倍性能。

  • 模型 VGG,Resnet50 在 imagenet 數(shù)據(jù)集上測試,精度下降 0.3% 以內(nèi)。

算子融合

  • 增加 fc 和 con 相關(guān)兩個 fuse,作用于 conv_op CUDNN kernel。

  • 新增 Conv+Affine Channel 的融合 pass,F(xiàn)aster RCNN 運行的性能提升 26.8%。

  • 新增 Transpose+Flatten+Concat 融合 pass,MobilenetSSD 模型性能提升 15%。

  • 實現(xiàn) beam_search operator 的 CUDA Kernel,并且將相應的 top-k、elementwise_add、reshape、log 計算融合到 beam_search operator 中。

功能完善及易用性提升

  • 新增 C++ IR graph 的 Python 接口。

  • 新增預測庫的 Python 接口。

  • 服務端預測支持從內(nèi)存加載模型。

其他

  • 刪除 legacy V2 代碼。從 1.3 版本起,不再支持 V1&V2 老版本功能。

  • 修復 Paddle-TRT elementwise-mul 模型運行出現(xiàn)問題的 bug。

  • 修復 Paddle-TRT trt_engine stream 多個連續(xù)輸入情況下模型輸出結(jié)果異常的 bug。

移動端預測

效率優(yōu)化,常見模型預測速度提升

  • int8 預測支持 dequantize 和其他 op(batch normalization/relu/elementwise add)進行自動 kernel 融合。

  • transpose2 operator 對于 shuffle channel 操作進行優(yōu)化。

  • gru operator 使用 neon 指令進行優(yōu)化,并針對 batch size 為 1 時進行優(yōu)化。

  • 優(yōu)化和實現(xiàn) pooling,支持任意的 padding。

  • 優(yōu)化和實現(xiàn) batch normalization、softmax、elementwise add。

新增支持多個輸入和多個輸出的模型預測

新增實現(xiàn) prelu6 operator、cast operator、top_k operator

修復 int8 offline 量化溢出結(jié)果不對的問題

修復 winograd 實現(xiàn)在輸入 feature map 的 height 和 width 不相等時結(jié)果可能為 0 的 bug

模型建設

PaddleCV 智能視覺

  • 新增發(fā)布 PaddlePaddle 視頻模型庫,包括五個視頻分類模型:Attention Cluster、NeXtVLAD、LSTM,、stNet、TSN。提供適合視頻分類任務的通用骨架代碼,包括數(shù)據(jù)讀取和預處理、訓練和預測、網(wǎng)絡模型以及指標計算等多個模塊。用戶根據(jù)需要添加自己的網(wǎng)絡模型,直接復用其他模塊的代碼,快速部署模型。

  • 新增支持目標檢測 Mask R-CNN 模型,效果與主流實現(xiàn)打平。

  • 語義分割 DeepLabV3+模型,depthwise_conv op 融合,顯存優(yōu)化,顯存占用對比上一版本減少 50%。

PaddleNLP 智能文本處理

  • 新增支持 NLP 語義表示 BERT 模型,支持多機多卡訓練,支持混合精度訓練,訓練速度對比主流實現(xiàn)提升 50%+,提供完整部署示例。

  • 機器翻譯 Transformer 模型優(yōu)化解碼計算,decoder 中加入對 encoder output 計算結(jié)果的 cache,預測速度提升一倍。

PaddleRec 智能推薦

  • Sequence Semantic Retrieval 新增單機多線程、單機多卡運行示例,添加預測功能、數(shù)據(jù)預處理優(yōu)化,完善部署示例。

  • GRU4Rec 新增負采樣功能,使用 bpr loss 和 cross entropy loss 的效果與原作打平。

分布式訓練

大規(guī)模稀疏參數(shù)服務器 Benchmark 發(fā)布

  • 測試真實業(yè)務場景下,特征規(guī)模百億、樣本平均特征數(shù) 1k 的點擊率預估任務,在 batch=512 情況下,100worker 加速比 90.5,吞吐量 1.36M/s。

CPU 多機異步訓練

  • 發(fā)布面向點擊率預估任務的 built-in reader,Criteo 數(shù)據(jù)集下 IO 總吞吐提升 1300%。

GPU 多機多卡水平擴展性能提升

  • 新增并行模式:PG(ParallelGraph)、MP(Multi-Process),獨立 GPU 卡之間的計算,提升性能同時,不影響模型精度。

  • 在 ResNet50 模型,單機 8 卡 V100 下,PG, MP 模式提升訓練性能 30% 以上;4 機 32 卡,PG 模式提速 46%,MP 模式提速 60%。

  • 在 BERT 模型,8 卡 V100 下,PG, MP 模式提升訓練性能 26%。

  • Multi-Process 模式相比 Parallel-Graph 模式對 Reader 速度敏感度不高。

GPU 多機多卡垂直擴展性能提升

  • 新增功能:fp16 和混合精度訓練

  • Fp16 單機單卡加速情況:ResNet50 提速約 87%,BERT 提速約 70%。

  • BERT 同時開啟 PG 和混合精度,單機 8 卡下單位時間吞吐提升 120%。

  • ResNet50 同時開啟混合精度訓練和 MP 模式,在 V100 單機 8 卡、4 機 32 卡下,單位時間吞吐提升 100%。

典型模型收斂速度優(yōu)化

  • 新增功能:動態(tài) Batch Size,動態(tài) Image Resize 方法。

  • Resnet50 on Imagenet 數(shù)據(jù)集:訓練收斂輪數(shù)下降為標準訓練方法的 1/3 左右。

VisualDL

  • VisualDL graph 支持 Paddle fluid 保存的模型可視化展示。

安裝參考網(wǎng)址http://paddlepaddle.org/documentation/docs/zh/1.3/beginners_guide/install/index_cn.html

PaddlePaddle Fluid v1.3 版本項目開源地址:https://github.com/PaddlePaddle/Paddle/releases 雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

百度發(fā)布 Paddle Fluid v1.3 版本,帶來多項重要更新

分享:
相關(guān)文章
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說