什么是神經(jīng)網(wǎng)絡(luò)的量化?
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2023-12-06 16:43:16
在理解量化之前,有必要討論一下為什么神經(jīng)網(wǎng)絡(luò)通常會(huì)占用如此多的內(nèi)存。
神經(jīng)網(wǎng)絡(luò)由一系列層中的一系列互連神經(jīng)元組成。如圖 1 所示,標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)由互連的神經(jīng)元層組成,每個(gè)神經(jīng)元都有自己的權(quán)重、偏差和與其關(guān)聯(lián)的激活函數(shù)。
圖 1. 神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的示例。神經(jīng)元之間的每個(gè)連接都有自己的權(quán)重,而每個(gè)神經(jīng)元都有自己的偏置和激活函數(shù)。圖片由V7 Labs提供
這些權(quán)重和偏差通常稱為神經(jīng)網(wǎng)絡(luò)的“參數(shù)”。
每個(gè)神經(jīng)元也有自己的“激活”,這個(gè)數(shù)字決定了該神經(jīng)元的活躍程度。神經(jīng)元的激活基于其權(quán)重和偏差值以及所使用的激活函數(shù)。
權(quán)重和偏差是在訓(xùn)練期間進(jìn)行調(diào)整的參數(shù),并且通過(guò)擴(kuò)展,神經(jīng)元的激活也是如此。
這些值、權(quán)重、偏差和激活是神經(jīng)網(wǎng)絡(luò)物理存儲(chǔ)在內(nèi)存中的大部分內(nèi)容。標(biāo)準(zhǔn)是將這些數(shù)字表示為 32 位浮點(diǎn)值,這樣可以實(shí)現(xiàn)高精度,并終提高神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性。
這種準(zhǔn)確性就是神經(jīng)網(wǎng)絡(luò)往往占用大量?jī)?nèi)存的原因。對(duì)于具有數(shù)百萬(wàn)個(gè)參數(shù)和激活的網(wǎng)絡(luò)(每個(gè)參數(shù)和激活都存儲(chǔ)為 32 位值),內(nèi)存使用量會(huì)迅速增加。
例如,50 層 ResNet 架構(gòu)包含大約 2600 萬(wàn)個(gè)權(quán)重和 1600 萬(wàn)個(gè)激活。通過(guò)使用 32 位浮點(diǎn)值來(lái)表示權(quán)重和激活,整個(gè)架構(gòu)將需要 168 MB 的存儲(chǔ)空間。
什么是神經(jīng)網(wǎng)絡(luò)的量化?
量化是降低權(quán)重、偏差和激活精度的過(guò)程,從而消耗更少的內(nèi)存。
換句話說(shuō),量化的過(guò)程就是采用神經(jīng)網(wǎng)絡(luò)的過(guò)程,神經(jīng)網(wǎng)絡(luò)通常使用32位浮點(diǎn)數(shù)來(lái)表示參數(shù),并將其轉(zhuǎn)換為使用更小的表示形式,例如8位整數(shù)。
例如,從 32 位變?yōu)?8 位將使模型大小減少 4 倍,因此量化的一個(gè)明顯好處是顯著減少內(nèi)存。
量化通過(guò)降低權(quán)重、偏差和激活的精度來(lái)縮小神經(jīng)網(wǎng)絡(luò)。
圖 2.量化通過(guò)降低權(quán)重、偏差和激活的精度來(lái)縮小神經(jīng)網(wǎng)絡(luò)。圖片由 高通公司提供
量化的另一個(gè)好處是它可以降低網(wǎng)絡(luò)延遲并提高能效。
由于可以使用整數(shù)而不是浮點(diǎn)數(shù)據(jù)類型執(zhí)行操作,因此網(wǎng)絡(luò)速度得到了提高。這些整數(shù)運(yùn)算在大多數(shù)處理器內(nèi)核(包括微控制器)上需要較少的計(jì)算。
總體而言,由于計(jì)算量減少和內(nèi)存訪問(wèn)減少,功率效率得到了提高。
盡管有這些好處,但量化的代價(jià)是神經(jīng)網(wǎng)絡(luò)可能會(huì)失去準(zhǔn)確性,因?yàn)樗鼈儾荒艿乇硎拘畔?。然而,根?jù)損失的精度、網(wǎng)絡(luò)架構(gòu)和網(wǎng)絡(luò)訓(xùn)練/量化方案,量化通常會(huì)導(dǎo)致非常小的精度損失,特別是在權(quán)衡延遲、內(nèi)存使用方面的改進(jìn)時(shí)和功率。
如何量化機(jī)器學(xué)習(xí)模型
在實(shí)踐中,有兩種主要的量化方法:
訓(xùn)練后量化
量化感知訓(xùn)練
顧名思義,訓(xùn)練后量化是一種神經(jīng)網(wǎng)絡(luò)完全使用浮點(diǎn)計(jì)算進(jìn)行訓(xùn)練,然后進(jìn)行量化的技術(shù)。
為此,一旦訓(xùn)練結(jié)束,神經(jīng)網(wǎng)絡(luò)就會(huì)被凍結(jié),這意味著它的參數(shù)不能再更新,然后參數(shù)就會(huì)被量化。量化模型終被部署并用于執(zhí)行推理,而無(wú)需對(duì)訓(xùn)練后參數(shù)進(jìn)行任何更改。
雖然這種方法很簡(jiǎn)單,但它可能會(huì)導(dǎo)致更高的精度損失,因?yàn)樗信c量化相關(guān)的誤差都是在訓(xùn)練完成后發(fā)生的,因此無(wú)法補(bǔ)償。
量化感知訓(xùn)練(如圖 3 所示)通過(guò)在訓(xùn)練期間使用前向傳遞中的量化版本來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)補(bǔ)償與量化相關(guān)的誤差。
量化感知訓(xùn)練的流程圖。
圖 3.量化感知訓(xùn)練的流程圖。圖片由Novac 等人提供
這個(gè)想法是,與量化相關(guān)的誤差將在訓(xùn)練期間累積在模型的總損失中,訓(xùn)練優(yōu)化器將相應(yīng)地調(diào)整參數(shù)并減少總體誤差。
量化感知訓(xùn)練的優(yōu)點(diǎn)是比訓(xùn)練后量化損失低得多。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ddr4和ddr5內(nèi)存接口一樣嗎?全景解析2025/9/8 17:22:03
- 虛擬存儲(chǔ)器的概念和特征2025/8/4 16:49:21
- 鐵電存儲(chǔ)器和flash的區(qū)別2025/7/30 16:56:02
- 內(nèi)存頻率是什么_內(nèi)存頻率高有什么好處2025/7/29 17:07:27
- 程序存儲(chǔ)器_程序存儲(chǔ)器是什么意思2025/7/10 17:26:01