深圳先進(jìn)院提出高效的Transformer網(wǎng)絡(luò)全整形量化與硬件部署方案
近日,中國科學(xué)院深圳先進(jìn)技術(shù)研究院醫(yī)工所黃明強博士團(tuán)隊與南方科技大學(xué)合作,在電路與系統(tǒng)領(lǐng)域知名期刊IEEE Transactions on Circuits and Systems I: Regular Papers上發(fā)表了題為An Integer-Only and Group-Vector Systolic Accelerator for Efficiently Mapping Vision Transformer on Edge的研究。該團(tuán)隊針對典型的Vision Transformer網(wǎng)絡(luò)算法提出全整形量化方案和高效的硬件設(shè)計方案。通過軟件-硬件協(xié)同優(yōu)化設(shè)計的方法,在算法準(zhǔn)確率和硬件效率上實現(xiàn)了權(quán)衡。并成功在端側(cè)算力芯片中實現(xiàn)了Transformer網(wǎng)絡(luò)的高效加速,計算通量達(dá)到了以往研究的2倍以上。本研究中,黃明強博士為第一作者,中國科學(xué)院深圳先進(jìn)技術(shù)研究院為第一單位。
類Transformer網(wǎng)絡(luò)在自然語言處理和計算機(jī)視覺方面都表現(xiàn)出了卓越的高性能。然而,Transformer網(wǎng)絡(luò)中存在大量的非線性浮點運算,同時Transformer網(wǎng)絡(luò)的自注意力機(jī)制有大量不規(guī)則的內(nèi)存訪問需求,使得在邊緣部署Transformer網(wǎng)絡(luò)仍然是一個挑戰(zhàn)。針對上述問題,本研究提出了用于簡化非線性運算的純整數(shù)量化方案(如LayerNorm、Softmax和Gelu),同時采用算法-硬件協(xié)同設(shè)計策略來保證高精度和高效率。以Softmax函數(shù)為例,傳統(tǒng)的Softmax函數(shù)需要先對所有的輸入x求指數(shù)A=exp(x),再進(jìn)行累加得到B=∑exp(xi)。最后利用除法實現(xiàn)對每個輸入x的計算:softmax(x)=A/B。這一過程需要非線性的指數(shù)函數(shù)和除法操作,而這兩類操作在資源受限的硬件終端中并不容易實現(xiàn)。本研究利用指數(shù)-對數(shù)函數(shù)的換算公式,將原本函數(shù)的除法操作等價變換為對數(shù)函數(shù)的減法操作。同時利用線性近似,實現(xiàn)了指數(shù)與對數(shù)函數(shù)的簡化計算。通過這一變換,我們將softmax的計算復(fù)雜度降低90%以上,同時保證了計算的準(zhǔn)確性。
此外,針對自注意力機(jī)制的不規(guī)則訪存需求,我們構(gòu)建了通用的組矢量脈動陣列,并結(jié)合全局統(tǒng)一的數(shù)據(jù)并行機(jī)制,使得新方案既能支持規(guī)則訪存的矩陣乘法計算,又能支持非規(guī)則訪存的自注意力轉(zhuǎn)置乘法計算。我們把該設(shè)計部署在 Xilinx ZCU102 FPGA 平臺上,通過對經(jīng)典Transformer網(wǎng)絡(luò)ViT-tiny 和 ViT-s 的實測,得到每張圖像的總推理延遲分別為 4.077ms 和 11.15ms。平均吞吐量可高達(dá) 762.7 GOP,與之前最先進(jìn)的 FPGA Transformer加速器相比有2倍以上的性能提升。
本研究得到了科技創(chuàng)新2030、國自然青年基金、深圳市基礎(chǔ)研究重點項目的支持。
圖1:Transformer的全整形量化方案和硬件設(shè)計方案
附件下載: