?

支持全整數推斷的神經網絡遞增定點量化算法研究

2023-05-30 10:48楊會渠楊國為何金鐘徐健
關鍵詞:量化神經網絡

楊會渠 楊國為 何金鐘 徐健

摘要:為了解決量化模型不支持全整數推斷及共享指數受奇異值影響等問題,本文提出一種支持全整數推斷的神經網絡遞增定點量化算法(integer-only incremental quantization,IOIQ)。通過將神經網絡權重和特征從浮點數據轉換為帶有整數共享指數(integer-shared exponent,INT-SE)的數據,實現浮點模型的有效壓縮。在偽量化訓練中,IOIQ算法采用遞增量化策略,對浮點數據進行逐步量化和迭代更新,彌補了一次性量化精度損失較大的不足。為解決推理時數據溢出問題,通過分別統計神經網絡模型每層量化數據共享指數的差異,確定各層輸出特征的最佳截位點,并給出了量化模型在推理側的硬件實現方案,而經IOIQ算法量化的神經網絡模型,在推斷過程中不含任何浮點數據,全部為整數運算,易于邊緣側部署。實驗結果表明,在8 bit位精度下,經IOIQ算法量化后的ResNet50,在CIFAR數據集上,top-1準確率下降0.2%,在ImageNet數據集上,top-1準確率下降0.58%,性能優于高效純整數推理和遞增網絡等量化方法。該研究具有重要的實際應用價值。

關鍵詞:神經網絡; 量化; 全整數; 共享指數; 遞增量化; 最佳截位點

中圖分類號:TP183 文獻標識碼:A

文章編號:1006-9798(2023)02-0010-08; DOI:10.13306/j.1006-9798.2023.02.002

基金項目:國家自然科學基金面上項目(62172229)

作者簡介:楊會渠(1998-),男,碩士研究生,主要研究方向為AI加速芯片和神經網絡模型壓縮。

通信作者:楊國為(1964-),男,博士,教授,碩士生導師,主要研究方向為智能信息處理、模式識別和智能控制。Email:ygw_ustb@163.com

神經網絡模型壓縮技術致力于在不顯著降低模型性能的情況下,減少計算資源和存儲空間的消耗[1-3],主要包括剪枝[4]、量化[5-10]、知識蒸餾[11]、緊湊神經網絡設計[12-15]等方法。模型量化因其能夠簡易部署和加速硬件推理,引起了世界各國學術界和產業界的廣泛關注。LIN D等人[16]提出了一種共享指數的定點數據,通過監控權重中的最大值來確定共享指數;B.JACOB等人[17]提出了高效純整數推理的量化算法(integer-arithmetic-only,IAO),并采用了偽量化訓練的思想,在硬件設備上得到了較好的驗證;ZHOU A等人[18]提出遞增量化算法(incremental network quantization,INQ),該算法一次量化一部分數據,讓未量化的數據微調后再進行量化,直至數據全部量化完畢。雖然上述部分研究工作完成了全定點數據的設計,但它們直接通過最大值和最小值選取共享指數,導致共享指數受到奇異值影響,使定點數據偏移浮點數據。一些研究者為了保證模型的性能,沒有完全量化模型(只量化了權重),加大了硬件部署的困難。綜合上述分析,為了解決量化模型不支持全整數推斷、共享指數受奇異值影響等問題,本文提出了支持全整數推斷的神經網絡遞增定點量化算法。該算法以帶有共享指數的整型數據表示浮點數據,通過統計浮點數據分布,確定最佳共享指數,保持了數據的有效精度,并通過遞增量化對定點數據微調,最終得到神經網絡量化模型。該量化模型支持全整數推斷,能夠加快模型推理速度,降低了輕量化設備部署的難度。該研究解決了奇異值影響共享指數的問題,具有一定的創新性。

1 IOIQ算法

IOIQ算法是一種為全整數推斷而設計的量化算法,支持將權重和激活都量化為8 bit,甚至更低的比特。IOIQ的算法框架如圖1所示,輸入浮點訓練樣本,待量化訓練完成后,輸出量化模型。

