成員合影(左起)程昕 蘇天祺 薛睿鑫

二、他們做了什么

他們俱樂部參加了第五屆集成電路創(chuàng)新創(chuàng)業(yè)大賽(海云捷迅杯),針對MobileNet V1的硬件加速器進(jìn)行優(yōu)化。一路過關(guān)斬將,熬夜調(diào)通代碼,更新迭代結(jié)果在華東分賽區(qū)獲得二等獎。最后絞盡腦汁進(jìn)行優(yōu)化,終于在全國總決賽獲得海云捷迅杯一等獎(企業(yè)大獎)。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

俱樂部成員程昕為他們的優(yōu)化方案起名叫“基于稀疏卷積與層融合的流水線優(yōu)化方案”。優(yōu)化手段分別放在量化、排序、傳輸、計算、流水線這五個方面。通過優(yōu)化,他們將原3000ms的預(yù)測時間,壓縮到接近800ms,速度提升超過3.5倍。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部
“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

最后的推理效果和時間效果如圖(若將第二層卷積放在arm上進(jìn)行,速度會慢一點但是精度會高一些)

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

所有卷積在FPGA上進(jìn)行,速度快,精度稍低(左圖);第二層卷積在ARM上進(jìn)行,速度稍慢,但是精度高(右圖)

三、他們的作品

他們的任務(wù)是需要針對基于MobileNet V1的SSD目標(biāo)檢測算法加速器進(jìn)行優(yōu)化,以達(dá)到快速的目標(biāo)檢測效果。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

1.整體架構(gòu)

Data (數(shù)據(jù))經(jīng)UpSizer和BusMatrix進(jìn)行仲裁,存儲到相應(yīng)的SRAM中,他們將PingPong Buffer取代原SRAM,用來實現(xiàn)數(shù)據(jù)傳輸和計算的并行;重新設(shè)計卷積模塊,并將卷積結(jié)果直接傳入BiasRelu單元,二者采用層融合的方式連接,以便提高數(shù)據(jù)讀寫和傳輸效率。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

(整體的架構(gòu)圖)

2.卷積重構(gòu)

他們采用row-wise,weight stationary的方式重新設(shè)計卷積模塊,并將乘法的并行度提高到96(3×32)使得網(wǎng)絡(luò)可以同時計算32個卷積核的一行數(shù)據(jù),以加快卷積的計算速度并提高片上數(shù)據(jù)的復(fù)用性。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

(普通卷積的計算數(shù)據(jù)流)

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

(逐點卷積的計算數(shù)據(jù)流)

3.流水線優(yōu)化

為了進(jìn)一步提高計算流水,他們將卷積(Conv)和偏移、激活(BiasReLU)融合起來并加入PingPong Buffer。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

4.量化方案

他們也對量化過程進(jìn)行優(yōu)化,并在推理前對完成對數(shù)據(jù)的量化并保存結(jié)果。以減少權(quán)重的重復(fù)量化。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

(量化過程示意圖)

5.硬件架構(gòu)

上述架構(gòu)的硬件設(shè)計如圖所示。他們設(shè)計的硬件單元包括包含32個Conv Core;每個Conv Core包括3個8bits乘法器和3個32bits加法器;Psum Processing負(fù)責(zé)累加并存儲卷積計算的中間值。

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

6.優(yōu)化結(jié)果

經(jīng)過他們的優(yōu)化,在不同卷積層的加速達(dá)到了最高39倍加速比,平均4.5倍加速比。并且將整體的目標(biāo)識別速度提升到了最快836ms!

“芯”起征程——海云捷迅杯企業(yè)大獎獲獎團(tuán)隊愛卡絲俱樂部

普通卷積層(左)和逐點卷積層加速比

四、海云捷迅對他們的評價

對于愛卡絲俱樂部,重慶海云捷迅科技有限公司資深架構(gòu)師萬毅做出如下評價:

南京大學(xué)的獲獎團(tuán)隊,首先對模型demo耗時的地方做了詳細(xì)的定量分析,準(zhǔn)確的找出了影響性能的問題所在,并根據(jù)分析結(jié)果,系統(tǒng)的提出和實現(xiàn)了改進(jìn)措施。在量化策略、數(shù)據(jù)搬運、卷積實現(xiàn)、剪枝、并行化方面都做了有效的工作,同時文檔、匯報ppt、代碼注釋也做的完善和仔細(xì),測試效果經(jīng)過評測達(dá)到了較好的效果,參賽的團(tuán)隊做了很多行之有效的工作,是一個優(yōu)秀的團(tuán)隊。

——重慶海云捷迅科技有限公司資深架構(gòu)師 萬毅

五、他們的獲獎心得

愛卡絲俱樂部整個暑假都埋頭苦干,終于一路披荊斬棘,最后拿到了想要的名次。讓我們來聽聽各個成員的參賽心得吧!

蘇天祺:在這次比賽中,每位成員都有著很強(qiáng)的責(zé)任感和任務(wù)意識,大家主動給自己分配了需要學(xué)習(xí)的內(nèi)容,所以即使是初次接觸,我們的準(zhǔn)備也足夠。而且凡是遇到困難,我們都會相互討論并且請教有經(jīng)驗的學(xué)長和老師,比賽氣氛簡直不要太好!

程昕:我們每周都會開會啊,大家一股腦把問題拋出來然后相互討論,我們就會碰撞出很多的火花。我們也會給自己規(guī)定時間軸(雖然經(jīng)常做不完),但是給自己一個ddl,自己就有很多的動力!

薛睿鑫:其實我們初賽過后,性能并不是很好,但是大家也都不氣餒,也沒放棄,那個STP一直連不上,簡直要崩潰了,但是一遍一遍的嘗試,一遍一遍的請教相關(guān)老師,終于出了結(jié)果,我們都非常高興。

分享到

songjy

相關(guān)推薦