CVPR 2020: 8比特?cái)?shù)值也能訓(xùn)練模型?商湯提出訓(xùn)練加速新算法
本文作者來(lái)自商湯研究院鏈接與編譯團(tuán)隊(duì)、高性能計(jì)算團(tuán)隊(duì)和北航劉祥龍老師團(tuán)隊(duì),他們合作提出了用于加速卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程的INT8訓(xùn)練技術(shù)——在圖像分類任務(wù)和檢測(cè)任務(wù)上都僅僅損失微小的精度,且訓(xùn)練過(guò)程相比浮點(diǎn)訓(xùn)練加速了22%。
導(dǎo)讀:
在CVPR 2020上,商湯研究院鏈接與編譯團(tuán)隊(duì)、高性能計(jì)算團(tuán)隊(duì)和北航劉祥龍老師團(tuán)隊(duì)合作提出了用于加速卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程的INT8訓(xùn)練技術(shù)。該工作通過(guò)將網(wǎng)絡(luò)的輸入、權(quán)重和梯度量化到8比特來(lái)加速網(wǎng)絡(luò)的前向傳播和反向傳播過(guò)程,縮短卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間。
論文觀察到梯度的獨(dú)特分布給量化訓(xùn)練帶來(lái)了極大挑戰(zhàn),為了解決梯度量化帶來(lái)的精度損失和不穩(wěn)定問題,該論文進(jìn)行了量化訓(xùn)練收斂穩(wěn)定性的理論分析并基于此提出了誤差敏感的學(xué)習(xí)率調(diào)節(jié)和基于方向自適應(yīng)的梯度截?cái)喾椒。同時(shí)為了保證更高的加速比,該論文還提出使用周期更新、量化卷積融合等技術(shù)來(lái)減少量化操作帶來(lái)的時(shí)間開銷。
應(yīng)用了上述方法之后,INT8訓(xùn)練在圖像分類任務(wù)和檢測(cè)任務(wù)上都僅僅損失微小的精度,且訓(xùn)練過(guò)程相比浮點(diǎn)訓(xùn)練加速了22%。
動(dòng)機(jī)與背景
卷積神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用在多種計(jì)算機(jī)視覺任務(wù)中并且取得了優(yōu)異的精度。由于擁有龐大的參數(shù)量,訓(xùn)練和部署卷積神經(jīng)網(wǎng)絡(luò)需要耗費(fèi)大量計(jì)算資源和漫長(zhǎng)的訓(xùn)練時(shí)間,如何用更少資源訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)一直是一個(gè)學(xué)術(shù)研究熱點(diǎn),也是工業(yè)界關(guān)心的話題。
神經(jīng)網(wǎng)絡(luò)量化技術(shù)是一種使用定點(diǎn)計(jì)算代替浮點(diǎn)的加速技術(shù),目前被廣泛地應(yīng)用在神經(jīng)網(wǎng)絡(luò)部署中,可以極大地提升部署速度,并降低內(nèi)存資源占用,F(xiàn)有很多工作均表明將網(wǎng)絡(luò)前向過(guò)程的浮點(diǎn)計(jì)算替換成INT8計(jì)算,不會(huì)帶來(lái)明顯的精度下降[1][2]。
下圖展示了現(xiàn)代神經(jīng)網(wǎng)絡(luò)加速芯片對(duì)于不同精度計(jì)算的理論計(jì)算峰值對(duì)比,可以看到,INT8算力相比于FP32和FP/INT16均能有超過(guò)2倍峰值性能提升。
當(dāng)考慮將神經(jīng)網(wǎng)絡(luò)量化技術(shù)應(yīng)用在卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練中時(shí),為了加速卷積的反向梯度傳播過(guò)程,不得不對(duì)梯度進(jìn)行量化操作。在將浮點(diǎn)的梯度量化到INT8數(shù)值范圍內(nèi)之后,訓(xùn)練過(guò)程變得極其不穩(wěn)定,并且收斂到非常差的精度。如何解決量化梯度給訓(xùn)練帶來(lái)的收斂穩(wěn)定性問題,是十分重要的問題。與此同時(shí),在提升訓(xùn)練精度的同時(shí),也不應(yīng)當(dāng)進(jìn)入過(guò)多額外的計(jì)算,否則加速效果將會(huì)大打折扣。
一方面是高效的計(jì)算峰值保障,一方面是困難重重的算法設(shè)計(jì),這是INT8訓(xùn)練技術(shù)的機(jī)遇與挑戰(zhàn)。
何為INT8訓(xùn)練
標(biāo)準(zhǔn)的線性量化操作指的是,將一個(gè)浮點(diǎn)張量(tensor)進(jìn)行線性映射,變換到整數(shù)空間中[3]。這個(gè)整數(shù)空間的大小由于量化比特?cái)?shù)來(lái)決定,比如常見的8bit量化數(shù),就有256個(gè)取值,本文中使用的是對(duì)稱量化,因此量化數(shù)的取值是從-128到127。具體公式如下,其中x是被量化的數(shù)據(jù),q是量化后的數(shù)據(jù),s是量化系數(shù),clip是截?cái)嗪瘮?shù):
在8bit的場(chǎng)景里,截?cái)嗪瘮?shù)和量化系數(shù)的計(jì)算公式如下:
為了降低量化帶來(lái)的誤差,一個(gè)常見做法是對(duì)取整過(guò)程進(jìn)行隨機(jī)化,使得取整函數(shù)從期望上更接近原始的數(shù),具體隨機(jī)取整的公式如下:
相反的,將8bit量化數(shù)變換回浮點(diǎn)的過(guò)程稱之為反量化。反量化公式如下所示,其中q為量化計(jì)算結(jié)果,s為量化系數(shù),
為反量化后的結(jié)果。
上圖的上半部分展示了標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)量化計(jì)算前向過(guò)程,該過(guò)程被廣泛應(yīng)用在INT8部署加速中。在卷積計(jì)算之前,量化器會(huì)對(duì)輸入和權(quán)重進(jìn)行量化操作,將浮點(diǎn)數(shù)量化到8bit數(shù)值上,通過(guò)INT8卷積計(jì)算核心,即可完成一次INT8前向計(jì)算,最終將求和得到的32bit數(shù)進(jìn)行反量化操作回算到浮點(diǎn)數(shù)域中,以供給下一層計(jì)算使用。
INT8訓(xùn)練的一個(gè)核心的加速點(diǎn)在于卷積計(jì)算的反向過(guò)程,上圖展示了INT8訓(xùn)練中卷積計(jì)算在反向傳播過(guò)程中的計(jì)算細(xì)節(jié)。在卷積的反向梯度傳播過(guò)程,同樣的將梯度進(jìn)行浮點(diǎn)量化操作,不過(guò)為了降低量化的誤差,針對(duì)梯度的量化采用了隨機(jī)取整操作。通過(guò)INT8的反向卷積計(jì)算核心,可以得到下一層所需的回傳梯度,以及當(dāng)前層的權(quán)重所需的梯度。由于INT8反向卷積輸出的是32bit數(shù),與前傳類似,需要引入一次反量化操作,將32bit數(shù)反算回到浮點(diǎn)數(shù)域中。
梯度為何難以量化
為什么對(duì)梯度進(jìn)行量化會(huì)給網(wǎng)絡(luò)訓(xùn)練帶來(lái)如此大的影響?我們可以觀察訓(xùn)練過(guò)程中的梯度分布情況來(lái)進(jìn)一步的分析。
通過(guò)圖(a)中對(duì)比梯度和輸入、權(quán)重的分布,可以發(fā)現(xiàn):梯度分布相比輸入和權(quán)重分布更加尖銳,同時(shí)范圍更大。相比于輸入和權(quán)重,梯度有更多的值集中在0附近,但同時(shí)梯度還有許多較大值,讓梯度的分布范圍變得相當(dāng)廣,這些特征都會(huì)導(dǎo)致梯度量化的量化誤差比輸入和權(quán)重更大。
圖(b)展示的是layers16隨著訓(xùn)練,其梯度從epoch 0到epoch 300的變化情況。從中可以看出,隨著訓(xùn)練的進(jìn)行,梯度分布越變得更加尖銳,同時(shí)仍然保持著較廣的分布范圍,這意味著梯度量化的誤差會(huì)隨著訓(xùn)練的進(jìn)行變得越來(lái)越大。
梯度的分布隨網(wǎng)絡(luò)深度變化情況從圖(c)中可以看出。很容易發(fā)現(xiàn),卷積層的深度越淺,梯度分布越尖銳,這也會(huì)導(dǎo)致梯度量化的誤差更大。
從圖(d)中可以看出卷積的結(jié)構(gòu)也會(huì)影響梯度分布,對(duì)于MobileNetV2來(lái)說(shuō),conv2為depthwise卷積其相比conv1和conv3具有更加尖銳的分布。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車研發(fā)中心重磅落地,寶馬家門口“搶人”
最新活動(dòng)更多
-
即日-9.1立即下載>> 【限時(shí)下載】ADI中國(guó)三十周年感恩回饋助力企業(yè)升級(jí)!
-
即日-9.14點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會(huì)深圳站
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
精彩回顧立即查看>> 【在線研討會(huì)】解析安森美(onsemi)高精度與超低功耗CGM系統(tǒng)解決方案
-
精彩回顧立即查看>> 【在線會(huì)議】CAE優(yōu)化設(shè)計(jì):醫(yī)療器械設(shè)計(jì)的應(yīng)用案例與方案解析
推薦專題
- 1 傳魏建軍與賈躍亭合作,長(zhǎng)城汽車出海美國(guó)
- 2 黃仁勛:與雷軍長(zhǎng)期合作,共探AI智駕
- 3 阿里首位程序員,“掃地僧”多隆已離職
- 4 DeepSeek R2加持,中國(guó)AI與芯片產(chǎn)業(yè)迎來(lái)新一輪協(xié)同進(jìn)化
- 5 先進(jìn)算力新選擇 | 2025華為算力場(chǎng)景發(fā)布會(huì)暨北京xPN伙伴大會(huì)成功舉辦
- 6 六大國(guó)產(chǎn)大模型,誰(shuí)是最強(qiáng)“金融分析師”?|錦緞評(píng)測(cè)
- 7 2025年第一支10倍股,來(lái)了!
- 8 清華跑出具身智能獨(dú)角獸:給機(jī)器人安上眼睛和大腦,融資近20億
- 9 募資39.85億元!寒武紀(jì)押注大模型芯片與軟件平臺(tái)
- 10 國(guó)內(nèi)免費(fèi)版Deep Research上線,秘塔AI深度研究嘗試重塑知識(shí)工作范式