在對激活進(jìn)行偽量化前先將激活截斷在(0,1)之間, 這樣的做法是基于一些經(jīng)典的網(wǎng)絡(luò)結(jié)構(gòu)中,比如AlexNet與RestNet中,大部分的激活都會落在這個范圍里的。
對于weight,則是先通過這樣的一個非線性函數(shù)對weight進(jìn)行映射,tanh(w)將weight的值域縮放到-1到+1之間,再除以2倍的tanh(w)絕對最大值加上1/2最終weight被映射到了0到1之間,再對其進(jìn)行量化與反量化,再將輸出結(jié)果通過乘2減1仿射變換到-1到1之間。
這里的quant與dequant操作在原論文中是被表示為一個quantize_k的操作,k指的是k位的量化,其實(shí)本質(zhì)上就和我們之前提到的量化公式相似,就是把1/s替換成了2^k-1。
但DoReFa-Net的這個方式對于其它一些activation取值分布較廣的網(wǎng)絡(luò)就顯得有點(diǎn)過于死板了,所以就有另一個改進(jìn)版本的算法Parameterized Clipping Activation,PACT針對activation的偽量化這一部分,將截斷門限alpha設(shè)為可學(xué)習(xí)的參數(shù),然后通過梯度下降來尋找更優(yōu)的門限。
因?yàn)閍lpha被設(shè)為可學(xué)習(xí)參數(shù),所以這一部分的導(dǎo)數(shù)就可以由小于alpha的部分為0,大于等于alpha的部分為1。
大家看到PACT的這個函數(shù)其實(shí)和ReLU很像,對大于零的部分做一個截斷操作,其實(shí)PACT原本思想也是想要替代ReLU。但問題是并非所有的模型結(jié)構(gòu)用的都是ReLU這個激活函數(shù),所以為了讓PACT的應(yīng)用范圍更廣,PaddlePaddle也也對其做了一定的改進(jìn),對大于零和小于零的激活值都做了相同的限制,使它能夠在某些情況下得到更好的量化范圍,以降低量化損失。
除此之外,還有一個常被使用到的算法,Learned Step Size Quantization,與PACT相似的是它也是通過訓(xùn)練來確定量化參數(shù),但不同的是PACT學(xué)習(xí)的是截斷門限,而LSQ直接將Scale定為一個可學(xué)習(xí)的參數(shù)。
我們先來看它的計算公式,這里的r_hat指的就是經(jīng)過量化與反量化后的數(shù)值,
這其實(shí)就是在對稱量化公式的基礎(chǔ)上加了個scale,完成了一個量化與反量化的過程
因?yàn)槲覀冃枰聪騻鞑ビ嬎闾荻龋跃鸵獙@個公式進(jìn)行求導(dǎo) (加些對公式的解說)
對于這一塊的導(dǎo)數(shù),LSQ還是采用直通估計,由此我們就得到了一個最終的導(dǎo)數(shù)公式;
這里又可以看出,LSQ雖然也采用了直通估計,但它在截取范圍內(nèi)還是存在梯度計算的
而且,為了使得Scale的學(xué)習(xí)更為穩(wěn)定,LSQ還為其梯度加上了一個縮放系數(shù),這個系數(shù)主要由tensor中的元素數(shù)量決定
另外,既然是可學(xué)習(xí)參數(shù),那么就需要為其設(shè)置一個初始值,PACT中的alpha通常會被手動設(shè)置為常數(shù)值6,而LSQ原文中scale的初始值則由tensor的L1正則確定,不過在實(shí)踐過程中,其實(shí)更多的是通過統(tǒng)計激活分布,用EMA-minmax, KLD,MSE等PTQ的方式來計算初始的scale值。
審核編輯:彭菁
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4379瀏覽量
64748 -
網(wǎng)絡(luò)結(jié)構(gòu)
+關(guān)注
關(guān)注
0文章
48瀏覽量
11553 -
STE
+關(guān)注
關(guān)注
0文章
8瀏覽量
9484
發(fā)布評論請先 登錄
HFW14S-2STE1LF和SFV18R-2STE1HLF富加宜(FCI)/安費(fèi)諾板端優(yōu)勢定貨連接器
板端連接器FCI(富加宜)品牌供應(yīng)商優(yōu)勢型號SFV10R-1STE1HLF和SFW5R-1STE1LF
優(yōu)勢定貨連接器供應(yīng)商品牌FCI富加宜型號SFW30R-1STE1LF和SFW15R-1STE1LF及其SFW系列
FCI富加宜SFW10S-2STE1LF和SFW12R-2STE1LF優(yōu)勢板端連接器型號
SFW8S-2STE1LF和SLW16R-1C7LF優(yōu)勢訂貨板端連接器交期短價格優(yōu)
Intel QAT加速卡邏輯實(shí)例有哪些
Intel? QAT加速卡之Linux上編程詳解
STE相比于之前的AMTE/MTE主要特點(diǎn)有哪些
Atari ST/STE EPROM墨盒的資料分享
英特爾QuestAsvices技術(shù)(英特爾?QAT)
利用NVIDIA TensorRT實(shí)現(xiàn)推理的QAT偽量化
Atari ST/STE EPROM墨盒開源分享

1990年代計算機(jī)Atari STE的完全未經(jīng)測試的翻拍

帶有AV RCA和插孔的ATARI ST/STE RGB到VGA視頻適配器

評論