《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 專(zhuān)訪 | 小白也能搭建深度模型,百度EasyDL的背后你知多少

專(zhuān)訪 | 小白也能搭建深度模型,百度EasyDL的背后你知多少

2018-09-10

部署深度學(xué)習(xí)服務(wù)非常困難,因此簡(jiǎn)單易用的圖形化系統(tǒng)就顯得極為重要。本文介紹了百度的圖形化深度學(xué)習(xí)系統(tǒng) EasyDL,用戶(hù)可以不需要機(jī)器學(xué)習(xí)背景知識(shí)而搭建優(yōu)秀的深度學(xué)習(xí)服務(wù)。本文重點(diǎn)討論了 EasyDL 系統(tǒng)的技術(shù)模塊與優(yōu)勢(shì),它大量采用了遷移學(xué)習(xí)與自動(dòng)模型搜索,并針對(duì)不同的定制化任務(wù)學(xué)習(xí)不同的深度模型。

微信圖片_20180910214750.jpg



隨著機(jī)器學(xué)習(xí),尤其是深度學(xué)習(xí)在復(fù)雜數(shù)據(jù)上的表現(xiàn)越來(lái)越優(yōu)秀,很多開(kāi)發(fā)者希望能將其應(yīng)用到自己的服務(wù)或產(chǎn)品中。然而即使是使用預(yù)訓(xùn)練模型或開(kāi)源框架,對(duì)于很多不太了解機(jī)器學(xué)習(xí)算法工程的開(kāi)發(fā)者而言還是有非常大的挑戰(zhàn)。此外,若機(jī)器學(xué)習(xí)不是產(chǎn)品的核心技術(shù),額外維護(hù)機(jī)器學(xué)習(xí)算法團(tuán)隊(duì)的成本又非常高。因此,很多時(shí)候我們需要一種能快速使用高性能深度學(xué)習(xí)的方法。


從整體而言,構(gòu)建我們自己的機(jī)器學(xué)習(xí)應(yīng)用首先需要收集數(shù)據(jù),并執(zhí)行復(fù)雜而繁瑣的數(shù)據(jù)預(yù)處理,隨后如何選擇模型與各種層出不窮的修正結(jié)構(gòu)也非常困難。在訓(xùn)練中,需要經(jīng)驗(yàn)的調(diào)參過(guò)程與各種技巧也會(huì)對(duì)模型性能造成影響,更不用說(shuō)需要根據(jù)數(shù)據(jù)情況選擇與修正最優(yōu)化方法了。因此即使不考慮工程化問(wèn)題,將機(jī)器學(xué)習(xí)模型部署到客戶(hù)端也有非常大的成本。


其實(shí)目前在 GitHub 上有很多優(yōu)秀的機(jī)器學(xué)習(xí)開(kāi)源項(xiàng)目,例如各種預(yù)訓(xùn)練深度卷積網(wǎng)絡(luò)、高度封裝的算法以及大量開(kāi)放數(shù)據(jù)集,不過(guò)要想復(fù)現(xiàn)以及根據(jù)實(shí)際情況調(diào)整這些項(xiàng)目,開(kāi)發(fā)者還是需要一些 ML 領(lǐng)域知識(shí)。此外,很多項(xiàng)目的文檔說(shuō)明與技術(shù)支持都有待提高,它們需要開(kāi)發(fā)者一點(diǎn)點(diǎn)調(diào)試與試錯(cuò)才能正確搭建。更重要的是,將訓(xùn)練后的模型部署到移動(dòng)端等平臺(tái)會(huì)遇到非常多的困難,這主要還是當(dāng)前流行的深度學(xué)習(xí)框架并不能完美支持模型部署。


所以對(duì)于不太了解 ML 的開(kāi)發(fā)者而言,最好將上述這些過(guò)程都自動(dòng)化。例如我們只需要收集少量和任務(wù)相關(guān)的數(shù)據(jù),并直接在平臺(tái)上完成標(biāo)注,然后讓系統(tǒng)幫我們選擇合適模型與超參數(shù)進(jìn)行訓(xùn)練,最后已訓(xùn)練模型還可以直接部署到云 API 或打包成安裝包。其實(shí)現(xiàn)在也已經(jīng)有一些平臺(tái)能完成這一些過(guò)程,例如谷歌的 AutoML 和百度的 EasyDL 等。


EasyDL 主頁(yè):http://ai.baidu.com/easydl/


