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