TechDay實(shí)錄 | 認(rèn)識PaddlePaddle:更低使用成本规伐、更高開發(fā)效率的深度學(xué)習(xí)框架

導(dǎo)讀:

在人工智能時(shí)代,各行各業(yè)都在嘗試?yán)脵C(jī)器學(xué)習(xí)/深度學(xué)習(xí)等前沿技術(shù)來解決自身的業(yè)務(wù)需求匣缘,深度學(xué)習(xí)框架也應(yīng)運(yùn)而生猖闪。為了繼續(xù)幫助AI開發(fā)者們在深度學(xué)習(xí)的道路上快速升級,百度PaddlePaddle于2019年重磅啟動系列技術(shù)公開課“PaddlePaddle TechDay”肌厨。

2019年1月5日萧朝,第一期活動于北京中關(guān)村創(chuàng)業(yè)大街百度大腦創(chuàng)新體驗(yàn)中心展開,秉承著“技術(shù)為先夏哭,應(yīng)用至上”的理念检柬,百度邀請深度學(xué)習(xí)技術(shù)平臺主任工程師胡曉光和高級算法工程師、百度認(rèn)證布道師胡曉曼作為此次主講嘉賓竖配,分享PaddlePaddle框架設(shè)計(jì)原理何址、實(shí)現(xiàn)方式、完整實(shí)例等技術(shù)點(diǎn)进胯,并結(jié)合百度自身AI實(shí)踐的應(yīng)用發(fā)展用爪,詳解PaddlePaddle針對深度學(xué)習(xí)模型的應(yīng)用、訓(xùn)練與優(yōu)化等具體細(xì)節(jié)胁镐。

以下為胡曉光講師的演講實(shí)錄:

2012年偎血,百度開始深度學(xué)習(xí)的應(yīng)用,其深度學(xué)習(xí)框架內(nèi)部版本可追溯到2013年盯漂,到2016年颇玷,為了滿足開發(fā)者的使用需求,百度開源了深度學(xué)習(xí)平臺PaddlePaddle就缆,2018年底帖渠,百度又推出了PaddlePaddle Suit,力求框架使用成本越來越低竭宰。

如今空郊,各大巨頭公司都在進(jìn)入深度學(xué)習(xí)領(lǐng)域,那深度學(xué)習(xí)框架為何如此重要切揭?其實(shí)深度學(xué)習(xí)框架相當(dāng)于傳統(tǒng)的操作系統(tǒng)狞甚,起到連接底層硬件和上層應(yīng)用場景的作用,以此支持各種AI相關(guān)的應(yīng)用廓旬,使其與業(yè)務(wù)結(jié)合哼审,實(shí)實(shí)在在解決業(yè)務(wù)場景中的問題。例如,通過該框架棺蛛,可以將底層的CPU怔蚌、GPU、FPGA旁赊、專用AI芯片桦踊、手機(jī)移動端上的芯片等各類硬件相關(guān)隔離并進(jìn)行管理;在中間層將數(shù)據(jù)進(jìn)行組網(wǎng)终畅、訓(xùn)練籍胯,進(jìn)一步得到模型進(jìn)行預(yù)測;在應(yīng)用層离福,還可以跟語音杖狼、NLP、視覺妖爷、推薦等實(shí)際場景中的業(yè)務(wù)進(jìn)行結(jié)合蝶涩。

可以看到,PaddlePaddle致力于通過輸出領(lǐng)先的深度學(xué)習(xí)技術(shù)絮识,賦能各行各業(yè)绿聘,全方位滿足企業(yè)級深度學(xué)習(xí)的應(yīng)用;同時(shí)次舌,PaddlePaddle更加注重用戶的開發(fā)成本熄攘,以最少的時(shí)間獲得最滿意的功能和效果。

支持不同層級開發(fā)者需求的PaddlePaddle全功能套件

如上圖所示彼念,PaddlePaddle的整體架構(gòu)主要包含四個(gè)層面:核心框架挪圾、輔助工具、通用技術(shù)方案逐沙、服務(wù)平臺哲思。