如下所示為 EasyDL 訓(xùn)練模型的基本流程,整個(gè)過(guò)程都是圖形化操作,且如果是上傳已經(jīng)處理好的數(shù)據(jù),那么強(qiáng)大的遷移學(xué)習(xí)系統(tǒng)會(huì)在幾分鐘內(nèi)完成模型的訓(xùn)練。百度 AI 開(kāi)放平臺(tái)文檔中心對(duì) EasyDL 的建模過(guò)程有詳細(xì)的描述,因?yàn)檫@一圖形化的系統(tǒng)非常簡(jiǎn)明,所以文檔也通俗易懂。

微信圖片_20180910214819.jpg



如上所示,EasyDL 將整個(gè)服務(wù)精煉為四個(gè)步驟,并且可以在不需要機(jī)器學(xué)習(xí)背景知識(shí)的情況下開(kāi)發(fā)模型。創(chuàng)建模型只需要選擇我們?nèi)蝿?wù)所屬的類(lèi)別,例如圖像分類(lèi)或目標(biāo)檢測(cè)等。訓(xùn)練模型只是選擇我們創(chuàng)建的任務(wù)與數(shù)據(jù),再點(diǎn)擊訓(xùn)練就行了,系統(tǒng)會(huì)自動(dòng)搜索各種模型架構(gòu)和超參數(shù)。最后上線模型同樣也只需要確定到底是獲取云端 API 還是離線 SDK,整個(gè)過(guò)程不會(huì)涉及到復(fù)雜的算法與工程方面問(wèn)題。


EasyDL 在 2017 年 11 月初上線了定制化圖像識(shí)別服務(wù),并在業(yè)內(nèi)展開(kāi)公開(kāi)測(cè)試。在 2018 年 4 月、5 月和 7 月陸續(xù)發(fā)布了定制化物體檢測(cè)服務(wù)、定制化模型設(shè)備端計(jì)算和定制化聲音識(shí)別等多個(gè)定制化能力方向,并形成了從訓(xùn)練數(shù)據(jù)到最終定制化服務(wù)的一站式端云一體平臺(tái)。目前 EasyDL 的各項(xiàng)定制能力在業(yè)內(nèi)廣泛應(yīng)用,累計(jì)過(guò)萬(wàn)用戶(hù),在包括零售、安防、互聯(lián)網(wǎng)內(nèi)容審核、工業(yè)質(zhì)檢等等數(shù)十個(gè)行業(yè)都有應(yīng)用落地,并提升了這些行業(yè)的智能化水平和生產(chǎn)效率。


主要技術(shù)手段


EasyDL 的主要優(yōu)勢(shì)在應(yīng)用案例的累積、簡(jiǎn)明的產(chǎn)品設(shè)計(jì)與操作流程、支持移動(dòng)端計(jì)算與部署等,而支持這些優(yōu)勢(shì)的是 EasyDL 背后各種主要技術(shù)手段。例如 AI Workflow 統(tǒng)一大數(shù)據(jù)工程系統(tǒng)與分布式訓(xùn)練系統(tǒng),為 EasyDL 提供穩(wěn)定的系統(tǒng)和流程支持;采用 PaddlePaddle 作為基本框架,為模型的搭建提供基礎(chǔ);采用 Auto Model Search 自動(dòng)搜索模型超參數(shù),支持獲得更好的訓(xùn)練效果;采用遷移學(xué)習(xí)訓(xùn)練較小的用戶(hù)數(shù)據(jù)集,從而大大加強(qiáng)訓(xùn)練效率與效果等。


AI Workflow 與 PaddlePaddle


AI Workflow 是百度對(duì)機(jī)器學(xué)習(xí)從訓(xùn)練到上線構(gòu)建的工作流引擎,它是一個(gè)將大數(shù)據(jù)成熟的工程系統(tǒng)與人工智能分布式模型訓(xùn)練相結(jié)合的引擎。它覆蓋了從訓(xùn)練數(shù)據(jù)的存儲(chǔ),ETL(抽取、交互轉(zhuǎn)換和加載)、模型訓(xùn)練任務(wù)的發(fā)起、訓(xùn)練集群資源調(diào)度、訓(xùn)練狀態(tài)監(jiān)控同步、模型自動(dòng)部署、服務(wù)發(fā)布上線等全部環(huán)節(jié),并實(shí)現(xiàn)了全自動(dòng)流程。