IOIQ算法包括INT-SE數據量化和遞增量化2部分。其中,INT-SE數據量化策略貫穿整個量化過程,遞增量化則是通過每個迭代周期更新掩碼矩陣,實現對權重數據的逐步量化。IOIQ算法接收到一組浮點數據后,首先通過INT-SE量化方法將浮點數據量化為INT-SE數據,并根據不同的神經網絡層(卷積層/全連接層或批歸一化層),將INT-SE數據送入不同的量化模塊。其中,在卷積層/全連接層量化模塊中,先將浮點權重數據量化為INT-SE數據,再將其與原始浮點權重數據組合成復合權重進行計算,最后將該層的輸出特征量化為INT-SE數據。在批歸一化層量化模塊中,先迭代學習方差和均值,然后鎖定參數,簡化計算方式,待所有神經網絡層均計算完畢后,根據遞增量化策略,更新掩碼矩陣。重復上述過程,直到達到最大迭代次數,訓練完畢。最后統計各層的共享指數差異,計算輸出特征最佳截位點,最終得到神經網絡量化模型。

1.1 INT-SE數據量化策略

為了最大程度減少存儲消耗,本文提出一種專用于整數計算的INT-SE數據格式。INT-SE數據之間所有的計算全是整型數據之間的乘加運算,計算更加簡單,方便硬件設計。

INT-SE數據包含表示數據部分的數據D(Data)和表示數據部分所有成員小數點位置的共享指數s(shared exponent)2部分。INT-SE數據可表示的浮點數值T為

在INT-SE數據中,共享指數s是一個能夠表示數量級,并且影響量化數值范圍的值,其扮演的角色相當于量化系數。因此,為了減少參數量,使計算更加簡便,在IOIQ算法中,每一個層的參數僅設置一個共享指數。為了更加精確地表示量化數值,減少誤差,IOIQ算法以均方誤差(mean square error,MSE)為指標,選取最佳共享指數。MSE代表了量化前后參數向量的歐氏距離,MSE越小,表示量化前后的值越接近。INT-SE數據量化流程如圖2所示。

在上述過程中,隨著迭代采用不同的掩碼矩陣,使權重矩陣實現了遞增式的量化。IOIQ算法采用兩種策略,以獲得掩碼矩陣,即隨機策略和剪枝策略。其中,隨機策略將會根據量化比例,隨機生成掩碼矩陣;剪枝策略根據當前層神經網絡中權重的絕對值大小和量化比例,設置掩碼矩陣。

1.3 批歸一化層及偏置量化方法

卷積層和全連接層可以直接將權重轉化為INT-SE數據,但批歸一化層有4種不同的參數,且推理側中的均值和方差是訓練過程中的均值和方差,是通過滑動平均得到。此時,批歸一化層含有除法和開方等復雜運算,為了能夠簡化批歸一化層的計算方式,讓批歸一化層更加適應硬件設計,并且避免量化批歸一化層模型精度的損失。IOIQ算法針對批歸一化層量化訓練,提出了學習參數和鎖定參數兩種不同批歸一化層的計算方式。

首先通過學習參數計算方式更新滑動均值μ和滑動方差σ2,并通過鎖定參數將4種參數融合后量化,進而通過式(8)計算出浮點輸出特征,最后將浮點輸出特征量化為INT-SE數據的輸出特征送往下一層計算。由于偏置需要與乘法或卷積的臨時結果進行累加,如果偏置的共享指數小于臨時結果的共享指數,就會增加計算困難。因此,在IOIQ算法中,先對偏置進行統計,計算出參考共享指數,然后對其進行限定,如果加法對象的共享指數為s,那么偏置的共享指數取值范圍確定在[s+7,s]范圍內。在確定偏置共享指數后,將偏置從浮點數據量化為INT-SE數據。批歸一化層鎖定參數量化訓練流程如圖5所示。

1.4 量化模型在推理側的硬件實現方案

神經網絡量化模型在推理側硬件實現時,僅乘加運算導致數據溢出時會造成精度的損失,其他的乘加運算和移位操作都不會損失精度。因此,為了避免數據溢出,保留數據精度,IOIQ算法在完成量化訓練后,統計神經網絡每一層的權重共享指數sw、訓練過程中輸入共享指數的滑動平均值sin和輸出共享指數的滑動平均值sout,計算最佳截位點(optimal truncation point,OTP),最佳截位點POT為

