李浩陽,賀小偉,*,王賓,吳昊,尤琪
(1.西北大學(xué)網(wǎng)絡(luò)和數(shù)據(jù)中心,陜西 西安 710127;2.西北大學(xué)信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710127)
云計(jì)算[1]是一種通過互聯(lián)網(wǎng)提供按需服務(wù)的策略,將各種資源、軟件和平臺(tái)作為服務(wù)提供給客戶。然而,云計(jì)算中的工作負(fù)載可能因在短時(shí)間內(nèi)從用戶端接收大量新的工作而頻繁變化,這種變化會(huì)導(dǎo)致云環(huán)境中的資源利用不平衡,云平臺(tái)無法高效運(yùn)行。為了向用戶提供高性能的云服務(wù),對(duì)云計(jì)算資源進(jìn)行高效的管理顯得十分重要[2]。目前,云平臺(tái)的資源管理方案可以分為自動(dòng)管理和主動(dòng)管理兩種[3]。在自動(dòng)管理模式中,當(dāng)工作負(fù)載增加或減少到特定的閾值時(shí),平臺(tái)通過擴(kuò)縮容技術(shù)來分配資源[4]。然而,對(duì)云平臺(tái)中的資源進(jìn)行擴(kuò)縮容操作需要一段響應(yīng)時(shí)間,該模式無法對(duì)工作負(fù)載過程中資源需求量的突變及時(shí)做出反應(yīng),存在一定的滯后性,不能給用戶良好的體驗(yàn)感,并且可能導(dǎo)致違反服務(wù)級(jí)別協(xié)議(SLA)[5]。主動(dòng)管理模式是管理人員通過對(duì)以往資源使用情況的分析,預(yù)估并提前為服務(wù)分配資源,有效地解決了自動(dòng)管理存在的響應(yīng)延遲問題,但該模式是根據(jù)歷史資源的使用情況人為進(jìn)行資源再分配,可能進(jìn)一步造成資源浪費(fèi)或分配不足等問題。
為解決上述問題并考慮負(fù)載預(yù)測對(duì)云資源高效管理的重要性,使用各種預(yù)測算法對(duì)云計(jì)算資源進(jìn)行預(yù)測受到了學(xué)者們的極大關(guān)注。目前,國內(nèi)外的預(yù)測方法主要分為基于統(tǒng)計(jì)學(xué)和基于機(jī)器學(xué)習(xí)的方法。基于統(tǒng)計(jì)學(xué)的方法主要包括多元線性回歸[6]、指數(shù)平滑[7]和差分整合移動(dòng)平均自回歸模型(ARIMA)[8-9]等。但是,上述方法只能捕捉線性關(guān)系,無法獲取時(shí)間序列負(fù)載數(shù)據(jù)的非線性特征,在負(fù)載預(yù)測中的效果不佳。為了對(duì)時(shí)間序列進(jìn)行更準(zhǔn)確的預(yù)測,基于機(jī)器學(xué)習(xí)的方法得到了廣泛應(yīng)用。遞歸神經(jīng)網(wǎng)絡(luò)(RNN)[10]具有捕獲非平穩(wěn)負(fù)載數(shù)據(jù)的能力,但存在梯度爆炸和梯度消失等問題。長短期記憶(LSTM)網(wǎng)絡(luò)[11-12]和門控循環(huán)單元(GRU)[13-14]增加了基于RNN 篩選歷史信息、選擇性保存有用數(shù)據(jù)和丟棄無用數(shù)據(jù)的過程[15],解決了RNN 梯度消失和梯度爆炸的問題,使RNN 能夠有效地處理長期時(shí)間序列數(shù)據(jù)[16]。然而,基于RNN 模型本身序列依賴的結(jié)構(gòu),導(dǎo)致其很難具備高效的并行計(jì)算,限制了其預(yù)測長度的能力。卷積神經(jīng)網(wǎng)絡(luò)(CNN)[17]因出色的負(fù)載數(shù)據(jù)趨勢(shì)捕捉和并行能力而被頻繁用于負(fù)載預(yù)測領(lǐng)域。文獻(xiàn)[18]提出基于CNN 的時(shí)間卷積網(wǎng)絡(luò)(TCN)預(yù)測模型,并使用多個(gè)序列建模任務(wù)證明該模型比傳統(tǒng)的CNN 和RNN 模型有更好的效果。但是,CNN 在捕獲長距離特征方面的能力較弱,已有學(xué)者通過堆疊網(wǎng)絡(luò)深度解決了CNN 捕獲長距離特征的問題。盡管如此,CNN 在這方面仍然弱于RNN 和Transformer[19]。
Transformer[20]在時(shí)序預(yù)測方面不需要考慮時(shí)間和距離問題,有助于模型對(duì)輸入的每個(gè)部分均等可用,因此在處理遠(yuǎn)程信息和捕獲遠(yuǎn)程依賴方面更有潛力。文獻(xiàn)[21]提出一種基于Transformer 的多步預(yù)測模型Informer,該模型從3 個(gè)方面對(duì)Transformer在時(shí)序負(fù)載預(yù)測方面進(jìn)行針對(duì)性優(yōu)化,并通過多個(gè)真實(shí)數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明在多步預(yù)測中該方法的預(yù)測性能優(yōu)于其他主流預(yù)測方法?;贗nformer的預(yù)測模型CNN-Informer[22]和Stacked-Informer[23]通過提取時(shí)序數(shù)據(jù)更多的底層特征,提升了模型預(yù)測精度。
雖然基于Informer 的改進(jìn)模型通過堆疊模型本身或與其他模型進(jìn)行組合提高了預(yù)測性能,但是Informer 模型在時(shí)序預(yù)測方面仍存在以下問題:1)正則卷積只能回溯線性大小的歷史信息,造成模型感受野受限導(dǎo)致計(jì)算冗余,并且不能保證未來信息對(duì)于時(shí)序預(yù)測結(jié)果的影響;2)隨著網(wǎng)絡(luò)深度的增加可能使得網(wǎng)絡(luò)退化及訓(xùn)練過程中的梯度消失或爆炸,造成模型訓(xùn)練收斂速度慢、預(yù)測性能下降。因此,本文提出基于改進(jìn)Informer 的多步負(fù)載預(yù)測模型(Informer-DCR),通過將負(fù)載預(yù)測技術(shù)與主動(dòng)管理模式相結(jié)合提高云環(huán)境中的資源利用率。本文主要貢獻(xiàn)如下:
1)建立Informer-DCR 模型用于云計(jì)算資源負(fù)載預(yù)測。
2)改進(jìn)編碼器中蒸餾操作,將連接各注意力塊之間的正則卷積替換為擴(kuò)張因果卷積,使其提取特征中更多隱藏信息和時(shí)間關(guān)系,增加模型感受野及提升模型預(yù)測性能,并保證時(shí)序預(yù)測的因果性,防止未來信息的泄露。
3)優(yōu)化模型主編碼器的網(wǎng)絡(luò)結(jié)構(gòu),通過增加殘差連接使網(wǎng)絡(luò)信息以跨層的形式直接進(jìn)行深層傳遞,增強(qiáng)了特征多樣性,使模型訓(xùn)練過程更加穩(wěn)定,解決了深層網(wǎng)絡(luò)的退化問題。
目前,傳統(tǒng)的Transformer 主要存在自注意力機(jī)制復(fù)雜度高、堆疊層的內(nèi)存瓶頸、預(yù)測輸出的速度慢等不足。Informer 對(duì)Transformer 在時(shí)序預(yù)測領(lǐng)域所存在的問題做了針對(duì)性的改進(jìn),具體為:提出一種稀疏概率自注意力機(jī)制代替?zhèn)鹘y(tǒng)自注意力機(jī)制,通過篩選出最重要的查詢向量,實(shí)現(xiàn)了時(shí)間復(fù)雜度和內(nèi)存使用量為O(LlogaL),大大減少了網(wǎng)絡(luò)規(guī)模;提出自注意力蒸餾操作,通過正則卷積和池化操作減少維度和網(wǎng)絡(luò)參數(shù)量;提出生成式解碼器,只需一步便可生成全部預(yù)測序列,避免逐步預(yù)測造成的誤差累計(jì),縮短了預(yù)測時(shí)間。Informer整體架構(gòu)如圖1 所示。
圖1 Informer 架構(gòu)Fig.1 Architecture of Informer
Informer 由編解碼器體系結(jié)構(gòu)組成,編碼器和解碼器均接收歷史序列輸入,但內(nèi)容存在差異,具體如圖2 所示。
圖2 編解碼器輸入Fig.2 Input of encoder and decoder
編碼器輸入一段歷史數(shù)據(jù),解碼器輸入由編碼器輸入序列從后開始截取的一段與預(yù)測長度等長的0 填充序列組成。
Informer 中編碼器是由多頭稀疏概率自注意力機(jī)制和蒸餾操作堆疊而成的。傳統(tǒng)的自注意力機(jī)制需要O(LQLK)的內(nèi)存使用量以及二次點(diǎn)積計(jì)算,這是其預(yù)測能力較低的主要因素。稀疏概率自注意力機(jī)制是通過選取少數(shù)得分較高的點(diǎn)積對(duì),同時(shí)將其他得分較低的點(diǎn)積對(duì)忽略,從而降低時(shí)間復(fù)雜度和內(nèi)存使用量,具體如式(1)所示:
其中:Q、K、V分別是查詢向量(query)、鍵向量(key)和值向量(value)組成的矩陣,是Q經(jīng)過概率稀疏化后得到的;d是防止梯度消失而增加的比例因子;Softmax()是激活函數(shù)。
Informer利用蒸餾操作對(duì)具有支配特征的優(yōu)勢(shì)特征進(jìn)行特權(quán)化,并在下一層構(gòu)建一個(gè)聚焦的自注意力特征圖,提取過程從第j層向第j+1層,如式(2)所示:
其中:[]AB代表注意力塊;Conv1d()使用ELU()作為激活函數(shù)在時(shí)間維度上執(zhí)行正則卷積操作,并在每個(gè)卷積層后增加一個(gè)最大池化層使下采樣到其一半,從而將整個(gè)內(nèi)存使用量減少到O((2-E)LlogaL),其中E是一個(gè)很小的數(shù)字。為了增強(qiáng)蒸餾操作的魯棒性,Informer通過減半輸入構(gòu)建一個(gè)副本,并減少注意力塊的數(shù)量使輸出維度對(duì)齊。
Informer 所提出的生成式解碼器使用標(biāo)準(zhǔn)解碼器結(jié)構(gòu),由兩個(gè)相同的多頭注意力層組成,通過一個(gè)向前過程來產(chǎn)生預(yù)測輸出。模型向解碼器提供如式(3)的輸入向量:
其中:是起始令牌;是目標(biāo)序列的占位符。與編碼器中多頭稀疏概率自注意力機(jī)制不同,解碼器中的自注意力機(jī)制為了防止每個(gè)位置關(guān)注未來的信息,避免自回歸,將掩碼多頭稀疏概率自注意力機(jī)制的點(diǎn)積設(shè)置為-∞。
本文主要針對(duì)云計(jì)算資源負(fù)載情況進(jìn)行預(yù)測,考慮到云環(huán)境中負(fù)載資源存在一定的時(shí)序依賴關(guān)系,每一時(shí)刻的負(fù)載值均與該時(shí)刻之前的負(fù)載情況存在密切聯(lián)系,因此對(duì)于負(fù)載預(yù)測模型而言,捕獲長距離特征可以提供更多趨勢(shì)信息,提升預(yù)測精度。Informer 在捕獲長序列輸入信息方面擁有較強(qiáng)的能力,預(yù)測性能也優(yōu)于現(xiàn)有主流預(yù)測模型,然而該模型應(yīng)用于時(shí)序預(yù)測時(shí)仍存在不足,主要為:在模型中蒸餾操作將自注意力塊與正則卷積堆疊在一起,使感受野受限導(dǎo)致重復(fù)無意義的計(jì)算;沒有考慮時(shí)間維度,造成未來信息對(duì)預(yù)測結(jié)果產(chǎn)生的影響;堆疊的深度增加引起了網(wǎng)絡(luò)退化。因此,本文提出基于改進(jìn)Informer 的多步負(fù)載預(yù)測模型,并針對(duì)其內(nèi)部結(jié)構(gòu)進(jìn)行優(yōu)化,將原編碼器中注意力塊之間的正則卷積替換為擴(kuò)張因果卷積,并在主編碼器堆疊中增加殘差連接,編碼器架構(gòu)如圖3 所示。
圖3 Informer-DCR 編碼器架構(gòu)Fig.3 Architecture of Informer-DCR encoder
Informer-DCR 編碼器是由1 個(gè)接收整個(gè)輸入序列的主編碼器和1 個(gè)切片減半輸入的副編碼器組成。假設(shè)主編碼器中原始輸入時(shí)序數(shù)據(jù)為L,將輸入L經(jīng)過1 個(gè)注意力塊的輸出以及經(jīng)過3 個(gè)注意力塊和2 個(gè)擴(kuò)張因果卷積層的輸出進(jìn)行拼接得到1 個(gè)特征圖,并將L進(jìn)行減半操作得到L/2,副編碼器的輸入L/2 經(jīng)過2 個(gè)注意力塊和1 個(gè)擴(kuò)張因果卷積層得到1 個(gè)特征圖,最后將2 個(gè)特征圖合并成1 個(gè)完整的特征圖輸入解碼器。這種堆疊結(jié)構(gòu)的目的是有效地提取輸入長序列的時(shí)間特征,并提高預(yù)測序列輸出的魯棒性。
擴(kuò)張因果卷積是由因果卷積和擴(kuò)張卷積兩部分組成的。因果卷積與傳統(tǒng)卷積不同,因果卷積受到時(shí)間約束限制,將時(shí)間t的輸出僅與前一層的時(shí)間t和更早的元素進(jìn)行卷積來保證時(shí)序預(yù)測中的因果性,讓網(wǎng)絡(luò)的輸出信息僅受過去輸入信息的影響。為了確保經(jīng)過卷積層的輸出和輸入具有相同的長度,僅在輸入序列前側(cè)進(jìn)行零填充,防止未來信息的泄露。
雖然因果卷積能夠很好地處理時(shí)序數(shù)據(jù),但是當(dāng)時(shí)序數(shù)據(jù)過長而網(wǎng)絡(luò)需要學(xué)習(xí)更久遠(yuǎn)的歷史信息時(shí),必須增加卷積層數(shù)。這種方式只能在線性尺度上擴(kuò)大對(duì)歷史信息的捕捉,而且隨著層數(shù)的增加,網(wǎng)絡(luò)中參數(shù)成倍增加,使得網(wǎng)絡(luò)訓(xùn)練難度變大。為了保持層數(shù)相對(duì)較小的同時(shí)增加感受野區(qū)域大小,擴(kuò)張卷積算法被提出并與因果卷積配合使用。
擴(kuò)張卷積也稱空洞卷積,是將原始濾波器進(jìn)行零膨脹得到一個(gè)具有更大濾波器的卷積,通過選擇不同尺寸的濾波器或增加膨脹因子來靈活地調(diào)整模型的感受野,使頂層的輸出能夠接收更寬范圍的輸入信息,提升因果卷積對(duì)較長輸入序列的建模能力。擴(kuò)張因果卷積的具體實(shí)現(xiàn)過程如圖4 所示(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
圖4 擴(kuò)張因果卷積實(shí)現(xiàn)過程Fig.4 Implementation process of dilated causal convolution
因果卷積核僅對(duì)當(dāng)前時(shí)間步t之前的輸入信息做出響應(yīng),減少了對(duì)未來輸入信息的冗余計(jì)算。模型選取卷積核尺寸為3,即某一時(shí)刻輸出均是由前一層對(duì)應(yīng)的位置和前兩個(gè)位置的輸入共同得到的,與未來時(shí)刻無關(guān)。擴(kuò)張卷積通過增加擴(kuò)張系數(shù)d,有效地?cái)U(kuò)展上層網(wǎng)絡(luò)的感受野,形成更長的卷積記憶,隨著網(wǎng)絡(luò)層數(shù)加深,有效窗口的大小呈指數(shù)增長,模型通過較少的層數(shù)獲得更大的感受野,降低網(wǎng)絡(luò)復(fù)雜度的同時(shí)提高模型預(yù)測精度。對(duì)于時(shí)間序列X={x0,x1,…,xT-1,xT},元素xt進(jìn)行擴(kuò)張因果卷積:
其 中:F={f1,f2,…,fK-1,fK}表示大小為K的卷積核;xt表示t時(shí)刻的時(shí)序數(shù)據(jù);fk表示卷積運(yùn)算中的濾波器;d表示擴(kuò)張系數(shù)。擴(kuò)張因果卷積實(shí)現(xiàn)過程中最下層擴(kuò)張系數(shù)d=1,表示輸入時(shí)對(duì)每個(gè)時(shí)間點(diǎn)均進(jìn)行采樣,下一層d=2 表示每兩個(gè)時(shí)間點(diǎn)作為一個(gè)輸入。
然而,擴(kuò)張因果卷積無法解決編碼器中注意力塊和卷積池化層堆疊導(dǎo)致的網(wǎng)絡(luò)退化等問題,隨著網(wǎng)絡(luò)深度增加,網(wǎng)絡(luò)獲得的信息會(huì)逐層遞減,影響模型訓(xùn)練的穩(wěn)定性,并出現(xiàn)梯度消失或爆炸問題。針對(duì)該問題的處理方式是在主編碼器中增加殘差連接,核心思想為直接映射,即下一層不僅包括該層的信息,還包括該層經(jīng)非線性變換后的新信息。這樣可以保證即使堆疊網(wǎng)絡(luò)深度,輸出層仍可以從輸入層接收更多的信息,模型訓(xùn)練依舊穩(wěn)定,達(dá)到增加特征多樣性、加快模型收斂的目的。殘差連接實(shí)現(xiàn)過程如圖5 所示,其中,殘差塊包括3 個(gè)注意力塊、2 個(gè)擴(kuò)張因果卷積+池化層。具體實(shí)現(xiàn)過程為:將第1 個(gè)注意力塊的輸出與第3 個(gè)注意力塊的輸出融合在一起,并使用1×1 卷積來保證2 個(gè)注意力塊輸出的特征圖在相加時(shí)形狀相同。
圖5 殘差連接實(shí)現(xiàn)過程Fig.5 Implementation process of residual connection
實(shí)驗(yàn)環(huán)境設(shè)置如表1 所示。
表1 實(shí)驗(yàn)環(huán)境設(shè)置 Table 1 Experimental environment setting
3.2.1 實(shí)驗(yàn)數(shù)據(jù)集
為了驗(yàn)證Informer-DCR 在云計(jì)算資源負(fù)載預(yù)測方面的性能優(yōu)于其他預(yù)測模型,使用Cluster Tracev2018 公開數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)對(duì)比,該數(shù)據(jù)集記錄某個(gè)生產(chǎn)集群中4 000 臺(tái)服務(wù)器8 天的資源詳細(xì)情況。隨機(jī)選取其中10 臺(tái)機(jī)器8 天的資源使用情況,時(shí)間粒度選取為每臺(tái)機(jī)器每5 min 使用的平均資源量,共20 636 條數(shù)據(jù)。數(shù)據(jù)分為訓(xùn)練集、測試集、驗(yàn)證集,三者占比分別為7∶2∶1。
3.2.2 數(shù)據(jù)處理
采用均值填充法進(jìn)行缺失值處理。對(duì)于特征選擇,所使用的數(shù)據(jù)集中記錄每臺(tái)機(jī)器7 種特征的使用情況,分別為CPU 利用率(cpu_util_percent)、內(nèi)存利用率(mem_util_percent)、內(nèi)存帶寬使用率(mem_gps)、每千條指令緩存未命中數(shù)(mpki)、傳入網(wǎng)絡(luò)包的數(shù)量(net_in)、傳出網(wǎng)絡(luò)包的數(shù)量(net_out)、磁盤空間利用率(disk_usage_percent)。將這些特征輸入模型前,通過特征選擇算法來選擇重要特征并重新組合,生成新的特征值。這樣不僅可以減少特征數(shù)量,防止維度災(zāi)難,縮短訓(xùn)練時(shí)間,還可以增強(qiáng)模型的泛化能力,減少過擬合,增強(qiáng)模型對(duì)特征和特征值的理解。隨機(jī)森林算法具有準(zhǔn)確度高、訓(xùn)練速度快、魯棒性好、不容易過擬合等優(yōu)點(diǎn)[24-25],因此使用隨機(jī)森林算法進(jìn)行特征選擇,如圖6 所示。由圖6 可以看出,CPU 利用率和內(nèi)存利用率特征得分明顯高于其他特征,分別為0.448 0和0.262 4,其他特征得分均小于0.1,因此選取CPU 利用率和內(nèi)存利用率作為輸入特征進(jìn)行預(yù)測。
圖6 各項(xiàng)資源的特征得分Fig.6 Characteristic scores for various resources
在對(duì)云計(jì)算資源進(jìn)行預(yù)測時(shí),為提高預(yù)測精度,利用Informer-DCR 對(duì)云資源進(jìn)行預(yù)測,同時(shí)采用3 個(gè)指標(biāo)對(duì)預(yù)測模型的性能進(jìn)行評(píng)價(jià),分別是平均絕對(duì)誤差(MAE)、均方誤差(MSE)、均方根誤差(RMSE),計(jì)算公式如式(5)、式(6)、式(7)所示:
其中:n為預(yù)測長度為實(shí)際值;yi為預(yù)測值。3 個(gè)評(píng)價(jià)指標(biāo)的數(shù)值越低,代表模型預(yù)測性能越好。
本節(jié)從預(yù)測性能、消融實(shí)驗(yàn)、模型對(duì)輸入步長的敏感性、收斂性4 個(gè)方面進(jìn)行對(duì)比實(shí)驗(yàn)。Informer-DCR 的超參數(shù)設(shè)置如表2 所示。
表2 超參數(shù)設(shè)置 Table 2 Hyperparameter setting
3.4.1 預(yù)測性能分析
表3 給出了Informer-DCR 與ARIMA、LSTM、GRU、TCN、Informer、CNN-Informer 等預(yù)測模型在不同預(yù)測步長下的預(yù)測性能對(duì)比,其中最優(yōu)指標(biāo)值用加粗字體表示,下同。由表3 可以看出,當(dāng)預(yù)測步長分別為24、48、96、192、384 時(shí),Informer-DCR 的各項(xiàng)預(yù)測性能指標(biāo)均明顯優(yōu)于其他模型,說明該模型在多步預(yù)測方面具有更高的精度。具體表現(xiàn)為:1)與傳統(tǒng)Informer 相比,Informer-DC 的預(yù)測精度更高,當(dāng)預(yù)測步長分別為24、48、96、192、384 時(shí),MAE分別降低了13.1%、12.1%、13.4%、13.8%、14.3%,這表明Informer-DCR 中加入擴(kuò)張因果卷積和殘差連接增加了感受野和特征多樣性,使模型包含更多的輸入信息和特征,從而在多步預(yù)測過程中取得更好的效果;2)Informer-DCR 與對(duì)比模型中效果最好的CNNInformer 相比,當(dāng)預(yù)測步長分 別為24、48、96、192、384 時(shí),RMSE 降低了8.5%、6.1%、8.2%、8.4%、10.8%,這表明盡管CNN-Informer 采用二維卷積神經(jīng)網(wǎng)絡(luò)提取到輸入數(shù)據(jù)更多的特征信息,提高了預(yù)測精度,但效果并不顯著,Informer-DCR 通過優(yōu)化Informer內(nèi)部結(jié)構(gòu),解決了Informer 在時(shí)序預(yù)測方面存在的不足,使模型預(yù)測精度得到較大幅度的提升;3)與TCN、GRU、LSTM、ARIMA 相比,當(dāng)預(yù)測步長分別為24、48、96、192、384 時(shí),Informer-DCR 的MAE 平均降低了21.9%、21.1%、25.4%、28.5%、34.6%;4)Informer-DCR 模型在不同預(yù)測步長下的MAE 比Informer、TCN 等主流預(yù)測模型降低了8.4%~40.0%。
表3 預(yù)測性能比較 Table 3 Comparison of prediction performance
3.4.2 消融實(shí)驗(yàn)分析
為研究Informer-DCR 模型中各個(gè)部分對(duì)預(yù)測性能的影響,以Informer-DCR 為基礎(chǔ)進(jìn)行消融實(shí)驗(yàn)。在實(shí)驗(yàn)過程中,移除擴(kuò)張因果卷積模塊的模型命名為Informer-R,移除殘差連接模塊的模型命名為Informer-DC。Informer-DCR 與Informer-DC、Informer-R和Informer 在不同條件下進(jìn)行性能對(duì)比分析,實(shí)驗(yàn)結(jié)果如表4 所示。由表4 可以看出,Informer-DC、Informer-R 相比于Informer 預(yù)測性能均有顯著提升。這表明:1)在Informer 中加入擴(kuò)張因果卷積可以通過特定排列確保過濾器在有效歷史數(shù)據(jù)中命中每個(gè)輸入,并允許使用深度網(wǎng)絡(luò)獲得較長的有效歷史,增加模型的感受野,提升預(yù)測性能;2)在Informer 中加入殘差連接可以把較下層的特征圖跳層連接到上層,增加特征多樣性,使模型具有更好的預(yù)測結(jié)果。由此可見,將上述網(wǎng)絡(luò)結(jié)構(gòu)融合到模型中,并與其他模型在不同輸入步長和預(yù)測步長下進(jìn)行對(duì)比,Informer-DCR 均取得了較好的效果。
表4 消融實(shí)驗(yàn)結(jié)果 Table 4 Ablation experiment results
3.4.3 模型對(duì)輸入步長的敏感性分析
為驗(yàn)證模型對(duì)編碼器輸入序列長度的敏感性,對(duì)比在預(yù)測步長均為24 及編碼器輸入步長為48、96、192、384、768 時(shí)Informer-DCR、Informer 和CNNInformer 的預(yù)測性能,模型對(duì)輸入步長的敏感性實(shí)驗(yàn)結(jié)果如圖7 所示(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。由圖7 可以看出:增加輸入步長可以使編碼器包含更多的時(shí)序依賴信息,3 種模型的預(yù)測性能均有所提升;當(dāng)預(yù)測步長均為24 及編碼器輸入步長為48、96、192、384、768 時(shí)Informer、CNN-Informer和Informer-DCR 的MAE 下降幅度有所區(qū)別,隨著輸入步長的增加,Informer-DCR 的MAE 仍有明顯下降趨 勢(shì),而Informer 和CNN-Informer 的MAE 逐漸平緩。這表明CNN 在捕獲長距離特征方面的能力較弱,導(dǎo)致CNN-Informer 的預(yù)測性能提升效果不顯著,而Informer-DCR 相比于其他模型,其網(wǎng)絡(luò)結(jié)構(gòu)中擴(kuò)張因果卷積具有更大的感受野,保留了較多原始信息,使得模型在預(yù)測方面的優(yōu)勢(shì)更加明顯。
圖7 模型對(duì)輸入步長的敏感性實(shí)驗(yàn)結(jié)果Fig.7 Experimental results of model sensitivity to input step size
3.4.4 收斂性分析
本節(jié)實(shí)驗(yàn)內(nèi)容是對(duì)比不同條件下Informer-DCR和Informer 訓(xùn)練過程的收斂性,主要考慮Epoch 的訓(xùn)練損失。圖8 給出編碼器輸入步長為96、192、384 時(shí)Informer-DCR 和Informer 的收斂速度對(duì)比結(jié)果。由圖8 可以看出:最開始由于網(wǎng)絡(luò)需要訓(xùn)練,兩個(gè)模型損失值較高且不穩(wěn)定,隨著訓(xùn)練次數(shù)的增加損失值逐漸趨于穩(wěn)定;在不同輸入步長下Informer-DCR 的收斂速度均快于Informer,并且隨著輸入步長的增加,兩個(gè)模型的收斂性差異越來越大,Informer-DCR表現(xiàn)更好。這表明Informer 中蒸餾機(jī)制增加了網(wǎng)絡(luò)深度導(dǎo)致難以訓(xùn)練,需要花費(fèi)很長時(shí)間才能收斂,而殘差連接使得Informer-DCR 在訓(xùn)練過程中信息傳播更加順暢,一定程度上解決了網(wǎng)絡(luò)退化問題,使模型收斂更快速穩(wěn)定。
圖8 收斂速度對(duì)比Fig.8 Comparison of convergence speed
針對(duì)云計(jì)算資源負(fù)載預(yù)測問題,本文構(gòu)建Informer-DCR 多步負(fù)載預(yù)測模型。通過使用擴(kuò)張因果卷積增加模型感受野提升預(yù)測性能,同時(shí)保證時(shí)序預(yù)測的因果性。利用殘差連接增強(qiáng)模型特征多樣性和收斂速度,提升預(yù)測性能和訓(xùn)練過程的穩(wěn)定性。在Cluster Trace-v2018 公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,Informer-DCR 模型的性能表現(xiàn)優(yōu)于Informer、CNN-Informer、LSTM 等主流模型,證明了其具有良好的預(yù)測性能,可以為云平臺(tái)資源管理提供準(zhǔn)確高效的技術(shù)支持。后續(xù)將進(jìn)一步優(yōu)化Informer-DCR 模型,使其能更好地提取時(shí)序數(shù)據(jù)的底層特征,提升預(yù)測精度,并將進(jìn)一步降低模型中自注意力機(jī)制的計(jì)算復(fù)雜度和內(nèi)存使用量,提高運(yùn)行速度。