總體而言,AI Workflow 的主要流程可以分為四個(gè)階段。首先第一階段是對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,例如對(duì)圖像實(shí)現(xiàn)歸一化、大小裁剪與數(shù)據(jù)增強(qiáng)等。隨后第二階段是模型的訓(xùn)練,或者說(shuō)是學(xué)習(xí)過(guò)程,這一階段會(huì)基于百度研發(fā)的深度學(xué)習(xí)框架 PaddlePaddle 進(jìn)行分布式訓(xùn)練。訓(xùn)練完模型后,第三階段就需要驗(yàn)證模型的效果,也就是說(shuō)用戶(hù)可以上傳小規(guī)模的測(cè)試數(shù)據(jù),并對(duì)模型的召回率與精度等指標(biāo)進(jìn)行驗(yàn)證。最后第四階段為服務(wù)的上線或模型的部署,在這個(gè)過(guò)程中我們可以將已訓(xùn)練模型加載到云端并對(duì)外提供服務(wù),也可以打包為一組移動(dòng)端開(kāi)發(fā)套件,為進(jìn)一步集成到其它任務(wù)中提供接口。

 

微信圖片_20180910214848.jpg



整個(gè) AI Workflow 在系統(tǒng)層面和服務(wù)層面同樣也會(huì)有一些優(yōu)化,例如 PaddlePaddle 團(tuán)隊(duì)會(huì)對(duì)模型的訓(xùn)練階段做很多優(yōu)化,包括 GPU 的內(nèi)核融合和利用 RDMA 優(yōu)化分布式訓(xùn)練等。而 EasyDL 團(tuán)隊(duì)這邊也會(huì)在服務(wù)層面做一些優(yōu)化,例如在推理階段中,他們需要優(yōu)化任務(wù)調(diào)度,并加速模型推理速度。


在 AI Workflow 中,整個(gè)訓(xùn)練和推理階段都是使用 PaddlePaddle 框架,它包含了許多高性能的模型算法實(shí)現(xiàn), 為最終出色的效果提供了強(qiáng)有力的支撐。雖然 EasyDL 的用戶(hù)不需要了解與使用 PaddlePaddle,但其多年的 AI 技術(shù)積累以及大量的業(yè)務(wù)使用驗(yàn)證,使得框架對(duì)于各種任務(wù)都非常安全穩(wěn)定。


此外針對(duì)于移動(dòng)端部署,Paddle-Mobile 設(shè)計(jì)之初就對(duì)嵌入式的性能、體積、能耗、硬件平臺(tái)覆蓋等方面做了考慮。而 EasyDL 的端計(jì)算版本也是使用該框架設(shè)計(jì)更緊湊與高效的模型,并將其發(fā)布到移動(dòng)端。


自動(dòng)模型搜索與遷移學(xué)習(xí)


目前 EasyDL 采用了 Auto Model Search 的算法,即系統(tǒng)會(huì)同時(shí)發(fā)起多個(gè)模型結(jié)構(gòu)和超參數(shù)不同的訓(xùn)練,并采用對(duì)應(yīng)算法進(jìn)行最終模型的篩選,從而確保更優(yōu)的模型效果。Auto Model Search 與后文介紹的 AutoDL 在功能上是相近的,但百度的 AutoDL 是一種神經(jīng)架構(gòu)搜索方法,它關(guān)注于利用強(qiáng)化學(xué)習(xí)從頭構(gòu)建神經(jīng)網(wǎng)絡(luò)。


Auto Model Search 是指對(duì)于同一方向的定制能力,也就是說(shuō)它會(huì)采用多個(gè)經(jīng)典模型以及不同的超參數(shù)配置,并分別進(jìn)行訓(xùn)練。然后再按一些策略挑選出比較好的結(jié)果,并完成模型的上線。其中系統(tǒng)可調(diào)的超參數(shù)包含神經(jīng)網(wǎng)絡(luò)類(lèi)型的選擇,例如對(duì)于圖像分類(lèi)可以選擇 Inception、ResNet 或者其他。而對(duì)于每一個(gè)模型,可選的超參數(shù)包含批量大小、迭代數(shù)量和卷積核大小等。在確定模型架構(gòu),并配置完超參數(shù)后,每一個(gè)單獨(dú)的模型都會(huì)并行的訓(xùn)練,并按一定策略選擇效果最好的模型。


