開(kāi)發(fà)者(zhě)實(shí)測:NVIDIAJetsonAGXXavier使用(yòng)開(kāi)發(fà)套(tào)件(jiàn)的(de)初步經(jīng)验(yàn)

 行業动态     |      2022-08-31 14:36:06    |      瀝拓

  

  01

  背景

  如(rú)果(guǒ)将信(xìn)息技術(shù)産業劃(huà)分(fēn)为三(sān)个(gè)时(shí)代(dài):PC时(shí)代(dài)、移动互聯网(wǎng)时(shí)代(dài)和(hé)人(rén)工智能(néng)(AI)时(shí)間(jiān)。目前(qián),我(wǒ)们(men)正(zhèng)處(chù)于(yú)移动互聯网(wǎng)时(shí)代(dài)末(mò)期和(hé)下(xià)一(yī)个(gè)时(shí)代(dài)早(zǎo)期,即以深度(dù)神經(jīng)网(wǎng)络算法(fǎ)为核心的(de)时(shí)代(dài)AI时(shí)代(dài)。

  近(jìn)年(nián)来(lái),机器學(xué)習領域最(zuì)引人(rén)注目的(de)方(fāng)向(xiàng)是(shì)深度(dù)神經(jīng)网(wǎng)络模拟人(rén)腦的(de)工作(zuò)原理(lǐ)。2006年(nián)深度(dù)學(xué)習領軍者(zhě)GeoffreyHinton提(tí)出(chū)了(le)基于(yú)“逐层(céng)訓练”和(hé)“精調”在(zài)解(jiě)決了(le)深度(dù)神經(jīng)网(wǎng)络參數訓练問(wèn)题後(hòu),學(xué)術(shù)界和(hé)工業界对深度(dù)神經(jīng)网(wǎng)络的(de)研究充滿热(rè)情(qíng),在(zài)語(yǔ)音(yīn)識别、图(tú)像識别、自(zì)然語(yǔ)言處(chù)理(lǐ)等領域逐步取(qǔ)得突破。2012年(nián)深度(dù)卷(juǎn)積神經(jīng)网(wǎng)络ImageNet在(zài)图(tú)像分(fēn)类競賽中(zhōng),世界第(dì)一(yī),标(biāo)志着傳統方(fāng)法(fǎ)超越了(le)手(shǒu)工設计的(de)特(tè)點(diǎn)。此(cǐ)後(hòu),深度(dù)神經(jīng)网(wǎng)络的(de)發(fà)展(zhǎn)進(jìn)入(rù)了(le)快(kuài)车道。2016年(nián)基于(yú)深度(dù)學(xué)習AlphaGo他(tā)擊敗了(le)世界围棋冠軍李世石,並(bìng)同(tóng)时(shí)舉行了(le)著名(míng)的(de)人(rén)工智能(néng)學(xué)術(shù)会(huì)议CVPR,NIPS,AAAI和(hé)ICLR深度(dù)神經(jīng)网(wǎng)络的(de)主(zhǔ)题占主(zhǔ)導地(dì)位(wèi)。以深度(dù)神經(jīng)网(wǎng)络为核心的(de)2017年(nián)DeepStack算法(fǎ)在(zài)德州扑克(kè)遊戲中(zhōng)擊敗了(le)人(rén)类職業玩家(jiā)。人(rén)工智能(néng)芯片于(yú)2018年(nián)應(yìng)用(yòng)于(yú)雲(yún)计算和(hé)移动終(zhōng)端。目前(qián),深度(dù)神經(jīng)网(wǎng)络的(de)研究正(zhèng)朝着更(gèng)深更(gèng)廣的(de)方(fāng)向(xiàng)發(fà)展(zhǎn)。一(yī)方(fāng)面(miàn),深度(dù)神經(jīng)网(wǎng)络的(de)理(lǐ)論研究越来(lái)越深入(rù)。另(lìng)一(yī)方(fāng)面(miàn),如(rú)何開(kāi)發(fà)基于(yú)深度(dù)神經(jīng)网(wǎng)络的(de)智能(néng)系(xì)統已經(jīng)成(chéng)为關(guān)鍵,特(tè)别是(shì)如(rú)何将人(rén)工智能(néng)技術(shù)與(yǔ)邊(biān)緣计算相結合。

  作(zuò)为一(yī)種(zhǒng)计算模式,雲(yún)计算已經(jīng)滲透到(dào)我(wǒ)们(men)的(de)日(rì)常生(shēng)活中(zhōng),但有(yǒu)很多(duō)應(yìng)用(yòng)。由(yóu)于(yú)网(wǎng)络不(bù)可(kě)用(yòng)、网(wǎng)络带(dài)宽(kuān)不(bù)足、网(wǎng)络延遲大(dà),基于(yú)雲(yún)计算的(de)模式無法(fǎ)滿足需求,这(zhè)是(shì)邊(biān)緣计算覆蓋的(de)領域。中(zhōng)國(guó)邊(biān)緣计算産業聯盟(EdgeComputingConsortium,ECC)定(dìng)義邊(biān)緣计算是(shì)指将网(wǎng)络、计算、存儲和(hé)應(yìng)用(yòng)核心容量(liàng)集成(chéng)在(zài)网(wǎng)络邊(biān)緣的(de)開(kāi)放(fàng)平台(tái),以滿足敏捷連(lián)接、實(shí)时(shí)業務(wù)、數據(jù)優化(huà)和(hé)應(yìng)用(yòng)智能(néng)的(de)關(guān)鍵需求。因此(cǐ),为了(le)在(zài)邊(biān)緣计算中(zhōng)部(bù)署(shǔ)人(rén)工智能(néng)應(yìng)用(yòng)程序,必須有(yǒu)一(yī)个(gè)高(gāo)性(xìng)能(néng)、低(dī)功耗的(de)超級计算平台(tái)。NVIDIA最(zuì)近(jìn)發(fà)布(bù)的(de)JetsonAGXXavier在(zài)邊(biān)緣计算场(chǎng)景中(zhōng)部(bù)署(shǔ)人(rén)工智能(néng)應(yìng)用(yòng)的(de)利器。

  嵌入(rù)式超級计算机JetsonAGXXavier可(kě)用(yòng)于(yú)加速制造、物(wù)流、零(líng)售、服(fú)務(wù)、农業、醫疗等行業的(de)智能(néng)化(huà)發(fà)展(zhǎn),为智慧城(chéng)市(shì)的(de)發(fà)展(zhǎn)做出(chū)貢獻。

  02

  Xavier硬(yìng)件(jiàn)架構特(tè)性(xìng)

  Xavier是(shì)最(zuì)新(xīn)一(yī)代(dài)NVIDIA嵌入(rù)式行業領先(xiān)Linux高(gāo)性(xìng)能(néng)计算机,主(zhǔ)要(yào)包(bāo)括8核NVIDIACarmelARMv8.264位(wèi)CPU,512核心由(yóu)8个(gè)多(duō)流處(chù)理(lǐ)器组成(chéng)Volta架構的(de)GPU,支持(chí)並(bìng)行计算語(yǔ)言CUDA10、支持(chí)多(duō)精度(dù)计算,FP16计算能(néng)力为11TFLOPS(每秒(miǎo)浮點(diǎn)運算次(cì)數),INT8为22TOPS。64个(gè)Tensor核心,16GB256位(wèi)LPDDR4x,双(shuāng)深度(dù)學(xué)習加速器(DLA)引擎,NVIDIA视覺加速器引擎,高(gāo)清(qīng)视頻編碼器,Xavier集成(chéng)的(de)VoltaGPU,具體(tǐ)參數如(rú)表(biǎo)1所(suǒ)示,GPU图(tú)1所(suǒ)示的(de)架構。

  用(yòng)戶可(kě)以根(gēn)據(jù)應(yìng)用(yòng)程序的(de)需要(yào)進(jìn)行配置Xavier工作(zuò)在(zài)10W,15W和(hé)30W有(yǒu)多(duō)種(zhǒng)工作(zuò)模式的(de)模式,JetsonAGXXavier能(néng)效比其(qí)前(qián)身(shēn)JetsonTX2比于(yú)10倍,性(xìng)能(néng)超过(guò)20倍。

  Xavier內(nèi)置的(de)TensorCore支持(chí)混合精度(dù)计算。下(xià)面(miàn)的(de)融合乘法(fǎ)加法(fǎ)可(kě)以完成(chéng):執行两(liǎng)个(gè)4*4FP16矩阵(zhèn)相乘,将結果(guǒ)添加到(dào)4*4FP16或(huò)FP在(zài)32矩阵(zhèn)中(zhōng),最(zuì)終(zhōng)輸出(chū)新(xīn)的(de)44*4FP16或(huò)FP32矩阵(zhèn)。在(zài)訓练和(hé)推理(lǐ)过(guò)程中(zhōng),深度(dù)神經(jīng)网(wǎng)络最(zuì)耗时(shí)的(de)卷(juǎn)積操作(zuò)可(kě)以轉(zhuǎn)化(huà)为上(shàng)述矩阵(zhèn)乘法(fǎ),TensorCore计算效率大(dà)大(dà)提(tí)高(gāo)。

  Xavier具有(yǒu)两(liǎng)个(gè)NVIDIA深度(dù)學(xué)習加速器(DLA)引擎可(kě)以通(tòng)过(guò)深度(dù)神經(jīng)网(wǎng)络的(de)高(gāo)性(xìng)能(néng)推理(lǐ)来(lái)计算,其(qí)結構如(rú)图(tú)2所(suǒ)示。DLA具有(yǒu)高(gāo)达(dá)5TOPSINT8或(huò)2.5TFLOPSFP16计算性(xìng)能(néng),功耗僅为0.5-1.5W。DLA支持(chí)加速CNN层(céng),如(rú)卷(juǎn)積、反卷(juǎn)積、激活函(hán)數、最(zuì)小/最(zuì)大(dà)/平均池化(huà)、局(jú)部(bù)響應(yìng)歸一(yī)化(huà)和(hé)全(quán)連(lián)接层(céng)。

  03

  Xavier的(de)软(ruǎn)件(jiàn)平台(tái)

  Xavier支持(chí)深度(dù)神經(jīng)网(wǎng)络推理(lǐ),主(zhǔ)要(yào)用(yòng)于(yú)邊(biān)緣计算Caffe,Tensorflow,PyTorch導出(chū)各(gè)種(zhǒng)深度(dù)學(xué)習框架的(de)模型。为了(le)進(jìn)一(yī)步提(tí)高(gāo)计算效率,還(huán)可(kě)以使用(yòng)TensorRT利用(yòng)计算图(tú)優化(huà)、算子融合、量(liàng)化(huà)等方(fāng)法(fǎ),優化(huà)訓练模型。Xavier通(tòng)过(guò)TensorRT使開(kāi)發(fà)人(rén)員能(néng)夠充分(fēn)利用(yòng)它(tā)GPU中(zhōng)的(de)Tensorcore和(hé)DLA计算模块(kuài),如(rú)單元(yuán)。

  04

  Xavier推理(lǐ)性(xìng)能(néng)評價

  4.測試平台(tái)參數

  为了(le)測試Xavier目标(biāo)檢測算法(fǎ)用(yòng)于(yú)推理(lǐ)性(xìng)能(néng)GeForce840M,JetsonTX2和(hé)Xavier測試三(sān)个(gè)计算平台(tái)。JetsonTX默認工作(zuò)MAXP_CORE_ARM模式,Xavier默認工作(zuò)MODE_15W模式。表(biǎo)2描述了(le)三(sān)个(gè)计算平台(tái)的(de)關(guān)鍵技術(shù)參數,如(rú)图(tú)3所(suǒ)示。

  4.2FasterR-CNN介紹目标(biāo)檢測算法(fǎ)

  我(wǒ)们(men)利用(yòng)FasterR-CNN測試目标(biāo)檢測算法(fǎ)Xavier推理(lǐ)性(xìng)能(néng)。FasterR-CNN是(shì)FastR-CNN和(hé)RPN(區(qū)域候選网(wǎng)络)的(de)整合。RPN使用(yòng)全(quán)卷(juǎn)積网(wǎng)络(FCN,fully-convolutionalnetwork)生(shēng)成(chéng)檢測候選框的(de)任務(wù)端到(dào)端訓练可(kě)以同(tóng)时(shí)預測目标(biāo)的(de)邊(biān)界和(hé)分(fēn)數。这(zhè)里(lǐ)的(de)使用(yòng)是(shì)基于(yú)VGG16的(de)FasterR-CNN网(wǎng)络,其(qí)算法(fǎ)的(de)主(zhǔ)要(yào)流程如(rú)4所(suǒ)示。FasterR-CNN卷(juǎn)積网(wǎng)络的(de)結構主(zhǔ)要(yào)包(bāo)括:①13个(gè)conv层(céng):kernel_size=3,pad=1,stride=1;②13个(gè)relu层(céng):激活函(hán)數,不(bù)改變(biàn)图(tú)片大(dà)小;③4个(gè)pooling层(céng):kernel_size=2,stride=2;pooling层(céng)会(huì)使輸出(chū)图(tú)像为輸入(rù)图(tú)像的(de)1/2;

  4.介紹試验(yàn)結果(guǒ)

  測試时(shí)在(zài)TensorRT給(gěi)出(chū)示例代(dài)碼sampleFasterR-CNN.cpp在(zài)上(shàng)面(miàn)找(zhǎo)到(dào)推理(lǐ)函(hán)數,在(zài)它(tā)之(zhī)前(qián)和(hé)之(zhī)後(hòu)添加时(shí)間(jiān)函(hán)數gettimeofday(),计算其(qí)推理(lǐ)时(shí)間(jiān)。时(shí)間(jiān)平均值在(zài)不(bù)同(tóng)的(de)硬(yìng)件(jiàn)平台(tái)上(shàng)重(zhòng)複五(wǔ)次(cì)