在硬件中,量化后,卷積層、全連接層和批歸一化層全整數計算流程如圖6所示。圖6中,輸入的整型數據Din和權重的整型數據Dw,會不斷進行整數乘加運算,得到臨時結果的整型數據Dt1,臨時結果的共享指數st1是輸入共享指數sin與權重共享指數sw的和。為了與臨時結果數據對齊,偏置的整型數據Db要根據st1和sb進行移位操作后與臨時結果Dt1累加,得到累加結果Dt2。經過多次累加操作,累加結果的數據位寬最大可擴展到32位,為了輸出數據和輸入數據保持同樣的數據位寬,將Dt2、st2和最佳截位點POT,通過舍入與截斷操作(R&T),得到與輸入數據同樣數據位寬的輸出數據Dout和sout。

2 實驗與結果分析

2.1 實驗設計

為充分驗證IOIQ算法的性能,本文設計多比特實驗、共享指數實驗和遞增量化實驗,并與典型的神經網絡量化算法BWN[19-20]、TWN[21]、INQ[18]、FGQ[22]、IAO[17]進行了對比分析。實驗中,考察了ResNet18[23]、ResNet34[23]、ResNet50[23]和輕量級網絡MobileNetv2[14]4種神經網絡模型的量化結果。

數據集采用CIFAR和ImageNet。其中,CIFAR數據集[24]包含8 000萬張微型帶標簽圖像;ImageNet數據集[25]包含約120萬張訓練圖像和5萬張驗證圖像。

2.2 實驗結果與分析

2.2.1 多比特實驗結果

神經網絡模型由浮點數據量化為不同位數INTS-SE數據,IOIQ算法不同比特量化實驗結果如表1所示。

由表1可以看出,ResNet18在CIFAR10下,16 bit量化后準確率較FP32上升了0.02%,12 bit上升了0.01%,8 bit下降了0.03%,6 bit下降幅度最高,達到了4.35%。實驗結果表明,在高比特出現了超越浮點準確率的現象。因為目前的深度神經網絡普遍存在冗余,將網絡適當量化可能會減少冗余,從而提升模型泛化能力,而過低的比特位由于信息量太少,會導致精度下降,如6 bit量化。本實驗與原浮點模型相比,8 bit量化結果僅下降了0.03%。因此,本文IOIQ算法在8 bit位上取得最優的性能平衡,后續實驗基于8位量化展開。

2.2.2 共享指數實驗結果

給出不同共享指數候選集對量化模型性能的影響結果,不同的共享指數候選集實驗結果如表2所示。表2中,s代表初始共享指數,+1代表統計得到的共享指數+1。

由表2可以看出,當s-1,s,s+1,s+2,s-2這5個共享指數候選值單獨作為候選集進行量化實驗時,量化模型效果最好的是初始共享指數s,ResNet18準確率僅下降了0.43%;最差的是s-2,準確率下降了22.2%。2個共享指數候選值比1個共享指數候選值得到的量化模型性能更好,僅僅下降了0.3%左右;4個共享指數候選值得到的量化模型性能最優,ResNet18量化后準確率僅下降0.18%。實驗結果表明,單一的共享指數不能使INT-SE數據表達精確,更多的共享指數作為候選值,能夠克服奇異值對共享指數的影響,讓INT-SE數據表達更加精確。綜合考慮性能與時間成本,最后選擇4個候選值作為候選集選取最優共享指數。

2.2.3 遞增量化實驗結果

給出剪枝遞增和隨機遞增2種遞增量化策略對模型性能的影響,不同遞增量化方法對比結果如表3所示。由表3可以看出,在CIFAR10數據集上,ResNet18使用剪枝遞增策略得到的量化模型,準確率僅下降0.18%,使用隨機遞增策得到的量化模型,準確率下降0.37%。

表3證明了使用剪枝遞增策略得到的量化模型,性能更加優秀,因為神經網絡對于權重參數比較敏感,絕對值大的權重對結果的影響比較大,若進行隨機量化,絕對值大的權重可能在最后一次進行量化,需要更長的訓練周期進行微調,因此IOIQ算法使用剪枝遞增策略對權重進行量化。

為了查看量化前后數據是否一致,分別顯示ResNet18在CIFAR10數據集的浮點模型和量化模型權重參數概率密度分布。量化前后,卷積層權重概率密度分布如圖7所示,全連接層權重概率密度分布如圖8所示,批歸一化層權重概率密度分布如圖9所示。

由圖7~圖9可以看出,卷積層和全連接層浮點模型和量化模型權重分布基本一致,只在批歸一化層會有一些量化損失。因為批歸一化層4個參數量化后直接鎖定,沒有經過訓練進行微調,使一些數據偏移了浮點數據。