其實(shí) Auto Model Search 是針對(duì)特定用戶(hù)數(shù)據(jù)的,在用戶(hù)上傳與他們?nèi)蝿?wù)相關(guān)的數(shù)據(jù)后,EasyDL 會(huì)抽取多個(gè)已訓(xùn)練深度網(wǎng)絡(luò),并采用遷移學(xué)習(xí)和不同的超參配置精調(diào)這些深度網(wǎng)絡(luò)。如下所示在用戶(hù)確定好小型數(shù)據(jù)集后,EasyDL 可能會(huì)選擇 Inception v3/v4 和 ResNet 等,在固定這幾個(gè)網(wǎng)絡(luò)前面層級(jí)的權(quán)重后,系統(tǒng)會(huì)根據(jù)用戶(hù)數(shù)據(jù)以及不同的批量大小和學(xué)習(xí)率訓(xùn)練網(wǎng)絡(luò)。

 

微信圖片_20180910214921.jpg



EasyDL 大量采用了遷移學(xué)習(xí)技術(shù),各種基礎(chǔ)模型會(huì)在百度大規(guī)模數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,并將從中學(xué)習(xí)到的知識(shí)(Knowledge)運(yùn)用到用戶(hù)提交的小規(guī)模訓(xùn)練數(shù)據(jù)集上,從而實(shí)現(xiàn)出色的模型效果和快速的模型訓(xùn)練。遷移學(xué)習(xí)的主干是非常大的網(wǎng)絡(luò),而一般我們每一類(lèi)只需要使用 20 到 100 多張圖像就能完成對(duì)后面層級(jí)的訓(xùn)練,且 EasyDL 也會(huì)采用 Early Stopping 等正則化手段降低模型過(guò)擬合的風(fēng)險(xiǎn)。


圖像的遷移學(xué)習(xí)可能比較好處理,但 EasyDL 的聲音分類(lèi)并不需要太關(guān)注序列上的長(zhǎng)期依賴(lài)關(guān)系,因此它也能使用遷移學(xué)習(xí)。聲音分類(lèi)的遷移主要會(huì)采用 MFCC 或加上快速傅立葉變換將音頻的時(shí)域數(shù)據(jù)轉(zhuǎn)換為頻域的圖,然后再利用與計(jì)算機(jī)視覺(jué)相類(lèi)似的遷移方法傳遞與音頻相關(guān)的知識(shí)。而以后在處理語(yǔ)音識(shí)別等存在長(zhǎng)期依賴(lài)性的數(shù)據(jù)時(shí),主體模型可能會(huì)繼續(xù)用到其它遷移知識(shí)的技術(shù)。

微信圖片_20180910214950.jpg



此外對(duì)于圖像方面的遷移學(xué)習(xí),如果用戶(hù)需要區(qū)分非常精細(xì)的圖片或執(zhí)行細(xì)粒度識(shí)別任務(wù),那么一般遷移學(xué)習(xí)主要會(huì)獲取圖像的全局信息,它很難抽取精細(xì)特征。EasyDL 其實(shí)也能處理這些細(xì)粒度識(shí)別任務(wù),但遷移效果很大程度上會(huì)受到用戶(hù)數(shù)據(jù)的影響。因此訓(xùn)練集圖片需要和實(shí)際場(chǎng)景要識(shí)別的圖片環(huán)境一致,且對(duì)于細(xì)粒度識(shí)別這種具有很多相似圖像的任務(wù),用戶(hù)需要增加更多的訓(xùn)練圖像。


最后,為了提升模型遷移效果,EasyDL 會(huì)做一些特別的數(shù)據(jù)增強(qiáng)操作,即增加一些圖像以加強(qiáng)模型的遷移效果。例如假定用戶(hù)希望系統(tǒng)能識(shí)別兩個(gè)類(lèi)別,并為這兩個(gè)類(lèi)別提供了特定的數(shù)據(jù),那么系統(tǒng)會(huì)自動(dòng)增加其它一些數(shù)據(jù),并作為第三個(gè)類(lèi)別。在訓(xùn)練中,系統(tǒng)不僅需要識(shí)別用戶(hù)的數(shù)據(jù),同時(shí)還需要識(shí)別自動(dòng)添加的數(shù)據(jù)為第三類(lèi)別。


神經(jīng)架構(gòu)搜索


