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