2.2.4 與其他算法比較結果

在與其他算法進行對比之前,首先對IOIQ算法進行擴展實驗,不同網絡基于IOIQ算法的實驗結果如表4所示。由表4可以看出,在CIFAR10數據集上,ResNet50量化后,準確率下降0.2%;在CIFAR100數據集上,ResNet50下降0.52%;在ImageNet數據集上,ResNet50下降了0.58%,MobileNetv2下降了0.35%。

為了進一步證明IOIQ算法的性能,將IOIQ算法與BWN[19-20]、TWN[21]、INQ[18]、FGQ[22]、IAO[17]進行對比試驗,Resnet50在ImageNet上的不同方法性能對比結果如表5所示。由表5可知,IOIQ算法的性能優于其他算法,與IAO算法相比,其準確率高0.92%,并且本文的算法改進了其他算法不支持全整數推斷、共享指數受奇異值影響和一次量化精度下降的缺點,更加適應硬件設計。

3 結束語

本文提出了支持全整數推斷的神經網絡遞增定點量化算法IOIQ,通過INT-SE量化方法,將神經網絡的參數量化到整型數據,并通過遞增量化微調數據。其中,通過將MSE作為指標,選取最優的共享指數,解決了奇異值影響共享指數的問題。針對一次性量化帶來量化精度下降問題,IOIQ使用改進的遞增量化算法,每次僅量化一部分數據,且量化后的數據仍然可更新。由于對整數運算存在數據溢出的問題,在訓練結束時,統計了神經網絡各層的共享指數,得到輸出特征的最佳截位點,在量化完成后,量化模型中參數全部為INT-SE數據,極大地節省了存儲空間,且模型推斷計算過程全部是整數的乘加運算,加快了運算速度,更加適應硬件設計。實驗結果表明,IOIQ算法在ResNet和MobileNet網絡上取得了較好成果,經IOIQ算法量化后的ResNet50,在CIFAR數據集上的top1,準確率下降0.2%,在ImageNet數據集上top1,準確率下降0.58%,證明了本研究方法的有效性。為了探索硬件加速的極限,未來可進一步研究更低比特位量化的策略。

參考文獻:

[1] NAN K,LIU S,DU J,et al. Deep model compression for mobile platforms:A survey[J]. Tsinghua Science and Technology,2019,24(6):677-693.

[2] HU D,KRISHNAMACHARI B. Fast and accurate streaming CNN inference via communication compression on the edge[C]∥2020 IEEE/ACM Fifth International Conference on Internet-of-Things Design and Implementation (IoTDI). Sydney,NSW,Australia:ACM,2020.

[3] YEJING L A I,SHANFENG H A O,DINGJIANG H. Methods and progress in deep neural network model compression[J]. Journal of East China Normal University (Natural Science),2020(5):68-82.

[4] ALVAREZ J M,SALZMANN M. Learning the number of neurons in deep networks[C]∥ In Proceedings of the 30th International Conference on Neural Information Processing Systems (NIPS′16). Red Hook,NY,USA:Curran Associates Inc,2016:2270-2278.

[5] 丁文銳,劉春蕾,李越,等. 二值卷積神經網絡綜述[J]. 航空學報,2021,42(6):192-206.

[6] RASTEGARI M,ORDONEZ V,REDMON J,et al. Xnor-net:Imagenet classification using binary convolutional neural networks[C]∥European Conference on Computer Vision. Amsterdam,Netherlands:Springer,Cham,2016:525-542.

[7] CHEN W,WILSON J T,TYREE S,et al. Compressing neural networks with the hashing trick[C]∥International Conference on International Conference on Machine Learning. Lille,France:JMLR,2015:2285-2294.

[8] HAN S,MAO H,DALLY W J. Deep compression:Compressing deep neural networks with pruning,trained quantization and huffman coding[J/OL]. arXiv preprint arXiv:1510.00149,2015.

[9] COURBARIAUX M,BENGIO Y,DAVID J P. BinaryConnect:Training deep neural networks with binary weights during propagations[C]∥International Conference on Neural Information Processing Systems. Montreal,Canada:MIT Press,2015:3123–3131.