EasyDL 即將引入百度領(lǐng)先的 AutoDL 技術(shù),這是一種 AutoML 的技術(shù),它實(shí)現(xiàn)了深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)的自動(dòng)搜索和設(shè)計(jì)。百度的 AutoDL 是工業(yè)界中的一個(gè)項(xiàng)目,因此它主要由三部分組成,首先第一部分是從頭開(kāi)始搜索神經(jīng)網(wǎng)絡(luò)架構(gòu),即神經(jīng)架構(gòu)搜索。第二部分是神經(jīng)網(wǎng)絡(luò)的自動(dòng)適配,也就是說(shuō)根據(jù)不同的任務(wù)目標(biāo)與需要進(jìn)行適配,比如說(shuō)目標(biāo)是部署模型到移動(dòng)端,那么系統(tǒng)就需要考慮正確率、參數(shù)量和計(jì)算量等條件來(lái)適配網(wǎng)絡(luò)。第三部分是設(shè)計(jì)網(wǎng)絡(luò)的遷移能力,AutoDL 希望搜索出具有強(qiáng)大遷移能力的一般性神經(jīng)網(wǎng)絡(luò)架構(gòu)。實(shí)際上架構(gòu)搜索與遷移能力是存在相對(duì)關(guān)系的,系統(tǒng)花大量計(jì)算資源希望搜索到針對(duì)特定數(shù)據(jù)有強(qiáng)大能力的架構(gòu),而可遷移性又希望系統(tǒng)找到的架構(gòu)能推廣到其它更多的數(shù)據(jù)。


在架構(gòu)搜索策略上,目前比較流行的有進(jìn)化策略、強(qiáng)化學(xué)習(xí)和基于梯度的連續(xù)空間搜索方法。而百度的 AutoDL 主要是基于強(qiáng)化學(xué)習(xí),其核心思路是希望能搜索到盡可能廣的空間。為了將神經(jīng)架構(gòu)搜索構(gòu)造為強(qiáng)化學(xué)習(xí)問(wèn)題,神經(jīng)架構(gòu)的生成可以視為智能體對(duì)動(dòng)作的選擇,動(dòng)作空間也就相當(dāng)于搜索空間。智能體獲得的獎(jiǎng)勵(lì)會(huì)根據(jù)已訓(xùn)練架構(gòu)在驗(yàn)證數(shù)據(jù)上的性能評(píng)估而定義。


不同的 RL 方法在表示智能體的策略和如何優(yōu)化它們存在差異:Zoph 等研究者使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)策略對(duì)一個(gè)字符串進(jìn)行序列采樣,該字符串反過(guò)來(lái)對(duì)神經(jīng)架構(gòu)進(jìn)行編碼。Baker 等人利用 Q-learning 訓(xùn)練策略,該策略依次選擇層的類(lèi)型和對(duì)應(yīng)的超參數(shù)。這些研究,包括谷歌大腦早期提出來(lái)的 NASNet,它們都引入了非常強(qiáng)的先驗(yàn)知識(shí)。


例如 NASNet 規(guī)定了網(wǎng)絡(luò)實(shí)際上有多少單元,這些單元的搭建方式也是手動(dòng)設(shè)計(jì)的,系統(tǒng)只需要自動(dòng)設(shè)計(jì)單元的具體結(jié)構(gòu)。而設(shè)計(jì)具體的單元結(jié)構(gòu)也會(huì)存在一些先驗(yàn)知識(shí),例如限制單元必須是兩個(gè)操作輸出一個(gè)結(jié)果等。AutoDL 主要的方向是希望搜索任何有向無(wú)環(huán)圖結(jié)構(gòu),這樣模型的表達(dá)能力和搜索空間就遠(yuǎn)遠(yuǎn)大于之前的方法。此外由于降低了搜索的先驗(yàn)知識(shí),因此計(jì)算力會(huì)變得非常大,這也就對(duì)強(qiáng)化學(xué)習(xí)的采樣效率有非常高的要求。

 

微信圖片_20180910215028.jpg


三階段的層級(jí)架構(gòu)表征,組成有向無(wú)環(huán)圖。


除了神經(jīng)架構(gòu)搜索,模型的適配也是非常重要的方向。AutoDL 會(huì)將很多目標(biāo)添加到強(qiáng)化學(xué)習(xí)的反饋值,例如我們考慮一些多任務(wù)學(xué)習(xí),模型會(huì)有一套衡量參數(shù)量、計(jì)算量與正確率的方法,并最終反饋到強(qiáng)化學(xué)習(xí),從而修正搜索方向。


