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

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

0

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

本文作者: 楊鯉萍 2019-06-25 16:16
導(dǎo)語(yǔ):恭喜「西安交通大學(xué)人工智能與機(jī)器人研究所團(tuán)隊(duì) XJTU-Tripler」

雷鋒網(wǎng) AI 科技評(píng)論按:2019 年 6 月 5 日,由電子自動(dòng)化設(shè)計(jì)頂級(jí)會(huì)議 DAC 2019 主辦的「低功耗目標(biāo)檢測(cè)系統(tǒng)設(shè)計(jì)挑戰(zhàn)賽」于美國(guó)拉斯維加斯落下帷幕。西安交通大學(xué)人工智能與機(jī)器人研究所團(tuán)隊(duì) XJTU-Tripler 憑借對(duì)算法和架構(gòu)的特殊優(yōu)化,最終取得準(zhǔn)確率 IoU61.5%;能耗 9537J,幀率 50.91Hz,功率 9.248W 的優(yōu)秀成績(jī),斬獲 FPGA 賽道的亞軍,同時(shí)他們也作為國(guó)內(nèi)唯一一個(gè)進(jìn)入前三的隊(duì)伍。目前,他們已計(jì)劃開(kāi)源比賽相關(guān)工具,并且提供后續(xù)支持。雷鋒網(wǎng) AI 科技評(píng)論將他們所提供的設(shè)計(jì)方案及解析整理如下。

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

比賽背景

DAC,英文全稱 ACM/IEEE Design Automation Conference,是電子設(shè)計(jì)自動(dòng)化和嵌入式系統(tǒng)領(lǐng)域的頂級(jí)會(huì)議。系統(tǒng)設(shè)計(jì)大賽(System Design Contest)由 DAC 主辦,旨在為全球機(jī)器學(xué)習(xí)系統(tǒng)設(shè)計(jì)者提供技術(shù)交流平臺(tái),挖掘領(lǐng)域內(nèi)優(yōu)秀方案和人才。

賽制規(guī)定以 FPGA 和 GPU 兩種硬件架構(gòu)劃分,分別進(jìn)行競(jìng)賽。針對(duì) FPGA 賽道,本屆大賽由 Xilinx、大疆和英偉達(dá)贊助,針對(duì)比賽方給定無(wú)人機(jī)視角的訓(xùn)練數(shù)據(jù)集 (9 萬(wàn)張分辨率為 360x640 的圖片,單目標(biāo)標(biāo)注)進(jìn)行訓(xùn)練,在比賽方自有的 5 萬(wàn)張測(cè)試數(shù)據(jù)集上進(jìn)行測(cè)試。最終檢測(cè)精度 IoU(Intersection over Union))高、且能量消耗低者勝出。

任務(wù)部署

西安交通大學(xué)人工智能與機(jī)器人研究所任鵬舉副教授所在的認(rèn)知計(jì)算架構(gòu)團(tuán)隊(duì) XJTU-Tripler 在本次大賽中,硬件方面使用的是專為低功耗 IoT 環(huán)境而設(shè)計(jì)的 Ultra96——Xilinx ZYNQ 的開(kāi)發(fā)板,其 PS 側(cè)搭載四核 ARM Cortex-A53 CPU,主頻為 1.5GHz;由比賽方所提供。軟件方面則用到了基于 Python 的 PYNQ 框架進(jìn)行開(kāi)發(fā)。其中由團(tuán)隊(duì)成員:趙博然、趙文哲、夏天、陳飛、樊瓏、宗鵬陳負(fù)責(zé)硬件開(kāi)發(fā);魏亞?wèn)|、涂志俊、趙之旭、董志偉負(fù)責(zé)算法優(yōu)化。

為了達(dá)到檢測(cè)精度與能耗的平衡,XJTU-Triper 團(tuán)隊(duì)選擇并優(yōu)化了面向端側(cè)的輕量級(jí)神經(jīng)網(wǎng)絡(luò)框架;并針對(duì) ZU3 的資源限制,精簡(jiǎn)了團(tuán)隊(duì)之前設(shè)計(jì)的一個(gè)可以支持通用網(wǎng)絡(luò)的 DNN 加速器 (HiPU),將其部署在 ZU3 的 PL 側(cè)。因此,XJTU-Triper 團(tuán)隊(duì)的主要工作分為針對(duì)硬件平臺(tái)的算法優(yōu)化和架構(gòu)設(shè)計(jì)優(yōu)化:

