盧毓東,陳 益
(1.國網(wǎng)浙江省電力有限公司電力科學(xué)研究院,杭州 310014;2.國網(wǎng)浙江省電力有限公司,杭州 310007)
隨著新一代數(shù)字技術(shù)的快速發(fā)展,數(shù)字化轉(zhuǎn)型浪潮正引領(lǐng)著一場深刻的社會(huì)變革。2012年以來,隨著深度學(xué)習(xí)技術(shù)快速崛起,人工智能技術(shù)已在生產(chǎn)、生活的眾多領(lǐng)域廣泛應(yīng)用。在能源電力行業(yè),AI(人工智能)技術(shù)逐漸在新能源功率預(yù)測、電網(wǎng)調(diào)度、源網(wǎng)荷儲(chǔ)協(xié)調(diào)運(yùn)行、電網(wǎng)無功電壓控制優(yōu)化、電力市場、機(jī)器人與無人機(jī)巡檢、智能營銷客服、需求響應(yīng)、安全生產(chǎn)管控等業(yè)務(wù)領(lǐng)域深入應(yīng)用,逐步成為新型電力系統(tǒng)、數(shù)字電網(wǎng)建設(shè)中重要的基礎(chǔ)支撐技術(shù)[1-3]。人工智能正為社會(huì)創(chuàng)造著巨大的經(jīng)濟(jì)效益和社會(huì)效益。
然而由于人工智能技術(shù)的快速發(fā)展嚴(yán)重依賴于模型參數(shù)的大規(guī)模擴(kuò)張和大規(guī)模數(shù)據(jù)的訓(xùn)練,深度學(xué)習(xí)對(duì)高精度的追逐已催生出超大規(guī)模模型,模型參數(shù)的急速擴(kuò)張導(dǎo)致了算力需求、能源需求及碳排放量的大幅增加。2000—2021年期間,模型規(guī)模每18~24個(gè)月翻倍,而語言模型規(guī)模自2016年之后每4~8個(gè)月翻倍[4]。2012—2018年期間,計(jì)算量總共增加了30萬倍,計(jì)算需求每3~4個(gè)月翻倍[5]。2020年,文獻(xiàn)[6]評(píng)估了包括GPT-3在內(nèi)的5種NLP(自然語言處理)模型的能耗和碳足跡,訓(xùn)練GPT-3模型的耗電量高達(dá)1 287 MWh,產(chǎn)生的碳排放約552 t CO2e。深度學(xué)習(xí)模型越來越高的能源需求和碳排放量引起了社會(huì)與研究人員對(duì)AI能源需求和環(huán)境影響的關(guān)注[6]。
2020年,中國制定了力爭2030年碳達(dá)峰、2060年碳中和的“雙碳”目標(biāo)。構(gòu)建新型電力系統(tǒng)是落實(shí)“碳達(dá)峰與碳中和”目標(biāo)的重要舉措。在新型電力系統(tǒng)建設(shè)中,人工智能技術(shù)越來越高的能耗不僅使其自身實(shí)現(xiàn)“雙碳”目標(biāo)受到了嚴(yán)峻挑戰(zhàn),也限制了AI在電力巡檢機(jī)器人、無人機(jī)等許多資源有限的邊緣設(shè)備中的應(yīng)用。邊緣設(shè)備底層硬件可提供的算力、功耗、存儲(chǔ)及內(nèi)存帶寬已無法支撐規(guī)模越來越大的DNN(深度神經(jīng)網(wǎng)絡(luò))模型,迫使研發(fā)人員設(shè)計(jì)出低功耗、綠色、高效的小型DNN模型,實(shí)現(xiàn)模型性能和高效之間的權(quán)衡。
在“雙碳”目標(biāo)下的電網(wǎng)數(shù)字化轉(zhuǎn)型期,開展綠色人工智能技術(shù)的研究,對(duì)促進(jìn)新型電力系統(tǒng)建設(shè)和人工智能技術(shù)進(jìn)步將產(chǎn)生積極的影響。為促進(jìn)人工智能技術(shù)更好地支撐新型電力系統(tǒng)建設(shè),本文首先引入了綠色人工智能的由來、定義及影響模型能耗的關(guān)鍵因素;接著,探討了人工智能模型實(shí)現(xiàn)節(jié)能降碳相關(guān)技術(shù)的發(fā)展現(xiàn)狀、關(guān)鍵問題、改進(jìn)方法和效果,其中包括高效模型壓縮與加速技術(shù)及高效神經(jīng)架構(gòu)搜索技術(shù);然后討論了高效硬件基礎(chǔ)設(shè)施節(jié)能減碳的措施;最后,對(duì)綠色人工智能技術(shù)的未來發(fā)展提出相關(guān)建議和展望。
2019年,Schwartz等人[7]首先引入了綠色人工智能的概念,主張?jiān)谘邪l(fā)人工智能算法的過程中更多地關(guān)注能源效率與能源成本,鼓勵(lì)降低計(jì)算成本。與不惜一切代價(jià)追求最先進(jìn)性能的研究路徑不同,綠色人工智能是指在不增加計(jì)算成本的條件下獲得更先進(jìn)的成果,使用盡可能少的計(jì)算資源和能源獲得更好性能的人工智能研究[7]。Schwartz建議在每篇人工智能論文中公布實(shí)驗(yàn)的運(yùn)行時(shí)間和碳排放量等相關(guān)信息。隨后,針對(duì)AI能源需求和碳足跡的研究越來越多,同時(shí)提出了各種節(jié)能降碳的建議和措施[7-8]。
研究人員在不斷探索綠色人工智能技術(shù)的過程中發(fā)現(xiàn),模型架構(gòu)、算法設(shè)計(jì)、硬件性能和數(shù)據(jù)中心綠電供應(yīng)是影響模型性能、能效及碳排放量的關(guān)鍵因素,其中模型架構(gòu)、模型參數(shù)量、內(nèi)存訪問時(shí)間、內(nèi)存占用、操作數(shù)量、模型運(yùn)行時(shí)間、功耗、FLOPs(浮點(diǎn)運(yùn)算量)及碳排放強(qiáng)度等參數(shù)是衡量影響因素的重要指標(biāo)[9-10]?;谏鲜鲋笜?biāo),研究人員針對(duì)超大規(guī)模DNN模型,不斷創(chuàng)新高效的模型壓縮和加速技術(shù),壓縮模型參數(shù)量,減少內(nèi)存占用,加速計(jì)算,節(jié)能降碳,方便邊緣設(shè)備部署;對(duì)于早期神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索上萬小時(shí)的訓(xùn)練時(shí)間及高能耗,不斷研發(fā)高效搜索技術(shù),減少搜索時(shí)間,提高能效;對(duì)于數(shù)據(jù)中心迅速增長的能源需求,不斷創(chuàng)新零碳技術(shù),降低碳排放強(qiáng)度,減緩碳足跡的增長。
模型壓縮與加速是在不影響任務(wù)完成的前提下,利用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的冗余性精簡模型,獲得輕量且準(zhǔn)確性相當(dāng)?shù)哪P?,降低?jì)算資源需求和內(nèi)存需求,加速計(jì)算,提高能效,方便移動(dòng)嵌入式設(shè)備上的部署。
為加速密集型卷積計(jì)算,研究人員在常規(guī)卷積結(jié)構(gòu)的基礎(chǔ)上改進(jìn),提出了許多緊湊卷積架構(gòu)。
2.1.1 深度可分離卷積
深度可分離卷積是將常規(guī)3維卷積分解并替換成兩層:2維深度卷積和1維逐點(diǎn)卷積。深度可分離卷積將空間相關(guān)性與通道相關(guān)性解耦,計(jì)算量約為常規(guī)卷積的1/3。
MobileNets-v1[11]是專門針對(duì)移動(dòng)設(shè)備設(shè)計(jì)的輕量級(jí)高效架構(gòu)。MobileNets-v1采用深度可分離卷積替代常規(guī)卷積,在ImageNet數(shù)據(jù)集測試,其精度與GoogleNet和VGG-16相當(dāng),而參數(shù)量及乘加運(yùn)算量減少了一個(gè)數(shù)量級(jí)。在移動(dòng)端和嵌入式設(shè)備上測試,根據(jù)不同型號(hào),用戶預(yù)期延遲僅在10~100 ms之間。Xception[12]采用深度可分離卷積,計(jì)算量遠(yuǎn)小于Inception-V3,在ImageNet數(shù)據(jù)集上測試,在不增加參數(shù)量的情況下,精度更高,訓(xùn)練速度更快。此外,還產(chǎn)生了Mobilenetv2、Pydmobilenet等高級(jí)變體。
2.1.2 Fire模塊
2016年,Iandola等人[13]提出了Fire模塊,并以Fire模塊作為基礎(chǔ)模塊構(gòu)建了SqueezeNet。SqueezeNet的卷積層包含兩層組件:1×1卷積核的squeeze卷積層和混合了1×1和3×3卷積核的擴(kuò)展層。squeeze卷積層壓縮了網(wǎng)絡(luò)寬度,顯著降低了計(jì)算復(fù)雜度。與AlexNet相比,SqueezeNet將參數(shù)量減少至1/50,在ImageNet數(shù)據(jù)集上測試精度相當(dāng)。隨后Gholami等人[14]提出了SqueezeNext。SqueezeNext在擴(kuò)展階段改進(jìn)了可分離卷積核,將k×k卷積核分解為k×1和1×k卷積核。與SqueezeNet相比,這種可分離卷積核進(jìn)一步減少了參數(shù)量,并實(shí)現(xiàn)了2.5倍的加速,在ImageNet上測試,與AlexNet精度相當(dāng)。
2.1.3 分組卷積
分組卷積將輸入通道分成若干組,各組獨(dú)立采用不同的卷積核,組內(nèi)先進(jìn)行正常卷積,但不與其他組的通道進(jìn)行通信,完成組內(nèi)卷積后,不同組得到的特征圖再按通道維度進(jìn)行拼接,得到輸出。
2017年,He等人[15]在ResNet[16]基礎(chǔ)上引入“基數(shù)”超參數(shù)和分組卷積,提出了ResNext。2018年,針對(duì)移動(dòng)設(shè)備,Zhang等人[17]在ResNext基礎(chǔ)上提出了高效架構(gòu)ShuffleNet,ShuffleNet引入了逐點(diǎn)組卷積和通道切換。Zhang等人注意到ResNext中大量的1×1逐點(diǎn)卷積耗費(fèi)很多計(jì)算資源,于是將分組卷積思想應(yīng)用于逐點(diǎn)卷積降低參數(shù)量,之后再進(jìn)行通道切換,保證了不同分組間的信息交流。與AlexNet相比,ShuffleNet實(shí)現(xiàn)了約13倍的加速且精度相當(dāng)。與MobileNet v1和ResNext相比,ShuffleNet大幅降低了計(jì)算復(fù)雜度,性能更優(yōu)。Ma等人[18]提出了設(shè)計(jì)高效網(wǎng)絡(luò)的4個(gè)基本準(zhǔn)則,改進(jìn)并提出了ShuffleNet-v2。與ShuffleNet[17]相比,ShuffleNet-v2通過通道混洗和通道分割,并選取同樣輸入和輸出通道數(shù),最小化計(jì)算1×1卷積所需的內(nèi)存訪問次數(shù),減少碎片度和逐元素操作,進(jìn)一步提高了網(wǎng)絡(luò)精度和物理資源效率,加快了計(jì)算速度。研究者們在總結(jié)前期經(jīng)驗(yàn)的基礎(chǔ)上不斷改進(jìn)網(wǎng)絡(luò)架構(gòu),加速計(jì)算,降低資源需求,提高能效。輕量級(jí)高效架構(gòu)依然在不斷演進(jìn)之中。
模型剪枝是通過修剪模型中不重要、影響小的冗余參數(shù),在不顯著降低模型準(zhǔn)確率的情況下,減少模型大小,節(jié)省計(jì)算資源,提高模型訓(xùn)練和推斷速度。剪枝技術(shù)主要圍繞剪枝顆粒度、剪枝標(biāo)準(zhǔn)、剪枝策略和剪枝流程等方面不斷改進(jìn),提升模型壓縮效果,加快訓(xùn)練和推理速度。經(jīng)典剪枝步驟包括三步:預(yù)訓(xùn)練、剪枝、微調(diào)。首先通過預(yù)訓(xùn)練獲得高精度的大模型,再根據(jù)一定剪枝標(biāo)準(zhǔn)修剪模型中冗余參數(shù),最后經(jīng)過微調(diào)使模型恢復(fù)精度。
根據(jù)剪枝顆粒度不同,模型剪枝可分為非結(jié)構(gòu)化剪枝和結(jié)構(gòu)化剪枝。非結(jié)構(gòu)化剪枝則包括對(duì)單一的權(quán)重、權(quán)重向量和單一卷積核的剪枝。結(jié)構(gòu)化剪枝包括對(duì)濾波器、通道、層的剪枝,去除的主要是多余的通道和成組的卷積核。
2.2.1 非結(jié)構(gòu)化剪枝
1)權(quán)重剪枝。1990年,Lecun等人[19]根據(jù)目標(biāo)函數(shù)的二階導(dǎo)數(shù)計(jì)算權(quán)重重要性,首次提出了對(duì)前饋網(wǎng)絡(luò)進(jìn)行權(quán)重剪枝的方法,稱為OBD(最佳腦損傷)方法。1993年,Hassibi等人[20],提出了OBS(最優(yōu)腦外科醫(yī)生)方法,OBS采用Hessian的逆作為權(quán)重重要性分?jǐn)?shù),擴(kuò)展了OBD方法。2015年,Han等人[21]針對(duì)全連接層和卷積層提出了基于權(quán)重幅值經(jīng)典的三步方法進(jìn)行權(quán)重剪枝,在保持模型精度的情況下,將AlexNet的權(quán)重?cái)?shù)量減少了9倍。
2)網(wǎng)絡(luò)連接剪枝。除了權(quán)重剪枝外,為了減少密集層中的連接數(shù)量,2001年,Suzuki等人[22]提出根據(jù)網(wǎng)絡(luò)連接對(duì)訓(xùn)練損失的影響程度修剪網(wǎng)絡(luò)連接。2016年,Ardakani等人[23]提出了稀疏連接網(wǎng)絡(luò),基于線性反饋移位寄存器生成隨機(jī)掩碼,刪除密集層中的歸零連接,與傳統(tǒng)的全連接網(wǎng)絡(luò)相比節(jié)省90%的內(nèi)存。
3)神經(jīng)元剪枝。與修剪單個(gè)權(quán)重不同,修剪神經(jīng)元是指刪除屬于神經(jīng)元的一組權(quán)重。2015年,Srinivas等人[24]注意到權(quán)重相似的神經(jīng)元也會(huì)產(chǎn)生冗余,并基于歐幾里得距離度量兩個(gè)神經(jīng)元的相似性,刪除整個(gè)冗余的神經(jīng)元。2016年,Hu等人[25]以每個(gè)神經(jīng)元零激活的平均百分比為度量,根據(jù)給定壓縮率修剪了具有高零激活百分比的神經(jīng)元。2017年,Babaeizadeh等人[26]基于層內(nèi)神經(jīng)元激活的相關(guān)性,提出一種簡單有效的NoiseOut方法減少全連接層神經(jīng)元。2018年,Yu等人[27]提出重要性分?jǐn)?shù)傳播算法,根據(jù)整個(gè)網(wǎng)絡(luò)所有層的重要性分?jǐn)?shù)以及預(yù)先設(shè)定的每一層的剪枝率指導(dǎo)修剪不重要的神經(jīng)元。
雖然非結(jié)構(gòu)化剪枝提高了資源效率和準(zhǔn)確性,但由于硬件難以加速稀疏矩陣計(jì)算,非結(jié)構(gòu)化剪枝獲得的稀疏性并沒有明顯提升推理速度。因此,研究者提出了過濾器、通道或?qū)拥葞追N結(jié)構(gòu)化剪枝算法。與非結(jié)構(gòu)化剪枝不同,結(jié)構(gòu)化剪枝可以保持DNN的密集結(jié)構(gòu),進(jìn)一步提高了硬件資源效率。
2.2.2 結(jié)構(gòu)化剪枝
1)過濾器剪枝。CNN(卷積神經(jīng)網(wǎng)絡(luò))在每個(gè)卷積層都有很多過濾器,從卷積層中修剪不重要的過濾器,可以減少計(jì)算開銷,加速模型計(jì)算。2017年,Li等人[28]指出超過90%的計(jì)算成本來自卷積層,并采用L1范數(shù)計(jì)算過濾器的重要性排名,直接移除每一層中排名低且影響很小的過濾器,將VGG-16模型的MAC操作數(shù)從3.13×108降至2.06×108,極大的減少了計(jì)算成本。2018年,Luo等人[29]提出了高效的過濾器剪枝方法ThiNet,ThiNet使用前一層的輸出特征計(jì)算過濾器的重要性分?jǐn)?shù),指導(dǎo)當(dāng)前層剪枝。ThiNet將AlexNet的大小減少至2.66~5.05 MB,而精度與AlexNet相當(dāng),對(duì)嵌入式設(shè)備友好。
2)通道剪枝。2015年,Liu等人[30]提出了稀疏分解法修剪卷積網(wǎng)絡(luò)的冗余通道。在ImageNet的測試表明,該方法將網(wǎng)絡(luò)中90%卷積核參數(shù)歸零,而精度損失小于1%。2017年,He等人[31]使用Lasso回歸方法識(shí)別重要通道,修剪冗余通道。測試表明,對(duì)VGG-16的通道剪枝獲得了5倍加速。2017年,Liu等人[32]采用Batch Norm層可學(xué)習(xí)縮放因子作為通道重要性分?jǐn)?shù),修剪縮放因子小的通道。測試表明,該方法將VGG網(wǎng)絡(luò)參數(shù)壓縮了82.5%,節(jié)省了30.4%的計(jì)算量。
3)層剪枝。層剪枝方法利用學(xué)習(xí)得到的卷積層特征,識(shí)別冗余卷積層并進(jìn)行剪枝。2018年,Chen等人[33]提出了一種基于特征表示的逐層剪枝方法,去除CNN中冗余的卷積層。實(shí)驗(yàn)表明,該方法在保證精度的同時(shí),顯著降低了計(jì)算成本。
2.2.3 經(jīng)典方法擴(kuò)展
1)彩票假說。2019年,F(xiàn)rankle等人[34]提出了模型剪枝的“彩票假說”,突破了“預(yù)訓(xùn)練-剪枝-微調(diào)”的經(jīng)典流程,模型剪枝后,將權(quán)重重置為原網(wǎng)絡(luò)隨機(jī)初始化的權(quán)重,再重新訓(xùn)練剪枝模型,得到的模型性能優(yōu)于原始網(wǎng)絡(luò)和剪枝后微調(diào)的網(wǎng)絡(luò)性能,參數(shù)量和復(fù)雜度更低。基于彩票假說,2020年,Prasanna等人[35]對(duì)BERT(變換網(wǎng)絡(luò)中雙向編碼表示)進(jìn)行結(jié)構(gòu)化剪枝,測試發(fā)現(xiàn),“隨機(jī)”子網(wǎng)重新訓(xùn)練后仍與“好”子網(wǎng)的精度相當(dāng),并通過刪減冗余FFN(前饋神經(jīng)網(wǎng)絡(luò))層和注意力頭實(shí)現(xiàn)了更高的壓縮率。
2)隨機(jī)剪枝。2022年,Liu等人[36]等人重新審視了被低估的隨機(jī)剪枝方法。在網(wǎng)絡(luò)具有一定規(guī)模和逐層稀疏比條件下,不依賴任何先進(jìn)的剪枝技術(shù),不借助任何預(yù)訓(xùn)練方法,從零訓(xùn)練一個(gè)完全隨機(jī)剪枝的稀疏網(wǎng)絡(luò),可以出人意料地達(dá)到和稠密網(wǎng)絡(luò)一樣的精度,訓(xùn)練隨機(jī)剪枝網(wǎng)絡(luò)可以非常高效。在ImageNet的測試表明,訓(xùn)練一個(gè)隨機(jī)剪枝的Wide ResNet-50子網(wǎng)絡(luò)性能優(yōu)于強(qiáng)大的基準(zhǔn)、稠密的Wide ResNet-50。
量化是將信號(hào)的連續(xù)取值近似映射到區(qū)間內(nèi)有限多個(gè)離散值的過程。與全精度相比,將高精度浮點(diǎn)值轉(zhuǎn)化成低精度整型值,減少了表示權(quán)重值和激活值所需的比特?cái)?shù),壓縮了原始網(wǎng)絡(luò),提高了系統(tǒng)推理吞吐量、降低延遲,節(jié)省內(nèi)存成本和帶寬,提高能效。以采用45 nm技術(shù)的處理器為例,執(zhí)行INT8加法計(jì)算的能效比FP32加法計(jì)算提高30倍[37]。
根據(jù)需要量化的參數(shù),量化分為權(quán)重量化和激活量化。根據(jù)量化間隔是否均勻,分為均勻量化和非均勻量化;根據(jù)微調(diào)方法,分為QAT(量化感知訓(xùn)練)和PTQ(訓(xùn)練后量化)。
1)非均勻量化。非均勻量化采用非均勻間隔的量化步長,能更好地反應(yīng)、捕捉尺度內(nèi)信號(hào)的細(xì)微變化,避免均勻量化造成的信息損失。Han等人[38]首先提出了參數(shù)量化方法壓縮模型參數(shù),采用非均勻分布的聚類中心,使用k-均值聚類共享權(quán)重的方法實(shí)現(xiàn)量化。Xu等人[39]應(yīng)用相似的聚類策略,以逐層的方式進(jìn)行量化。Miyashita等人[40]引入2次方函數(shù)進(jìn)行非均勻量化。
2)均勻量化。均勻量化通常采用均勻間隔的量化步長。Li等人[41]將均勻量化應(yīng)用于批歸一化折疊的目標(biāo)檢測模型。Jung等人[42]提出參數(shù)量化間隔的均勻量化方法。Zhuang等人[43]提出了漸進(jìn)式兩階段的均勻量化方法。
3)PTQ。PTQ是量化已預(yù)訓(xùn)練完成的FP32模型,以降低推理成本。PTQ無需對(duì)原模型進(jìn)行重新訓(xùn)練,只需調(diào)整幾個(gè)超參數(shù)即可完成量化過程,實(shí)現(xiàn)過程快速、高效。盡管訓(xùn)練后量化實(shí)現(xiàn)簡單,但量化誤差導(dǎo)致了模型精度的下降。為提高精度,Wang等人[44]使用新的啟發(fā)式方法改進(jìn)訓(xùn)練后量化。
4)QAT。Jacob等人[45]提出了量化感知訓(xùn)練,通過在訓(xùn)練期間微調(diào)量化模型,彌補(bǔ)精度損失。QAT出現(xiàn)了round函數(shù)無法求導(dǎo)的問題,使反向傳播無法進(jìn)行。文獻(xiàn)[45]提出了STE(直通估計(jì)器)方法,近似其梯度值為1,解決了梯度計(jì)算問題,STE方法逐漸成為主流方法。PTQ和QAT的選擇取決于應(yīng)用的精度和功耗要求,這兩種方法都是模型工具包的重要組成部分。
5)極限量化。為進(jìn)一步壓縮模型,文獻(xiàn)[46-49]提出了不同的量化變體。BinaryConnect[46]使用符號(hào)函數(shù)sign(x)將32 bit浮點(diǎn)型實(shí)值權(quán)重隨機(jī)轉(zhuǎn)換成為二值權(quán)重{-1,1},加速計(jì)算。隨后,BNN(貝葉斯神經(jīng)網(wǎng)絡(luò))[47]、XNOR-Net(對(duì)權(quán)重和輸入二值化神經(jīng)網(wǎng)絡(luò))[48]、BCNN(雙線性卷積神經(jīng)網(wǎng)絡(luò))[49]將二進(jìn)制量化擴(kuò)展到激活,對(duì)權(quán)重和激活值都進(jìn)行了二值化。原始的二值化方法使模型精度顯著下降,隨后研究者們提出了不同的改進(jìn)方法。文獻(xiàn)[50]采用了更精細(xì)地逼近二值化函數(shù)方法緩解反向傳播中的梯度不匹配問題,達(dá)到了SOTA(最先進(jìn))性能。
6)應(yīng)用。2022年,文獻(xiàn)[51]提出了強(qiáng)化學(xué)習(xí)新范式ActorQ,將量化應(yīng)用于強(qiáng)化學(xué)習(xí)訓(xùn)練。ActorQ將FP32轉(zhuǎn)換為INT8,在保持性能的同時(shí)實(shí)現(xiàn)了1.5~5.4倍的計(jì)算加速,與全精度訓(xùn)練相比,碳足跡也減少了1.9~3.8倍。
低秩分解是將原先大的權(quán)重矩陣分解成多個(gè)小的矩陣,用低秩矩陣近似重構(gòu)原權(quán)重矩陣的過程。比如將一個(gè)4×4的卷積核替換為兩個(gè)級(jí)聯(lián)的卷積核,一個(gè)4×1的行卷積核和一個(gè)1×4的列卷積核。模型低秩分解后可以達(dá)到降低計(jì)算量、縮減存儲(chǔ)空間的目的。
常見的低秩分解有SVD(奇異值分解)、Tucker分解、Block Term分解、CP(典范/平行因子分解)、Tensor Train分解。CP分解可作為Tucker分解的特例,Tucker分解可視為張量奇異值分解的高階擴(kuò)展。
2014年Jaderberg等人[52]提出了使用SVD進(jìn)行逐層張量分解的方法,將CNN滿秩卷積核分解為若干秩1的低秩卷積核,測試表明在場景文本識(shí)別中可實(shí)現(xiàn)4.5倍加速,而準(zhǔn)確度僅降低1%。為了加速大型CNN的卷積層,2015年,Lebedev等人[53]提出了基于張量分解和判別微調(diào)的兩步方法,利用低秩CP分解加速4維卷積核張量分解為少量秩1張量的總和,將原始卷積層壓縮成4個(gè)卷積層序列。與AlexNet相比,該方法將速度提升了4倍,而top-5分類錯(cuò)誤僅增加1%。2015年,Novikov等人[54]通過張量分解將全連接層密集的權(quán)重矩陣轉(zhuǎn)換成Tensor Train形式,將VGG(幾何視覺分解)全連接層的參數(shù)量壓縮了20萬倍,網(wǎng)絡(luò)整體參數(shù)量壓縮了7倍,大幅減少參數(shù)量,并保持了模型精度。2017年,Yu等人[55]提出了基于權(quán)重矩陣低秩分解和稀疏分解相結(jié)合的DNN壓縮統(tǒng)一框架,將一個(gè)大規(guī)模矩陣分解為兩個(gè)或多個(gè)低維度矩陣的乘積與一個(gè)稀疏矩陣的和。在精度損失很小的情況下,將AlexNet和GoogLeNet分別壓縮至原模型的1/10和1/4,大幅提升了傳統(tǒng)壓縮算法效果。
目前,對(duì)于大量采用1×1小卷積核的DNN模型,低秩分解已較難實(shí)現(xiàn)網(wǎng)絡(luò)壓縮與加速。
知識(shí)蒸餾是指將大型復(fù)雜網(wǎng)絡(luò)(教師模型)在大型數(shù)據(jù)集上訓(xùn)練學(xué)習(xí)到的知識(shí)轉(zhuǎn)移到一個(gè)更小、更輕的簡單網(wǎng)絡(luò)(學(xué)生模型)的過程[56]。知識(shí)蒸餾使輕量級(jí)的學(xué)生模型具備更好的性能、精度和泛化能力,顯著減少了模型參數(shù)量和計(jì)算量。
不同知識(shí)蒸餾方法的核心區(qū)別在于知識(shí)來源、蒸餾策略、教師-學(xué)生架構(gòu)等方面的差異,最終影響模型壓縮效果和泛化精度。
為豐富知識(shí)來源渠道,研究人員將教師模型不同環(huán)節(jié)輸出的信息和樣本間豐富的關(guān)系結(jié)構(gòu)作為知識(shí)源頭,其中包括標(biāo)簽知識(shí)、中間層知識(shí)、參數(shù)知識(shí)、結(jié)構(gòu)特征知識(shí)和關(guān)系特征知識(shí)等多種知識(shí)形式。
2015年,Hinton首次提出了知識(shí)蒸餾(暗知識(shí)提?。┑母拍睿?6],通過logits標(biāo)簽知識(shí)蒸餾,壓縮深度神經(jīng)網(wǎng)絡(luò)。受Hinton啟發(fā),Romero等人[57]提出了Fitnets,利用信息更豐富的中間層表示和教師網(wǎng)絡(luò)標(biāo)簽做知識(shí)來源,將其壓縮為更薄、更深的學(xué)生網(wǎng)絡(luò)。與原網(wǎng)絡(luò)相比,學(xué)生模型參數(shù)縮小至教師模型的1/10,并提高了準(zhǔn)確性。2016年,Chen等人[58]提出了Net2Net模型,利用知識(shí)遷移技術(shù)和中間層知識(shí)訓(xùn)練更緊湊的對(duì)象檢測模型進(jìn)行行人檢測。與教師模型相比,學(xué)生模型參數(shù)縮小至教師模型的1/21,速度加快了8倍。Sanh等人[59]提出DistilBERT,將知識(shí)蒸餾技術(shù)簡單地應(yīng)用于BERT模型壓縮。DistilBERT保留了原模型97%的精度,參數(shù)縮小至原模型的40%,速度提高了60%。MobileBERT[60]使用漸進(jìn)式知識(shí)遷移策略,在BERT學(xué)生和教師模型之間進(jìn)行逐層蒸餾,與BERT相比,體積約縮小至原模型的1/4,速度加快了5.5倍,精度損失很小。文獻(xiàn)[61]提出了一種基于transformer結(jié)構(gòu)的兩階段知識(shí)蒸餾模型TinyBERT,用于BERT的壓縮和加速,將模型縮小為原來的1/8,推理時(shí)間減少為原來的1/9,并與原BERT模型精度相當(dāng)。2022年,文獻(xiàn)[62]提出解耦知識(shí)蒸餾方法,融合目標(biāo)類別知識(shí)蒸餾和非目標(biāo)類別知識(shí)蒸餾兩部分,學(xué)生模型準(zhǔn)確率提升至75.3%,使7年前Hinton的logits蒸餾方法重返最先進(jìn)性能模型行列。
作為新型電力系統(tǒng)建設(shè)中重要的基礎(chǔ)支撐技術(shù),人工智能已在電力巡檢、新能源功率預(yù)測、電網(wǎng)調(diào)度、需求響應(yīng)等業(yè)務(wù)領(lǐng)域深入應(yīng)用。然而,由于傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)模型體積大、運(yùn)算量高、硬件資源占用大、功耗高、推理速度慢、過度依賴后端服務(wù)器、響應(yīng)不及時(shí)等問題,導(dǎo)致了模型檢測速度與精度無法兼顧。為解決這些問題,近年來,逐步在輸電線路絕緣子缺陷識(shí)別、無人機(jī)航拍圖像電力線檢測、變電站安全帽佩戴檢測、變壓器有載分接開關(guān)運(yùn)行工況識(shí)別、電力負(fù)荷非侵入式識(shí)別、變壓器油溫異常檢測等領(lǐng)域開展了高效模型壓縮與加速技術(shù)的應(yīng)用研究。馬進(jìn)等人[63]采用輕量級(jí)模塊GhostNet優(yōu)化YOLO-v4主干網(wǎng)絡(luò),用于輸電線路絕緣子缺陷檢測。輕量化YOLO-v4模型與原始YOLO-v4相比,模型體積壓縮至原來的62.47%,檢測速度提升68.83%,準(zhǔn)確率提升了1.07%,達(dá)到91.89%,且在小目標(biāo)和復(fù)雜背景下表現(xiàn)突出。楊鍇等人[64]提出Fast-Unet輕量化模型用于無人機(jī)航拍圖像電力線檢測。Fast-Unet采用深度可分離殘差卷積替代Unet中的傳統(tǒng)卷積,與Unet相比,輕量化模型體積縮減了91.3%,僅為10.31 MB,單張512×512大小圖片耗時(shí)48 ms,檢測速度提升了140%,精度僅降低1.4%,達(dá)到80.26%,較好地平衡了速度與精度。趙紅成等人[65]基于YOLO-v5s提出了YOLOS輕量級(jí)模型用于安全帽佩戴檢測。YOLO-S模型采用輕量級(jí)模塊MobileNet-v2優(yōu)化YOLO-v5s主干網(wǎng)絡(luò),并對(duì)冗余通道進(jìn)行剪枝。與YOLOv5s相比,改進(jìn)模型的參數(shù)量減少了2/3,體積縮小了3/4,大小僅13.9 MB,運(yùn)算量減少了2/3,平均精度提升了1.9%,達(dá)到92.1%,平均每張圖片的推理時(shí)間僅為17 ms,均優(yōu)于YOLO-v5s。魏敏等人[66]提出RLCNN(強(qiáng)化輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò))模型用于有載分接開關(guān)運(yùn)行工況識(shí)別,RLCNN采用MobileNet-v2替代傳統(tǒng)卷積,模型體積縮減了87.7%,僅為67.5 MB,識(shí)別速度為0.75 s,平均識(shí)別準(zhǔn)確率達(dá)到91.76%,均優(yōu)于傳統(tǒng)方法。肖昭男等人[67]提出GS-CNN(結(jié)合幽靈模塊、擠壓與激勵(lì)模塊的卷積神經(jīng)網(wǎng)絡(luò))輕、量級(jí)模型用于非侵入式電力負(fù)荷識(shí)別。GS-CNN模型采用輕量級(jí)模塊Ghostnet替代S-CNN(結(jié)合擠壓與激勵(lì)模塊的卷積神經(jīng)網(wǎng)絡(luò))中傳統(tǒng)卷積。與S-CNN相比,模型參數(shù)量縮減了65%,僅含13 533個(gè)參數(shù),運(yùn)算量縮減70%,平均精度達(dá)到99.81%。與VGG-16模型相比,訓(xùn)練時(shí)間從850 min縮短至64 min。
目前,模型壓縮與加速技術(shù)在電力行業(yè)中的應(yīng)用主要著眼于權(quán)衡模型體積、速度和精度之間的關(guān)系,在模型能耗和碳足跡方面的研究仍有待進(jìn)一步深入開展。
NAS(神經(jīng)架構(gòu)搜索)是以自動(dòng)化的方式搜索性能最佳的網(wǎng)絡(luò)架構(gòu)和參數(shù),主要包括搜索空間、搜索策略、性能評(píng)估策略等幾個(gè)核心要素。
神經(jīng)網(wǎng)絡(luò)架構(gòu)對(duì)模型性能的影響至關(guān)重要。早期的NAS技術(shù),搜索時(shí)間長,能耗與碳排放高。其中,NAS-RL[68]及改進(jìn)模型NASNet[69],MNasNet[70]的訓(xùn)練時(shí)長分別為22 400 GPU小時(shí)、32 400~43 200 GPU小時(shí)、50 000 GPU小時(shí),算力與時(shí)間成本巨大,能耗與碳排放很高。其主要原因是由于早期NAS技術(shù)采用離散搜索策略、全局搜索空間、從零開始搜索網(wǎng)絡(luò)架構(gòu)、完全訓(xùn)練直至收斂等方法進(jìn)行搜索,導(dǎo)致了搜索顆粒度過細(xì)、搜索空間巨大、未復(fù)用網(wǎng)絡(luò)結(jié)構(gòu)等問題。
后期的NAS技術(shù)主要圍繞早期問題不斷地改進(jìn),提出了連續(xù)搜索策略、模塊化與層次化搜索空間、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)用、參數(shù)共享、早停及不完全訓(xùn)練等改進(jìn)策略,加速搜索進(jìn)程。Pham等人[71]提出了采用候選子模型共享權(quán)重的ENAS(基于參數(shù)共享的高效神經(jīng)結(jié)構(gòu)搜索)方法,使用單張1 080 Ti GPU,搜索耗時(shí)不到16 h。Liu等人[72]提出了基于DARTS(梯度下降的可微架構(gòu)搜索)方法,搜索開銷僅為1.5~4 GPU days,解決了搜索耗時(shí)的問題。FBNet[73]結(jié)合了MNasNet的多目標(biāo)優(yōu)化函數(shù)和DARTS的可微分架構(gòu)搜索方法,在216 GPU小時(shí)內(nèi)完成搜索任務(wù),Cai等人[74]提出可直接在大規(guī)模目標(biāo)任務(wù)和硬件平臺(tái)完成搜索任務(wù)的Proxyless-NAS方法,且無需代理數(shù)據(jù)集,在大約300 GPU小時(shí)內(nèi)找到高效架構(gòu),在CIFAR-10上測試,僅用5.7M參數(shù)的模型實(shí)現(xiàn)了97.92%的精度。2020年,Han等人[75]提出了一種一勞永逸的OFA(架構(gòu)搜索)方法,一次性訓(xùn)練一個(gè)適配各種不同硬件平臺(tái)以及移動(dòng)端邊緣設(shè)備、支持所有體系結(jié)構(gòu)設(shè)置(深度、寬度、內(nèi)核大小和分辨率)的“全包式”超網(wǎng)絡(luò)。在特定硬件平臺(tái)和應(yīng)用場景中部署時(shí),只需從OFA超網(wǎng)絡(luò)中選擇子網(wǎng)絡(luò),無需再進(jìn)行額外訓(xùn)練。與傳統(tǒng)方法相比,它將訓(xùn)練成本(GPU小時(shí)數(shù)、能耗和二氧化碳排放量)降低了幾個(gè)數(shù)量級(jí),在40個(gè)部署場景的情況下,OFA的總計(jì)算資源消耗是ProxylessNAS的1/16,MnasNet的1/1 300。
實(shí)現(xiàn)綠色人工智能技術(shù)不僅需要算法性能上的不斷提升,也需要低碳高效的數(shù)字基礎(chǔ)設(shè)施的不斷發(fā)展。數(shù)字基礎(chǔ)設(shè)施減碳降耗重點(diǎn)集中在IT設(shè)備、供電系統(tǒng)、制冷系統(tǒng)三個(gè)方面。
集群層面,數(shù)據(jù)中心在虛擬化技術(shù)支持下,通過虛擬機(jī)遷移調(diào)度策略[76]、負(fù)載重分配策略[77]及動(dòng)態(tài)調(diào)整集群規(guī)模策略[78],關(guān)閉或休眠空載服務(wù)器[79],實(shí)現(xiàn)虛擬機(jī)負(fù)載重分配、服務(wù)器整合和動(dòng)態(tài)電源管理,提高數(shù)據(jù)中心資源利用率,降低數(shù)據(jù)中心能耗。
通常,深度學(xué)習(xí)作業(yè)與云計(jì)算中的大數(shù)據(jù)作業(yè)有一定區(qū)別。為提高GPU集群資源利用率,研究者們提出新的集群節(jié)能調(diào)度方法[80]。此外,由于DVFS(動(dòng)態(tài)電壓頻率調(diào)制)技術(shù)有利于大幅降低GPU集群能耗[81],研究人員基于DVFS技術(shù)提出了不同的作業(yè)調(diào)度算法[82],實(shí)現(xiàn)集群高效調(diào)度、提高GPU集群能效、降低數(shù)據(jù)中心能耗和碳排放。
供配電系統(tǒng)減碳降耗的技術(shù)手段主要包括風(fēng)電和光伏等可再生能源接入、“源-網(wǎng)-荷-儲(chǔ)”協(xié)同、零碳或低碳調(diào)度、冷熱電三聯(lián)供、UPS和儲(chǔ)能變流器PCS合一、儲(chǔ)能、高壓直流供電技術(shù)等。“東數(shù)西算”工程就地消納光伏、風(fēng)電等綠電,計(jì)劃2025年綠電使用率提高至約80%。谷歌在2020年9月提出24/7零碳運(yùn)營管理計(jì)劃,并采用儲(chǔ)能電池和低碳燃料(氫燃料)優(yōu)化數(shù)據(jù)中心備用電源[10]。微軟針對(duì)Microsoft Azure云平臺(tái)上11種機(jī)器學(xué)習(xí)任務(wù),利用數(shù)據(jù)中心一年及一天中不同時(shí)段PUE的差異性,實(shí)現(xiàn)跨時(shí)跨域的低碳調(diào)度[83],并在2020年成功完成氫燃料電池的測試,消除對(duì)柴油發(fā)電機(jī)備用電源的依賴。文獻(xiàn)[84]在全太陽能數(shù)據(jù)中心整體技術(shù)方案中以光伏發(fā)電為主供電源,并配合高壓直流配電系統(tǒng)和分布式內(nèi)嵌UPS系統(tǒng),運(yùn)行結(jié)果表明能耗減少至常規(guī)數(shù)據(jù)中心的1/4,降耗效果十分顯著。
針對(duì)制冷系統(tǒng)的能效優(yōu)化,一方面要根據(jù)數(shù)據(jù)中心的現(xiàn)實(shí)情況,組合多種技術(shù)措施,發(fā)揮各自優(yōu)勢,降低成本與能耗。另一方面,要充分發(fā)揮自然條件天然優(yōu)勢,促進(jìn)制冷系統(tǒng)降耗。“東數(shù)西算”工程[84]綜合選擇內(nèi)蒙古、云南、貴州等自然冷源相對(duì)充裕的地區(qū),采用自然冷源技術(shù)、間接蒸發(fā)冷卻、余熱綜合利用、液冷技術(shù)(解決高功率密度設(shè)備散熱)等多種技術(shù)減碳降耗。2016年,Google DeepMind基于數(shù)千個(gè)傳感器數(shù)據(jù),使用機(jī)器學(xué)習(xí)自動(dòng)優(yōu)化數(shù)據(jù)中心的制冷系統(tǒng),實(shí)現(xiàn)平均約40%的能耗降低。2022年英偉達(dá)推出A100 80GB PCIe液冷版GPU卡,其液冷數(shù)據(jù)中心的PUE值降至約1.15。而戴爾公司Fresh Air硬件空冷方案,數(shù)據(jù)中心PUE值同樣有機(jī)會(huì)降至1.05水平。
1)在新型電力系統(tǒng)建設(shè)中,綠色高效的人工智能技術(shù)還有很大的發(fā)展空間。雖然機(jī)器學(xué)習(xí)技術(shù)的快速進(jìn)展推動(dòng)了電力人工智能云端訓(xùn)練和推理的應(yīng)用,但邊緣設(shè)備內(nèi)存和計(jì)算資源的嚴(yán)苛限制對(duì)模型部署帶來巨大挑戰(zhàn)。算法與硬件協(xié)同設(shè)計(jì),聯(lián)合構(gòu)建最優(yōu)架構(gòu)和硬件加速器,將是一個(gè)很值得研究的方向。
2)“雙碳”目標(biāo)下,深度學(xué)習(xí)的神經(jīng)形態(tài)計(jì)算將帶來電力人工智能的能源效率的巨大提升。神經(jīng)形態(tài)計(jì)算是模擬大腦利用神經(jīng)元、突觸并以“尖峰”的數(shù)據(jù)形式進(jìn)行信息處理的高效計(jì)算方式,具備極低功耗、極高并行度、自主學(xué)習(xí)決策等特征[85]。未來,深度學(xué)習(xí)的神經(jīng)形態(tài)計(jì)算研究將更大限度地提高電力人工智能的能源效率。
3)近年來,人工智能領(lǐng)域的國際會(huì)議已倡議在論文中公布模型計(jì)算的能耗與碳排放數(shù)據(jù)。然而,目前依然缺乏監(jiān)測數(shù)據(jù)中心計(jì)算能耗與碳足跡的工具,缺乏統(tǒng)一的測試標(biāo)準(zhǔn),從業(yè)者無法準(zhǔn)確了解人工智能模型訓(xùn)練、推理或超參數(shù)調(diào)整時(shí)的能耗與碳排放情況。建立電力領(lǐng)域相關(guān)標(biāo)準(zhǔn)和基準(zhǔn)測試工具,部署具有統(tǒng)一標(biāo)準(zhǔn)的監(jiān)測工具,將是未來重要的工作方向。
人工智能技術(shù)作為支撐新型電力系統(tǒng)建設(shè)的關(guān)鍵技術(shù),其自身的高能耗與巨大的碳排放量給電網(wǎng)綠色低碳轉(zhuǎn)型帶來挑戰(zhàn)。本文主要結(jié)合人工智能模型及硬件基礎(chǔ)設(shè)施的能效與碳排放等方面問題探討了綠色人工智能技術(shù),重點(diǎn)討論了綠色人工智能技術(shù)節(jié)能減碳的主要方法及其研究現(xiàn)狀,并展望了其發(fā)展方向,希望在“雙碳”目標(biāo)下電網(wǎng)數(shù)字化轉(zhuǎn)型期間,對(duì)相關(guān)領(lǐng)域的研究人員和工程技術(shù)人員提供有益的幫助。綠色人工智能技術(shù)將是未來實(shí)現(xiàn)“雙碳”目標(biāo)的一個(gè)重要研究方向,依然有很長的路要走。