核心框架包括:PaddlePaddle訓(xùn)練框架、PaddlePaddleServing(預(yù)測)酱吝、PaddlePaddle Mobile(移動端手機(jī)上可部署)也殖,在這個(gè)基礎(chǔ)框架之上,可以做深度學(xué)習(xí)相關(guān)的工作务热。

再往上一層,針對深度學(xué)習(xí)應(yīng)用的輔助工具包括:Visual DL可視化工具己儒、Auto DL網(wǎng)絡(luò)自動設(shè)計(jì)工具崎岂、PARL強(qiáng)化學(xué)習(xí)工具。

通用技術(shù)方案上闪湾,目前PaddlePaddle主要支持包括文本處理/NLP冲甘、CV?、智能推薦相關(guān)的三個(gè)方向,這三個(gè)方向里有大量的模型江醇。

服務(wù)平臺方面濒憋,面向用戶實(shí)際業(yè)務(wù)場景,Easy DL無需用戶寫代碼陶夜,便可低成本獲取定制化服務(wù)凛驮;此外,還有學(xué)習(xí)深度學(xué)習(xí)的平臺AI Studio条辟、針對深度學(xué)習(xí)云服務(wù)的Infinity黔夭。

PaddlePaddle設(shè)計(jì)思想

具體到執(zhí)行流程,通常前端程序是用Python來寫的羽嫡,但實(shí)際代碼程序是在后端的C++語言環(huán)境下實(shí)現(xiàn)的本姥,那二者是如何關(guān)聯(lián)起來的呢?

在Python前端杭棵,有一個(gè)接口可做到前后端的調(diào)度婚惫,中間還有一個(gè)程序ProgramDecs,可進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的序列化魂爪。然后將Programdesc通過接口傳給Transpiler辰妙,對原始Program做進(jìn)一步優(yōu)化,再傳給一個(gè)新的Programdesc甫窟。而在C++后端有一個(gè)執(zhí)行器密浑,這里面對各種各樣的Operator進(jìn)行計(jì)算和調(diào)用,相當(dāng)于在CPU上跑的各種指令在這里完成粗井。之后尔破,像梯度或參數(shù)等計(jì)算結(jié)果跑出來后,需要返回預(yù)測值浇衬,還是通過這個(gè)接口再傳給Python前端懒构。也就是說,輸入數(shù)據(jù)和返回的結(jié)果都是可以在前端完成的耘擂。正因如此胆剧,整個(gè)框架后端是基于C++的,效率也十分高醉冤。

執(zhí)行過程

編譯期:定義Program

1.????編譯時(shí)秩霍,用戶編寫一段python程序,通過調(diào)用?Fluid?提供的算子蚁阳,向一段?Program?中添加變量(Tensor)以及對變量的操作(Operators?或者?Layers)铃绒。用戶只需要描述核心的前向計(jì)算,不需要關(guān)心反向計(jì)算螺捐、分布式下以及異構(gòu)設(shè)備下如何計(jì)算颠悬。

2.????原始的?Program在平臺內(nèi)部轉(zhuǎn)換為中間描述語言:?ProgramDesc矮燎。

3.????編譯期最重要的一個(gè)功能模塊是?Transpiler。Transpiler?接受一段?ProgramDesc?赔癌,輸出一段變化后的?ProgramDesc?诞外,作為后端?Executor?最終需要執(zhí)行的?Fluid Program

4.????后端?Executor?接受?Transpiler?輸出的這段?Program?,依次執(zhí)行其中的?Operator(可以類比為程序語言中的指令)灾票,在執(zhí)行過程中會為?Operator?創(chuàng)建所需的輸入輸出并進(jìn)行管理峡谊。

執(zhí)行期:1.執(zhí)行Program

2.創(chuàng)建Executor

Fluid中使用fluid.Executor(place)創(chuàng)建Executor,place屬性由用戶定義铝条,代表程序?qū)⒃谀睦飯?zhí)行靖苇。

下例代碼表示創(chuàng)建一個(gè)Executor,其運(yùn)行場所在CPU內(nèi):

3.運(yùn)行Executor

Fluid使用Executor.run來運(yùn)行程序班缰。定義中通過Feed映射獲取數(shù)據(jù)贤壁,通過fetch_list獲取結(jié)果:

官方支持最多模型庫——PaddlePaddle Fluid模型庫