算法優(yōu)化

  1. 選擇 ShuffleNet V2 作為特征提取的主框架;

  2. 選擇 YOLO 作為單目標(biāo)位置的回歸框架;

  3. 對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行 8bit 量化。

HiPU 優(yōu)化

  1. 支持 CONV,F(xiàn)C,Dep-wise CONV,Pooling,Ele-wise Add/Mul 等操作,峰值算力為 268Gops,效率大于 80%;

  2. 支持 Channel shuffle、divide、concat 操作,且不消耗額外時(shí)間;

  3. 提供 C、RISC-V 匯編接口的 API,調(diào)度靈活;

  4. HiPU 完全由 PL 側(cè)實(shí)現(xiàn),不依賴 PS 側(cè)。PS 主要工作負(fù)載為圖片預(yù)處理和結(jié)果輸出上。

相關(guān)技術(shù)詳解

  • 單目標(biāo)檢測(cè)網(wǎng)絡(luò)選擇

為滿足移動(dòng)端的檢測(cè)實(shí)時(shí)性,XJTU-Triper 團(tuán)隊(duì)最終選定了 YOLO 作為基礎(chǔ)檢測(cè)框架,自行定制的網(wǎng)絡(luò) ShuffleDet。并將其中的特征提取網(wǎng)絡(luò)替換為輕量級(jí)的 ShuffleNet V2,其參數(shù)規(guī)模略大于 1X。如下圖所示為定制的單目標(biāo)檢測(cè)網(wǎng)絡(luò)。 

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

ShuffleDet 的網(wǎng)絡(luò)結(jié)構(gòu)示意圖

  • 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與量化

XJTU-Tripler 團(tuán)隊(duì)首先在 ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練一個(gè)標(biāo)準(zhǔn)的 ShuffleNet V2 分類網(wǎng)絡(luò)。待模型收斂后,將其中前三層特征提取部分的參數(shù)重載回 ShuffleDet 網(wǎng)絡(luò)中。使用比賽方的訓(xùn)練集進(jìn)行全部層參數(shù)的訓(xùn)練。

為了適應(yīng) FPGA 的定點(diǎn)運(yùn)算,待所有參數(shù)訓(xùn)練完成后,對(duì)所有參數(shù)進(jìn)行量化操作。該團(tuán)隊(duì)將網(wǎng)絡(luò)參數(shù)和 feature map 均量化為 8bit 定點(diǎn)。量化過(guò)程主要分為以下幾步:1) 將 BN 層合并到參數(shù)中;2) 將合并后的參數(shù)進(jìn)行對(duì)稱量化;3) 離線量化完成后需對(duì)參數(shù)進(jìn)行 fine tune。下圖為量化操作的示意圖。由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

網(wǎng)絡(luò)參數(shù)的量化流程

經(jīng)過(guò)量化后,最終目標(biāo)檢測(cè)網(wǎng)絡(luò) ShuffleDet 的卷積層數(shù)約為 74 層,權(quán)重約為 1.94MB,Bias 約為 78KB。量化前的全精度準(zhǔn)確率為 67.1%,量化后的精度為 61.5%,量化操作帶來(lái)的精度損失為 5.6%。

  • 關(guān)于 HiPU

1) 整體概況

由于西安交通大人工智能與機(jī)器人研究所團(tuán)隊(duì)主要面向?qū)S眉呻娐罚ˋISC)進(jìn)行設(shè)計(jì),其 FPGA 上的設(shè)計(jì)實(shí)現(xiàn)主要是進(jìn)行功能的驗(yàn)證,因此,針對(duì)賽方提供的計(jì)算平臺(tái),我們需要對(duì) HiPU 進(jìn)行適當(dāng)?shù)牟眉?,以適應(yīng) ZU3 的資源。如下圖所示為裁剪后的 HiPU 設(shè)計(jì)框圖,及其特性。HiPU 工作在 233MHz,其峰值算力為 268Gops;采用 C/RISC-V 匯編作為編程接口,卷積效率平均在 80% 以上。

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

HiPU 的結(jié)構(gòu)框圖與特性

HiPU 支持各種常見(jiàn)的 NN 運(yùn)算,包括:CONV,F(xiàn)C,Dep-wise CONV,Pooling,Ele-wise Add/Mul 等運(yùn)算。其中 FC 也可以做到接近 100% 的計(jì)算效率。