AutoDL 采用的是一種 Hierarchical RL,它同樣也是基于 on policy。因?yàn)?AutoDL 的搜索空間非常大,系統(tǒng)需要一些結(jié)構(gòu)性的探索,因此搜索空間的探索才回更有效率一些。NASNet 之前第一個(gè)版本是基于策略梯度(PG),第二版本是基于近端策略?xún)?yōu)化(PPO),雖然它們的抽樣效率比較低,但它們確實(shí)展示了強(qiáng)化學(xué)習(xí)在這一方面的能力。所以總體而言,AutoDL 主要還是沿著 NASNet 所開(kāi)辟的方法,并利用其它技術(shù)與技巧提高采樣效率。


模型部署與設(shè)備端計(jì)算


目前 EasyDL 有兩種發(fā)布服務(wù)的方式,即生成在線 API 和離線 SDK。從應(yīng)用場(chǎng)景來(lái)說(shuō),在線 API 能讓開(kāi)發(fā)者更方便地與業(yè)務(wù)系統(tǒng)整合,因?yàn)樵诰€ API 畢竟是 HTTP 層面的接口。而離線 SDK 有更低的調(diào)用延遲,對(duì)互聯(lián)網(wǎng)的依賴(lài)性也沒(méi)有那么強(qiáng),它可以利用本地計(jì)算資源實(shí)現(xiàn)更安全與穩(wěn)定的計(jì)算。而從技術(shù)實(shí)現(xiàn)來(lái)看,在線 API 是云計(jì)算的形式,離線 SDK 是端計(jì)算的形式,它們主要的差別在于是不是需要對(duì)性能與能耗做權(quán)衡。

 

微信圖片_20180910215057.jpg


目前可以實(shí)現(xiàn)在 Android、iOS 等系統(tǒng)的 GPU、NPU 等芯片上對(duì)定制模型預(yù)測(cè)階段計(jì)算的加速。


在線 API 的能耗主要出現(xiàn)在服務(wù)端,系統(tǒng)不需要做太多的量化或者模型剪枝等優(yōu)化,模型也不需要做特定的壓縮。此外,在線 API 對(duì)于芯片端的優(yōu)化也只需要考慮各種云端 GPU 來(lái)做一系列的推理加速。但是移動(dòng)端的話選擇非常豐富,例如可以是針對(duì)高通系列的芯片、也可以針對(duì)神經(jīng)網(wǎng)絡(luò) NPU 或者針對(duì)可插拔的 Intel Movidius 加速卡進(jìn)行優(yōu)化。因此離線 SDK 的技術(shù)實(shí)現(xiàn)相對(duì)而言要難一些。


一般對(duì)于機(jī)器學(xué)習(xí)開(kāi)發(fā)者而言,在云端訓(xùn)練一個(gè)模型,并部署為一個(gè)服務(wù)已經(jīng)比較成熟。但將模型遷移到設(shè)備端仍然會(huì)面臨很多困難,開(kāi)發(fā)者需要考慮硬件兼容、能耗與性能等非常具體的問(wèn)題。EasyDL 在發(fā)布離線 SDK 的過(guò)程中就已經(jīng)自動(dòng)做了很多工程優(yōu)化,包括對(duì)輕量模型的選擇和對(duì)計(jì)算階段的量化等。其中選擇輕量架構(gòu)可以大幅度降低模型大小,量化可以大量降低包體大小,它們都能加速應(yīng)用在內(nèi)存中的加載。


總的而言對(duì)于設(shè)備端計(jì)算加速,首先 EasyDL 會(huì)選擇 MobileNet 和 ShuffleNet 等輕量級(jí)的模型,例如在目標(biāo)檢測(cè)中,系統(tǒng)可能會(huì)使用 MobileNet 代替 SSD 中的主干網(wǎng)絡(luò),因而獲得更高能效比。第二點(diǎn)是系統(tǒng)會(huì)通過(guò)模型剪枝將不太重要的網(wǎng)絡(luò)參數(shù)去掉,例如去掉 CNN 中權(quán)重小于某個(gè)閾值的連接或直接去掉不太重要的卷積核。第三點(diǎn)會(huì)采用量化操作加速推理階段的計(jì)算,其主要思想是降低卷積運(yùn)算中數(shù)值的精度,從而降低整體的計(jì)算量與參數(shù)存儲(chǔ)空間。


設(shè)備端加速第四點(diǎn)會(huì)采用很多指令集,包括 ARM 和 Neon 等,其中 Neon 是一種單指令多數(shù)據(jù)的指令集,系統(tǒng)可以通過(guò)一條指令加速多條數(shù)據(jù),這些都是硬件層面的加速。最后設(shè)備端還能從計(jì)算單元的角度進(jìn)行加速,例如 GPU 和 NPU 等。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。