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

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

0

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

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

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

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

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

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

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

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

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

基礎(chǔ)框架

安裝

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 修復(fù) lrn operator 中 MKLDNN kernel 精度 bug,同時(shí)單 op 提速 1.3 倍。

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

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

完善 CPU JitKernel

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

  • softmax 的 jitkernel,純 op 提升 2 倍,同時(shí)使得 Bert 模型 CPU 預(yù)測(cè)提升 26%。

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

其他

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

預(yù)測(cè)引擎

服務(wù)器預(yù)測(cè)

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

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

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

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

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

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

CPU 預(yù)測(cè)速度提升

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

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

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

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

新增 Paddle-TRT 對(duì) Calibration INT8 的支持,GPU 預(yù)測(cè)速度提升

  • 模型 VGG,Resnet50 上預(yù)測(cè)速度達(dá)到了 Paddle-TRT float32 的兩倍性能。

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

算子融合

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

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

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

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

功能完善及易用性提升

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

  • 新增預(yù)測(cè)庫的 Python 接口。

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

其他

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

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

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

移動(dòng)端預(yù)測(cè)

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

  • int8 預(yù)測(cè)支持 dequantize 和其他 op(batch normalization/relu/elementwise add)進(jìn)行自動(dòng) kernel 融合。

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

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

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

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

新增支持多個(gè)輸入和多個(gè)輸出的模型預(yù)測(cè)

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

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

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

模型建設(shè)

PaddleCV 智能視覺

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

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

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

PaddleNLP 智能文本處理

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

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

PaddleRec 智能推薦

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

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

分布式訓(xùn)練

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

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

CPU 多機(jī)異步訓(xùn)練

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

GPU 多機(jī)多卡水平擴(kuò)展性能提升

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

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

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

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

GPU 多機(jī)多卡垂直擴(kuò)展性能提升

  • 新增功能:fp16 和混合精度訓(xùn)練

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

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

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

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

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

  • Resnet50 on Imagenet 數(shù)據(jù)集:訓(xùn)練收斂輪數(shù)下降為標(biāo)準(zhǔn)訓(xùn)練方法的 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 版本項(xiàng)目開源地址: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 版本,帶來多項(xiàng)重要更新

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