HiPU 支持 channel 方向的 shuffle,divide,concat 操作。當(dāng)這些操作緊接在卷積運(yùn)算之后時(shí),可以在硬件上進(jìn)行合并,不消耗額外的時(shí)間。

HiPU 可以工作在任何種類的 Xilinx FPGA 上,不受 Zynq 架構(gòu)的限制。

HiPU 底層實(shí)現(xiàn)矩陣運(yùn)算,向量運(yùn)算,以及標(biāo)量運(yùn)算。在做好調(diào)度的情況下,可以支持任意類型的并行計(jì)算。未來(lái)將實(shí)現(xiàn)稀疏矩陣運(yùn)算的優(yōu)化,從而支持高效率的 DeCONV 運(yùn)算,feature map 稀疏優(yōu)化。

2) HiPU 優(yōu)化點(diǎn)分析——通過(guò)層間級(jí)聯(lián)減少所需的 DDR 帶寬

HiPU 設(shè)計(jì)性能有兩個(gè)重要的方面:一個(gè)方面是 MAC 運(yùn)算單元的利用率;一個(gè)是數(shù)據(jù)傳輸網(wǎng)絡(luò)是否可以匹配 MAC 所需的數(shù)據(jù)。其中數(shù)據(jù)傳輸網(wǎng)絡(luò)的限制大多數(shù)來(lái)自 DDR 接口。本設(shè)計(jì)針對(duì) DDR 接口進(jìn)行專門的優(yōu)化。

由于 HiPU 中 SRAM 的大小限制,無(wú)法將一層 feature map 的數(shù)據(jù)完全放在 HiPU 的 SRAM 中。采用平常的計(jì)算次序則需要將每一層的 feature map 計(jì)算結(jié)果返回到 DDR 中存儲(chǔ)。這樣一來(lái)每一層的 feature map 數(shù)據(jù)都需要一次 DDR 的訪問(wèn),對(duì) DDR 的帶寬需求非常大,也會(huì)消耗額外的功耗

該團(tuán)隊(duì)通過(guò)層間級(jí)聯(lián)的方式降低 DDR 的帶寬需求。以 ShuffleNet 的 bottleneck 為分界,從每個(gè) bottleneck 的輸入處從 DDR 讀取一行 feature map,依次計(jì)算完所有的層后,輸出的一行 feature map 才寫回到 DDR。依次計(jì)算完所有行。如下圖所示為 Module C 的層間級(jí)聯(lián)計(jì)算次序。

 由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

Module-C 采用層間級(jí)聯(lián)計(jì)算方式

3) HiPU 優(yōu)化點(diǎn)分析——輸入圖像格式轉(zhuǎn)換以提升處理效率

HiPU 一次并行計(jì)算 8 個(gè)輸入 channel。然而網(wǎng)絡(luò)第一層輸入圖像僅有 RGB 這 3 個(gè)通道,導(dǎo)致 HiPU 計(jì)算效率僅為 3/8。因此,我們團(tuán)隊(duì)針對(duì)輸入圖像設(shè)計(jì)了一個(gè)轉(zhuǎn)換模塊。如果 Conv1 的 kernel 的 width 為 3,則將輸入圖像的通道從 3 擴(kuò)展到 9。最終使得第一層的處理效率從 0.38 提升到了 0.56,其轉(zhuǎn)換示意圖如下圖所示。 由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

輸入圖像在行方向上的轉(zhuǎn)換

  • 系統(tǒng)優(yōu)化設(shè)計(jì)與分析

1) 圖像解碼與卷積神經(jīng)網(wǎng)絡(luò)計(jì)算并行化

由于 HiPU 僅僅依賴 Zynq 的 PL 側(cè)的資源進(jìn)行設(shè)計(jì),PS 側(cè)的資源可以空出來(lái)做系統(tǒng) IO 相關(guān)的工作。我們團(tuán)隊(duì)在處理當(dāng)前圖片的檢測(cè)運(yùn)算時(shí),在 PS 側(cè)預(yù)讀并解碼下一幅圖片,提高處理的并行度,從而使整體檢測(cè)幀率從 30.3Hz 提高到 50.9Hz。

如下圖所示為圖像解碼與卷積神經(jīng)網(wǎng)絡(luò)并行化的示意圖。

 由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

(a) 并行化之前的工作流程

 由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

(b) 并行化之后的工作流程

