他們是誰?
他們是愛卡絲俱樂部,一家成立于2021年1月28日的新興團體。三位俱樂部成員分別是蘇天祺、程昕、薛睿鑫,均是南京大學電子系二年級研究生,俱樂部名稱取自南京大學ICAIS實驗室的音譯。俱樂部的指導老師是IEEE Fellow 王中風教授。
成員合影(左起)程昕 蘇天祺 薛睿鑫
他們做了什么?
他們俱樂部參加了第五屆集成電路創新創業大賽(海云捷迅杯),針對MobileNet V1的硬件加速器進行優化。一路過關斬將,熬夜調通代碼,更新迭代結果在華東分賽區獲得二等獎。最后絞盡腦汁進行優化,終于在全國總決賽獲得一等獎(企業大獎)。
俱樂部成員程昕為他們的優化方案起名叫“基于稀疏卷積與層融合的流水線優化方案”。優化手段分別放在量化、排序、傳輸、計算、流水線這五個方面。通過優化,他們將原3000ms的預測時間,壓縮到接近800ms,速度提升超過3.5倍
整體的優化思路和手段
最后的推理效果和時間效果如圖(若將第二層卷積放在arm上進行,速度會慢一點但是精度會高一些)
所有卷積在FPGA上進行,速度快,精度稍低(左圖);第二層卷積在ARM上進行,速度稍慢,但是精度高(右圖)
他們的作品
他們的任務是需要針對基于MobileNet V1的SSD目標檢測算法加速器進行優化,以達到快速的目標檢測效果。
1、整體架構
Data (數據)經UpSizer和BusMatrix進行仲裁,存儲到相應的SRAM中,他們將PingPong Buffer取代原SRAM,用來實現數據傳輸和計算的并行;重新設計卷積模塊,并將卷積結果直接傳入BiasRelu單元,二者采用層融合的方式連接,以便提高數據讀寫和傳輸效率。
整體的架構圖
2、卷積重構
他們采用row-wise,weight stationary的方式重新設計卷積模塊,并將乘法的并行度提高到96(3x32)使得網絡可以同時計算32個卷積核的一行數據,以加快卷積的計算速度并提高片上數據的復用性。
普通卷積的計算數據流
逐點卷積的計算數據流
3、流水線優化
為了進一步提高計算流水,他們將卷積(Conv)和偏移、激活(BiasReLU)融合起來并加入PingPong Buffer。
4、量化方案
他們也對量化過程進行優化,并在推理前對完成對數據的量化并保存結果。以減少權重的重復量化。
量化過程示意圖
5、硬件架構
上述架構的硬件設計如圖所示。他們設計的硬件單元包括包含32個Conv Core;每個Conv Core包括3個8bits乘法器和3個32bits加法器;Psum Processing負責累加并存儲卷積計算的中間值。
6、優化結果
經過他們的優化,在不同卷積層的加速達到了最高39倍加速比,平均4.5倍加速比。并且將整體的目標識別速度提升到了最快836ms!
普通卷積層(左)和逐點卷積層加速比
獲獎心得
愛卡絲俱樂部整個暑假都埋頭苦干,終于一路披荊斬棘,最后拿到了想要的名次。讓我們來聽聽各個成員的參賽心得吧!
蘇天祺:在這次比賽中,每位成員都有著很強的責任感和任務意識,大家主動給自己分配了需要學習的內容,所以即使是初次接觸,我們的準備也足夠。而且凡是遇到困難,我們都會相互討論并且請教有經驗的學長和老師,比賽氣氛簡直不要太好!
程昕:我們每周都會開會啊,大家一股腦把問題拋出來然后相互討論,我們就會碰撞出很多的火花。我們也會給自己規定時間軸(雖然經常做不完),但是給自己一個ddl,自己就有很多的動力!
薛睿鑫:其實我們初賽過后,性能并不是很好,但是大家也都不氣餒,也沒放棄,那個STP一直連不上,簡直要崩潰了,但是一遍一遍的嘗試,一遍一遍的請教相關老師,終于出了結果。我們都非常高興。
還有什么有趣的想分享?
在比賽之余,愛卡絲俱樂部還積極參加了集創賽五周年短視頻大賽,蘇天祺拍攝的小短片還悄默默拿了個三等獎,而三等獎正是由海云捷迅支持的定制藍牙耳機,感覺和海云捷迅的緣分真的非常的深。
文編 蘇天祺
圖片 蘇天祺 程昕 薛睿鑫 蘇子琦