百度Paddle Fluid v1.3版本官方重磅更新

業(yè)界首個(gè)視頻分類模型庫(kù)

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

視頻理解權(quán)威競(jìng)賽ActivityNet- Kinetics視頻動(dòng)作識(shí)別任務(wù)冠軍方法stNet的resnet50版本開源實(shí)現(xiàn)苍鲜。

基于PaddlePaddle的BERT多機(jī)多卡和混合精度訓(xùn)練

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

分布式訓(xùn)練性能大幅提升

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

下面將Paddle Fluid v1.3版本所發(fā)布的內(nèi)容纠永,全面介紹給廣大開發(fā)者:

重要更新

統(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?子圖引擎等第三方庫(kù)的加速.

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

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

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

新增支持Intel Deep ? ? Learning Boost(VNNI指令集)。在新一代的Intel Xeon ? ? Scalable Processor上火脉,使用這個(gè)特性的一些模型牵舵,INT8預(yù)測(cè)性能可以達(dá)到FP32的2倍。

基礎(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)鏈接庫(kù)功蜓,提升內(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)所需要的特有操作

重構(gòu)DDim,Variable ? ? Type等抵代,降低基礎(chǔ)框架調(diào)度開銷腾节。

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。

減少?gòu)腗KLDNN 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拘泞。

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

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

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

預(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è)庫(kù)的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視頻模型庫(kù)蔫浆,包括五個(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)打平。

語(yǔ)義分割DeepLabV3+模型弄匕,depthwise_conv ? ? ?op融合颅悉,顯存優(yōu)化,顯存占用對(duì)比上一版本減少40%迁匠。

PaddleNLP?智能文本處理

新增支持NLP語(yǔ)義表示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保存的模型可視化展示澄步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市和泌,隨后出現(xiàn)的幾起案子村缸,更是在濱河造成了極大的恐慌,老刑警劉巖武氓,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梯皿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡县恕,警方通過查閱死者的電腦和手機(jī)东羹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忠烛,“玉大人属提,你說我怎么就攤上這事∶朗” “怎么了冤议?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)师坎。 經(jīng)常有香客問我求类,道長(zhǎng),這世上最難降的妖魔是什么屹耐? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任尸疆,我火速辦了婚禮,結(jié)果婚禮上惶岭,老公的妹妹穿的比我還像新娘寿弱。我一直安慰自己,他們只是感情好按灶,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布症革。 她就那樣靜靜地躺著,像睡著了一般鸯旁。 火紅的嫁衣襯著肌膚如雪噪矛。 梳的紋絲不亂的頭發(fā)上量蕊,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音艇挨,去河邊找鬼残炮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缩滨,可吹牛的內(nèi)容都是我干的势就。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼脉漏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼苞冯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起侧巨,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤舅锄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后司忱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皇忿,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年烘贴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撮胧。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桨踪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芹啥,到底是詐尸還是另有隱情锻离,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布墓怀,位于F島的核電站汽纠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏傀履。R本人自食惡果不足惜虱朵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钓账。 院中可真熱鬧碴犬,春花似錦、人聲如沸梆暮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)啦粹。三九已至偿荷,卻和暖如春窘游,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跳纳。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工忍饰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棒旗。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓喘批,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親铣揉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饶深,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一、 序 看一粒沙中的世界, 一朵野花中的天堂逛拱。 把無限握于掌中, 把永恒握于瞬間敌厘。 ...
    Despacito_998d閱讀 3,922評(píng)論 0 2
  • 昨天在武志紅老師的《你就是答案》一書中看到了一個(gè)有趣的觀點(diǎn): 區(qū)分想象、行為與后果 武老師講到要學(xué)會(huì)區(qū)分想象朽合、行為...
    柚子Yock閱讀 615評(píng)論 0 2