圖像解碼與卷積神經(jīng)網(wǎng)絡(luò)并行化的示意圖

2) 使用 C 代碼加速 PS 側(cè)原來(lái)的 Python 代碼

使用 C 代碼重構(gòu) PS 側(cè)比較耗時(shí)的操作,并在 Pynq 框架中采用 ctypes 接口調(diào)用重構(gòu)的 C 代碼: 1) 預(yù)先計(jì)算 PL 側(cè)數(shù)據(jù)中置信度和 bbox 坐標(biāo)的地址指針;2) 找到最大的置信度和對(duì)應(yīng)的 BBox 的坐標(biāo),然后根據(jù)相對(duì)坐標(biāo)計(jì)算出絕對(duì)坐標(biāo);

3) 使用門控時(shí)鐘降低 PL 側(cè)的能耗

為了降低系統(tǒng)的能量消耗,設(shè)計(jì)了門控時(shí)鐘策略。當(dāng) HiPU 計(jì)算完一張圖片的時(shí)候自動(dòng)關(guān)閉時(shí)鐘,下一張圖片開(kāi)始計(jì)算的時(shí)候再激活時(shí)鐘。設(shè)置這個(gè)策略主要基于以下兩個(gè)原因:

首先,系統(tǒng)對(duì) jpg 格式圖片解算的時(shí)間不固定,當(dāng) SD 卡型號(hào)不固定的時(shí)候,其均值在 7ms-12ms 之間,部分圖片解算時(shí)間最大值可以到達(dá) 100ms;

其次,系統(tǒng)的功耗測(cè)量進(jìn)程和其他額外開(kāi)銷會(huì)占用一部分的 cpu 時(shí)間,并且 PS 和 PL 共享 DDR 帶寬,這導(dǎo)致了 HiPU 在 166Mhz 的時(shí)幀率到達(dá)約 50hz,但是升高 HiPU 到 200Mhz 時(shí),系統(tǒng)處理幀率仍然保持在 50hz 左右。

上述兩個(gè)原因會(huì)導(dǎo)致 HiPU 處理時(shí)間和圖片 jpeg 解算時(shí)間匹配變得不固定;當(dāng) HiPU 處理圖像時(shí)間比圖像解算時(shí)間短時(shí),HiPU 會(huì)「空跑」浪費(fèi)能量。另外,針對(duì)搶占 DDR 帶寬的情況,還需繼續(xù)優(yōu)化。

結(jié)果

全球共有 58 支隊(duì)伍注冊(cè)了 FPGA 比賽任務(wù),有 11 支隊(duì)伍提交了設(shè)計(jì)(完賽率 19%)。冠軍為 iSmart3,由 UIUC、IBM、Inspirit IoT 公司聯(lián)合組隊(duì);亞軍為 XJTU-Tripler,由西安交通大學(xué)人工智能與機(jī)器人研究所設(shè)計(jì);季軍為 SystemsETHZ,來(lái)自 ETH Zurich 的隊(duì)伍。

其中,XJTU-Tripler 團(tuán)隊(duì)是唯一使用 Verilog,而不是 HLS 進(jìn)行設(shè)計(jì)的獲獎(jiǎng)隊(duì)伍。由于其設(shè)計(jì)的高性能 DNN 加速器,其使用的神經(jīng)網(wǎng)絡(luò)規(guī)模也是最大的。最終競(jìng)賽成績(jī)?nèi)缦拢?/p>

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

DAC19 系統(tǒng)設(shè)計(jì)競(jìng)賽排名

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

資源情況比較

同樣的 ShuffleDet 算法在 TX2 平臺(tái)上也進(jìn)行了部署,下表是兩者的分析對(duì)比??梢钥闯?8bits 量化后造成了 5.6% 的 IoU 絕對(duì)損失(-8.3%),但帶來(lái)了 28.87 的幀率提升(+131%)和 8309J 的能耗減少(-46.56%)。

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

ShuffleDet 在 TX2 和 Ultra96 FPGA 平臺(tái)上的性能比較

更多關(guān)于 DAC 2019

https://www.dac.com/content/2019-system-design-contest

雷鋒網(wǎng) AI 科技評(píng)論

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知

由 AI 芯片到目標(biāo)檢測(cè)板,「西安交大」是如何斬獲 DAC FPGA 賽道亞軍?

分享:
相關(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è)置 以后再說(shuō)