[10] QIN H,GONG R,LIU X,et al. Forward and backward information retention for accurate binary neural networks[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Seattle,WA,USA:IEEE,2020:2247-2256.

[11] HINTON G,VINYALS O,DEAN J. Distilling the Knowledge in a Neural Network[J]. Computer Science,2015,14(7):38-39.

[12] IANDOLA F N,HAN S,MOSKEWICZ M W,et al. SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and <0.5 MB model size[J/OL]. arXiv preprint arXiv:1602. 07360,2016.

[13] HOWARD A G,ZHU M,CHEN B,et al. Mobilenets:Efficient convolutional neural networks for mobile vision applications[J/OL]. arXiv preprint arXiv:1704. 04861,2017.

[14] SANDLER M,HOWARD A,ZHU M,et al. MobileNetV2:Inverted residuals and linear bottlenecks[C]∥ 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Salt Lake City,UT,USA:IEEE,2018:4510-4520.

[15] HOWARD A,SANDLER M,CHEN B,et al. Searching for MobileNetV3[C]∥2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul,Korea(South):IEEE,2020:1314-1324.

[16] LIN D,TALATHI S,ANNAPUREDDY S. Fixed point quantization of deep convolutional networks[C]∥International conference on machine learning. New York,USA:PMLR,2016:2849-2858.

[17] JACOB B,KLIGYS S,CHEN B,et al. Quantization and training of neural networks for efficient integer-arithmetic-only inference[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City,UT,USA:IEEE,2018:2704-2713.

[18] ZHOU A,YAO A,GUO Y,et al. Incremental network quantization:Towards lossless cnns with low-precision weights[J/OL]. arXiv preprint arXiv:1702. 03044,2017.

[19] HUBARA I,COURBARIAUX M,SOUDRY D,et al. Quantized neural networks:Training neural networks with low precision weights and activations[J]. The Journal of Machine Learning Research,2017,18(1):6869-6898.

[20] LENG C,DOU Z,LI H,et al. Extremely low bit neural network:Squeeze the last bit out with admm[C]∥Thirty-Second AAAI Conference on Artificial Intelligence. Louisiana,USA:AAAI,2018:3466-3473.

[21] LI F,ZHANG B,LIU B. Ternary weight networks[J/OL]. arXiv preprint arXiv:1605. 04711,2016.

[22] MELLEMPUDI N,KUNDU A,MUDIGERE D,et al. Ternary neural networks with fine-grained quantization[J/OL]. arXiv preprint arXiv:1705. 01462,2017.

[23] HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas,NV,USA:IEEE,2016:770-778.

[24] ALEX K,HINTON G. Learning multiple layers of features from tiny images[R]. Toronto:University of Toronto,2009.

[25] JIA D,WEI D,SOCHER R,et al. ImageNet:A large-scale hierarchical image database[C]∥ 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami,FL,USA:IEEE,2009:248-255.

Abstract:To port convolutional neural networks to lightweight devices,this paper proposes incremental fixed-point quantization algorithm for neural networks supporting integer-only inference (IOIQ). The effective compression of the floating-point model is achieved by converting the neural network weights and features from floating-point data to data with integer-shared exponent (INT-SE). In the pseudo-quantization training,the IOIQ algorithm adopts incremental quantization strategy to gradually quantize and iteratively update the floating-point data,which makes up for the large loss of one-time quantization accuracy. To solve the data overflow problem during inference,the optimal cutoff point of the output features of each layer is determined by separately counting the difference of the quantized data sharing index of each layer of the neural network model,and the hardware implementation scheme of the quantized model on the inference side is given,while the neural network model quantized by the IOIQ algorithm does not contain any floating-point data during inference,and all of them are integer operations,which are easy to deploy on the edge side. Experimental results show that the top-1 accuracy of ResNet50 quantized by the IOIQ algorithm decreases by 0.2% on the CIFAR dataset and by 0.58% on the ImageNet dataset at eight-bit precision,outperforming the algorithm of efficient integer-arithmetic-only inference (IAO) quantization and incremental network quantization (INQ). This research has important practical applications.

Key words:neural network; quantization; full integer; shared exponential; incremental quantization; optimal cutoff point

猜你喜歡
量化神經網絡
神經網絡抑制無線通信干擾探究
從覆判案件看北京政府時期基層司法的狀況與特征:以江蘇為例
量化詞語的隱喻分析
?;髽I提高現場應急處置能力的對策措施研究
讓“量化”更加的“亮化”
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
基于支持向量機回歸和RBF神經網絡的PID整定
基于神經網絡分數階控制的逆變電源
基于GA-BP神經網絡的光伏陣列MPPT研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合