目前,基于PaddlePaddle框架基礎(chǔ)上開發(fā)了大量的模型埠忘,可以支持像CV脾拆、NLP、推薦等各類非常前沿的技術(shù)應(yīng)用莹妒。值得一提的是名船,模型應(yīng)用有很多已經(jīng)放在GitHub上開源出來,如果開發(fā)者想要進(jìn)一步嘗試PaddlePaddle旨怠,除了查看官方文檔渠驼,也可以在GitHub上快速找到PaddlePaddle最新開源的模型。

目前來看鉴腻,PaddlePaddle官方支持的模型數(shù)量超過其他主流框架迷扇,主要包括計(jì)算機(jī)視覺里的圖像分類、目標(biāo)檢測爽哎、人臉檢測蜓席、關(guān)鍵點(diǎn)、OCR識別课锌、語義分割厨内、視頻分類,自然語言處理里的中文詞法分析渺贤、語義匹配雏胃、機(jī)器翻譯,個(gè)性化推薦模型癣亚,語音識別等丑掺。

1.圖像分類

?目前網(wǎng)絡(luò)模型主要朝著兩個(gè)方向發(fā)展:一是越來越深;二是越來越復(fù)雜述雾。如AlexNet街州、VGG、GoogleNet玻孟、ResNet唆缴、Inception-v4、MobileNet黍翎、Dual Path Network面徽、SE-ResNeXt,2012年以來的經(jīng)典圖像識別網(wǎng)絡(luò)都包含在PaddlePaddle的圖像分類模型庫里匣掸。

2.目標(biāo)檢測?SSD

Single Shot MultiBoxDetector (SSD)?是目標(biāo)檢測領(lǐng)域較新且效果較好的檢測算法之一趟紊,具有檢測速度快且檢測精度高的特點(diǎn)。

對比?Faster R-CNN和SSD在GPU上的運(yùn)行速度和準(zhǔn)確率碰酝,可以得知霎匈,F(xiàn)aster R-CNN的準(zhǔn)確率會很高,但跑得速度會慢些送爸;而SSD會快很多铛嘱,但準(zhǔn)確率會低些。

3.人臉檢測?PyramidBox

?在圖像檢測里袭厂,人臉檢測是比較特殊的墨吓,包括人臉拍照、人臉識別解鎖纹磺,其核心基礎(chǔ)都是檢測帖烘。2018年,百度最新推出的PyramidBox橄杨,可以說是迄今最好的人臉?biāo)惴刂ⅰ3藗鹘y(tǒng)算法之外,重點(diǎn)考慮人臉的上下文特征讥珍,可以很好地提升人臉檢測的交互率和準(zhǔn)確率历极。

4.語義分割DeepLab V3+、語義實(shí)時(shí)分割ICNet

目前衷佃,用于語義分割的DeepLab V3+模型基于PaddlePaddle得到了實(shí)現(xiàn)趟卸,并取得了非常好的效果∈弦澹可以看到锄列,它有一些操作并不是標(biāo)準(zhǔn)的卷積,這意味著有可以針對這些操作進(jìn)行更深入底層優(yōu)化的空間惯悠。

5.視頻分類

?視頻分類方法主要包含基于卷積神經(jīng)網(wǎng)絡(luò)邻邮、基于循環(huán)神經(jīng)網(wǎng)絡(luò)、或?qū)⑦@兩者結(jié)合的方法克婶,目前包含Temporal Segment Network(TSN)模型筒严。?

6.中文詞法分析(LAC

?中文詞法分析(Lexical Analysis of Chinese)是一個(gè)聯(lián)合的詞法分析模型丹泉,包括中文分詞、詞性標(biāo)注鸭蛙、專有名詞識別任務(wù)摹恨。LAC基于一個(gè)堆疊的雙向GRU結(jié)構(gòu),在長文本上準(zhǔn)確復(fù)刻了百度AI開放平臺上的詞法分析算法娶视。這三個(gè)任務(wù)可以做一個(gè)訓(xùn)練晒哄,其效果是非常顯著的。?

7.語義匹配?DAM

?在最新發(fā)表的“Multi-Turn Response Selection for Chatbotswith Deep Attention Matching Network”論文中指出肪获,主要使用了全局方法的網(wǎng)絡(luò)結(jié)構(gòu)寝凌,可判斷全局信息,通過上下文表示句子語義結(jié)構(gòu)孝赫,目前已在內(nèi)部如聊天或?qū)υ捪到y(tǒng)中取得了非常好的效果较木。

8.機(jī)器翻譯?Transformer

?從2017年起提出的Transformer現(xiàn)已成為業(yè)界機(jī)器翻譯模型訓(xùn)練的標(biāo)配。Transformer是一個(gè)基于自注意力機(jī)制的機(jī)器翻譯模型寒锚,其中不再有RNN或CNN結(jié)構(gòu)劫映,而是完全利用Attention學(xué)習(xí)語言中的上下文依賴。?

9.個(gè)性化推薦模型

?PaddlePaddle對推薦算法的訓(xùn)練提供了完整的支持刹前,并提供了多種模型配置供用戶選擇泳赋,包括:TagSpace、GRU4Rec喇喉、SequenceSemanticRetrieval祖今、DeepCTR、Multiview-Simnet拣技。

模型庫:

https://github.com/PaddlePaddle/models

總結(jié)來講千诬,PaddlePaddle是一個(gè)功能全面而又特別注重實(shí)用性的框架,百度在生產(chǎn)環(huán)境的打磨使其具備了強(qiáng)大的工業(yè)級生產(chǎn)能力膏斤,同時(shí)從框架的內(nèi)部設(shè)計(jì)和實(shí)現(xiàn)上注重接口的簡潔性和穩(wěn)定性徐绑,并規(guī)避了復(fù)雜概念和設(shè)計(jì)的引入,使其降低了PaddlePaddle的開發(fā)門檻莫辨,對開發(fā)者也更加友好傲茄。此外,開放出大量支持最新主流的模型庫沮榜,從而全方位為企業(yè)開發(fā)者提供幫助盘榨,使其可以順暢地進(jìn)行上層開發(fā)。當(dāng)前仍處于深度學(xué)習(xí)研究和應(yīng)用的持續(xù)火熱期蟆融,深度學(xué)習(xí)框架及平臺在研究界和工業(yè)界的需求仍持續(xù)增長草巡,百度PaddlePaddle也將隨著深度學(xué)習(xí)在各行各業(yè)的廣泛應(yīng)用,持續(xù)迭代和更新型酥,為中國開發(fā)者和企業(yè)提供更強(qiáng)山憨、更貼近需求的服務(wù)查乒,我們也歡迎廣大開發(fā)者和企業(yè)加入到百度PaddlePaddle的大家庭當(dāng)中來,共建深度學(xué)習(xí)生態(tài)萍歉,助力AI落地侣颂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末档桃,一起剝皮案震驚了整個(gè)濱河市枪孩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌藻肄,老刑警劉巖蔑舞,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嘹屯,居然都是意外死亡攻询,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門州弟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钧栖,“玉大人,你說我怎么就攤上這事婆翔≌埽” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵啃奴,是天一觀的道長潭陪。 經(jīng)常有香客問我,道長最蕾,這世上最難降的妖魔是什么依溯? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮瘟则,結(jié)果婚禮上黎炉,老公的妹妹穿的比我還像新娘。我一直安慰自己醋拧,他們只是感情好慷嗜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著趁仙,像睡著了一般洪添。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雀费,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天干奢,我揣著相機(jī)與錄音,去河邊找鬼盏袄。 笑死忿峻,一個(gè)胖子當(dāng)著我的面吹牛薄啥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逛尚,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼垄惧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绰寞?” 一聲冷哼從身側(cè)響起到逊,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滤钱,沒想到半個(gè)月后觉壶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡件缸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年铜靶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片他炊。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡争剿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痊末,到底是詐尸還是另有隱情蚕苇,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布舌胶,位于F島的核電站捆蜀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏幔嫂。R本人自食惡果不足惜辆它,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望履恩。 院中可真熱鬧锰茉,春花似錦、人聲如沸切心。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绽昏。三九已至协屡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間全谤,已是汗流浹背肤晓。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人补憾。 一個(gè)月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓漫萄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親盈匾。 傳聞我的和親對象是個(gè)殘疾皇子腾务,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

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