?

基于改進Informer 的云計算資源負載預測

2024-02-29 04:39李浩陽賀小偉王賓吳昊尤琪
計算機工程 2024年2期
關鍵詞:時序編碼器步長

李浩陽,賀小偉,*,王賓,吳昊,尤琪

(1.西北大學網絡和數據中心,陜西 西安 710127;2.西北大學信息科學與技術學院,陜西 西安 710127)

0 引言

云計算[1]是一種通過互聯網提供按需服務的策略,將各種資源、軟件和平臺作為服務提供給客戶。然而,云計算中的工作負載可能因在短時間內從用戶端接收大量新的工作而頻繁變化,這種變化會導致云環境中的資源利用不平衡,云平臺無法高效運行。為了向用戶提供高性能的云服務,對云計算資源進行高效的管理顯得十分重要[2]。目前,云平臺的資源管理方案可以分為自動管理和主動管理兩種[3]。在自動管理模式中,當工作負載增加或減少到特定的閾值時,平臺通過擴縮容技術來分配資源[4]。然而,對云平臺中的資源進行擴縮容操作需要一段響應時間,該模式無法對工作負載過程中資源需求量的突變及時做出反應,存在一定的滯后性,不能給用戶良好的體驗感,并且可能導致違反服務級別協議(SLA)[5]。主動管理模式是管理人員通過對以往資源使用情況的分析,預估并提前為服務分配資源,有效地解決了自動管理存在的響應延遲問題,但該模式是根據歷史資源的使用情況人為進行資源再分配,可能進一步造成資源浪費或分配不足等問題。

為解決上述問題并考慮負載預測對云資源高效管理的重要性,使用各種預測算法對云計算資源進行預測受到了學者們的極大關注。目前,國內外的預測方法主要分為基于統計學和基于機器學習的方法?;诮y計學的方法主要包括多元線性回歸[6]、指數平滑[7]和差分整合移動平均自回歸模型(ARIMA)[8-9]等。但是,上述方法只能捕捉線性關系,無法獲取時間序列負載數據的非線性特征,在負載預測中的效果不佳。為了對時間序列進行更準確的預測,基于機器學習的方法得到了廣泛應用。遞歸神經網絡(RNN)[10]具有捕獲非平穩負載數據的能力,但存在梯度爆炸和梯度消失等問題。長短期記憶(LSTM)網絡[11-12]和門控循環單元(GRU)[13-14]增加了基于RNN 篩選歷史信息、選擇性保存有用數據和丟棄無用數據的過程[15],解決了RNN 梯度消失和梯度爆炸的問題,使RNN 能夠有效地處理長期時間序列數據[16]。然而,基于RNN 模型本身序列依賴的結構,導致其很難具備高效的并行計算,限制了其預測長度的能力。卷積神經網絡(CNN)[17]因出色的負載數據趨勢捕捉和并行能力而被頻繁用于負載預測領域。文獻[18]提出基于CNN 的時間卷積網絡(TCN)預測模型,并使用多個序列建模任務證明該模型比傳統的CNN 和RNN 模型有更好的效果。但是,CNN 在捕獲長距離特征方面的能力較弱,已有學者通過堆疊網絡深度解決了CNN 捕獲長距離特征的問題。盡管如此,CNN 在這方面仍然弱于RNN 和Transformer[19]。

Transformer[20]在時序預測方面不需要考慮時間和距離問題,有助于模型對輸入的每個部分均等可用,因此在處理遠程信息和捕獲遠程依賴方面更有潛力。文獻[21]提出一種基于Transformer 的多步預測模型Informer,該模型從3 個方面對Transformer在時序負載預測方面進行針對性優化,并通過多個真實數據集進行對比實驗,結果表明在多步預測中該方法的預測性能優于其他主流預測方法?;贗nformer的預測模型CNN-Informer[22]和Stacked-Informer[23]通過提取時序數據更多的底層特征,提升了模型預測精度。

雖然基于Informer 的改進模型通過堆疊模型本身或與其他模型進行組合提高了預測性能,但是Informer 模型在時序預測方面仍存在以下問題:1)正則卷積只能回溯線性大小的歷史信息,造成模型感受野受限導致計算冗余,并且不能保證未來信息對于時序預測結果的影響;2)隨著網絡深度的增加可能使得網絡退化及訓練過程中的梯度消失或爆炸,造成模型訓練收斂速度慢、預測性能下降。因此,本文提出基于改進Informer 的多步負載預測模型(Informer-DCR),通過將負載預測技術與主動管理模式相結合提高云環境中的資源利用率。本文主要貢獻如下:

1)建立Informer-DCR 模型用于云計算資源負載預測。

2)改進編碼器中蒸餾操作,將連接各注意力塊之間的正則卷積替換為擴張因果卷積,使其提取特征中更多隱藏信息和時間關系,增加模型感受野及提升模型預測性能,并保證時序預測的因果性,防止未來信息的泄露。

3)優化模型主編碼器的網絡結構,通過增加殘差連接使網絡信息以跨層的形式直接進行深層傳遞,增強了特征多樣性,使模型訓練過程更加穩定,解決了深層網絡的退化問題。

1 Informer 負載預測模型

目前,傳統的Transformer 主要存在自注意力機制復雜度高、堆疊層的內存瓶頸、預測輸出的速度慢等不足。Informer 對Transformer 在時序預測領域所存在的問題做了針對性的改進,具體為:提出一種稀疏概率自注意力機制代替傳統自注意力機制,通過篩選出最重要的查詢向量,實現了時間復雜度和內存使用量為O(LlogaL),大大減少了網絡規模;提出自注意力蒸餾操作,通過正則卷積和池化操作減少維度和網絡參數量;提出生成式解碼器,只需一步便可生成全部預測序列,避免逐步預測造成的誤差累計,縮短了預測時間。Informer整體架構如圖1 所示。

圖1 Informer 架構Fig.1 Architecture of Informer

Informer 由編解碼器體系結構組成,編碼器和解碼器均接收歷史序列輸入,但內容存在差異,具體如圖2 所示。

圖2 編解碼器輸入Fig.2 Input of encoder and decoder

編碼器輸入一段歷史數據,解碼器輸入由編碼器輸入序列從后開始截取的一段與預測長度等長的0 填充序列組成。

Informer 中編碼器是由多頭稀疏概率自注意力機制和蒸餾操作堆疊而成的。傳統的自注意力機制需要O(LQLK)的內存使用量以及二次點積計算,這是其預測能力較低的主要因素。稀疏概率自注意力機制是通過選取少數得分較高的點積對,同時將其他得分較低的點積對忽略,從而降低時間復雜度和內存使用量,具體如式(1)所示:

其中:Q、K、V分別是查詢向量(query)、鍵向量(key)和值向量(value)組成的矩陣,是Q經過概率稀疏化后得到的;d是防止梯度消失而增加的比例因子;Softmax()是激活函數。

Informer利用蒸餾操作對具有支配特征的優勢特征進行特權化,并在下一層構建一個聚焦的自注意力特征圖,提取過程從第j層向第j+1層,如式(2)所示:

其中:[]AB代表注意力塊;Conv1d()使用ELU()作為激活函數在時間維度上執行正則卷積操作,并在每個卷積層后增加一個最大池化層使下采樣到其一半,從而將整個內存使用量減少到O((2-E)LlogaL),其中E是一個很小的數字。為了增強蒸餾操作的魯棒性,Informer通過減半輸入構建一個副本,并減少注意力塊的數量使輸出維度對齊。

Informer 所提出的生成式解碼器使用標準解碼器結構,由兩個相同的多頭注意力層組成,通過一個向前過程來產生預測輸出。模型向解碼器提供如式(3)的輸入向量:

其中:是起始令牌;是目標序列的占位符。與編碼器中多頭稀疏概率自注意力機制不同,解碼器中的自注意力機制為了防止每個位置關注未來的信息,避免自回歸,將掩碼多頭稀疏概率自注意力機制的點積設置為-∞。

2 Informer-DCR 改進模型

本文主要針對云計算資源負載情況進行預測,考慮到云環境中負載資源存在一定的時序依賴關系,每一時刻的負載值均與該時刻之前的負載情況存在密切聯系,因此對于負載預測模型而言,捕獲長距離特征可以提供更多趨勢信息,提升預測精度。Informer 在捕獲長序列輸入信息方面擁有較強的能力,預測性能也優于現有主流預測模型,然而該模型應用于時序預測時仍存在不足,主要為:在模型中蒸餾操作將自注意力塊與正則卷積堆疊在一起,使感受野受限導致重復無意義的計算;沒有考慮時間維度,造成未來信息對預測結果產生的影響;堆疊的深度增加引起了網絡退化。因此,本文提出基于改進Informer 的多步負載預測模型,并針對其內部結構進行優化,將原編碼器中注意力塊之間的正則卷積替換為擴張因果卷積,并在主編碼器堆疊中增加殘差連接,編碼器架構如圖3 所示。

圖3 Informer-DCR 編碼器架構Fig.3 Architecture of Informer-DCR encoder

Informer-DCR 編碼器是由1 個接收整個輸入序列的主編碼器和1 個切片減半輸入的副編碼器組成。假設主編碼器中原始輸入時序數據為L,將輸入L經過1 個注意力塊的輸出以及經過3 個注意力塊和2 個擴張因果卷積層的輸出進行拼接得到1 個特征圖,并將L進行減半操作得到L/2,副編碼器的輸入L/2 經過2 個注意力塊和1 個擴張因果卷積層得到1 個特征圖,最后將2 個特征圖合并成1 個完整的特征圖輸入解碼器。這種堆疊結構的目的是有效地提取輸入長序列的時間特征,并提高預測序列輸出的魯棒性。

擴張因果卷積是由因果卷積和擴張卷積兩部分組成的。因果卷積與傳統卷積不同,因果卷積受到時間約束限制,將時間t的輸出僅與前一層的時間t和更早的元素進行卷積來保證時序預測中的因果性,讓網絡的輸出信息僅受過去輸入信息的影響。為了確保經過卷積層的輸出和輸入具有相同的長度,僅在輸入序列前側進行零填充,防止未來信息的泄露。

雖然因果卷積能夠很好地處理時序數據,但是當時序數據過長而網絡需要學習更久遠的歷史信息時,必須增加卷積層數。這種方式只能在線性尺度上擴大對歷史信息的捕捉,而且隨著層數的增加,網絡中參數成倍增加,使得網絡訓練難度變大。為了保持層數相對較小的同時增加感受野區域大小,擴張卷積算法被提出并與因果卷積配合使用。

擴張卷積也稱空洞卷積,是將原始濾波器進行零膨脹得到一個具有更大濾波器的卷積,通過選擇不同尺寸的濾波器或增加膨脹因子來靈活地調整模型的感受野,使頂層的輸出能夠接收更寬范圍的輸入信息,提升因果卷積對較長輸入序列的建模能力。擴張因果卷積的具體實現過程如圖4 所示(彩色效果見《計算機工程》官網HTML 版)。

圖4 擴張因果卷積實現過程Fig.4 Implementation process of dilated causal convolution

因果卷積核僅對當前時間步t之前的輸入信息做出響應,減少了對未來輸入信息的冗余計算。模型選取卷積核尺寸為3,即某一時刻輸出均是由前一層對應的位置和前兩個位置的輸入共同得到的,與未來時刻無關。擴張卷積通過增加擴張系數d,有效地擴展上層網絡的感受野,形成更長的卷積記憶,隨著網絡層數加深,有效窗口的大小呈指數增長,模型通過較少的層數獲得更大的感受野,降低網絡復雜度的同時提高模型預測精度。對于時間序列X={x0,x1,…,xT-1,xT},元素xt進行擴張因果卷積:

其 中:F={f1,f2,…,fK-1,fK}表示大小為K的卷積核;xt表示t時刻的時序數據;fk表示卷積運算中的濾波器;d表示擴張系數。擴張因果卷積實現過程中最下層擴張系數d=1,表示輸入時對每個時間點均進行采樣,下一層d=2 表示每兩個時間點作為一個輸入。

然而,擴張因果卷積無法解決編碼器中注意力塊和卷積池化層堆疊導致的網絡退化等問題,隨著網絡深度增加,網絡獲得的信息會逐層遞減,影響模型訓練的穩定性,并出現梯度消失或爆炸問題。針對該問題的處理方式是在主編碼器中增加殘差連接,核心思想為直接映射,即下一層不僅包括該層的信息,還包括該層經非線性變換后的新信息。這樣可以保證即使堆疊網絡深度,輸出層仍可以從輸入層接收更多的信息,模型訓練依舊穩定,達到增加特征多樣性、加快模型收斂的目的。殘差連接實現過程如圖5 所示,其中,殘差塊包括3 個注意力塊、2 個擴張因果卷積+池化層。具體實現過程為:將第1 個注意力塊的輸出與第3 個注意力塊的輸出融合在一起,并使用1×1 卷積來保證2 個注意力塊輸出的特征圖在相加時形狀相同。

圖5 殘差連接實現過程Fig.5 Implementation process of residual connection

3 實驗與結果分析

3.1 實驗環境

實驗環境設置如表1 所示。

表1 實驗環境設置 Table 1 Experimental environment setting

3.2 數據預處理

3.2.1 實驗數據集

為了驗證Informer-DCR 在云計算資源負載預測方面的性能優于其他預測模型,使用Cluster Tracev2018 公開數據集進行實驗對比,該數據集記錄某個生產集群中4 000 臺服務器8 天的資源詳細情況。隨機選取其中10 臺機器8 天的資源使用情況,時間粒度選取為每臺機器每5 min 使用的平均資源量,共20 636 條數據。數據分為訓練集、測試集、驗證集,三者占比分別為7∶2∶1。

3.2.2 數據處理

采用均值填充法進行缺失值處理。對于特征選擇,所使用的數據集中記錄每臺機器7 種特征的使用情況,分別為CPU 利用率(cpu_util_percent)、內存利用率(mem_util_percent)、內存帶寬使用率(mem_gps)、每千條指令緩存未命中數(mpki)、傳入網絡包的數量(net_in)、傳出網絡包的數量(net_out)、磁盤空間利用率(disk_usage_percent)。將這些特征輸入模型前,通過特征選擇算法來選擇重要特征并重新組合,生成新的特征值。這樣不僅可以減少特征數量,防止維度災難,縮短訓練時間,還可以增強模型的泛化能力,減少過擬合,增強模型對特征和特征值的理解。隨機森林算法具有準確度高、訓練速度快、魯棒性好、不容易過擬合等優點[24-25],因此使用隨機森林算法進行特征選擇,如圖6 所示。由圖6 可以看出,CPU 利用率和內存利用率特征得分明顯高于其他特征,分別為0.448 0和0.262 4,其他特征得分均小于0.1,因此選取CPU 利用率和內存利用率作為輸入特征進行預測。

圖6 各項資源的特征得分Fig.6 Characteristic scores for various resources

3.3 評價指標

在對云計算資源進行預測時,為提高預測精度,利用Informer-DCR 對云資源進行預測,同時采用3 個指標對預測模型的性能進行評價,分別是平均絕對誤差(MAE)、均方誤差(MSE)、均方根誤差(RMSE),計算公式如式(5)、式(6)、式(7)所示:

其中:n為預測長度為實際值;yi為預測值。3 個評價指標的數值越低,代表模型預測性能越好。

3.4 對比實驗

本節從預測性能、消融實驗、模型對輸入步長的敏感性、收斂性4 個方面進行對比實驗。Informer-DCR 的超參數設置如表2 所示。

表2 超參數設置 Table 2 Hyperparameter setting

3.4.1 預測性能分析

表3 給出了Informer-DCR 與ARIMA、LSTM、GRU、TCN、Informer、CNN-Informer 等預測模型在不同預測步長下的預測性能對比,其中最優指標值用加粗字體表示,下同。由表3 可以看出,當預測步長分別為24、48、96、192、384 時,Informer-DCR 的各項預測性能指標均明顯優于其他模型,說明該模型在多步預測方面具有更高的精度。具體表現為:1)與傳統Informer 相比,Informer-DC 的預測精度更高,當預測步長分別為24、48、96、192、384 時,MAE分別降低了13.1%、12.1%、13.4%、13.8%、14.3%,這表明Informer-DCR 中加入擴張因果卷積和殘差連接增加了感受野和特征多樣性,使模型包含更多的輸入信息和特征,從而在多步預測過程中取得更好的效果;2)Informer-DCR 與對比模型中效果最好的CNNInformer 相比,當預測步長分 別為24、48、96、192、384 時,RMSE 降低了8.5%、6.1%、8.2%、8.4%、10.8%,這表明盡管CNN-Informer 采用二維卷積神經網絡提取到輸入數據更多的特征信息,提高了預測精度,但效果并不顯著,Informer-DCR 通過優化Informer內部結構,解決了Informer 在時序預測方面存在的不足,使模型預測精度得到較大幅度的提升;3)與TCN、GRU、LSTM、ARIMA 相比,當預測步長分別為24、48、96、192、384 時,Informer-DCR 的MAE 平均降低了21.9%、21.1%、25.4%、28.5%、34.6%;4)Informer-DCR 模型在不同預測步長下的MAE 比Informer、TCN 等主流預測模型降低了8.4%~40.0%。

表3 預測性能比較 Table 3 Comparison of prediction performance

3.4.2 消融實驗分析

為研究Informer-DCR 模型中各個部分對預測性能的影響,以Informer-DCR 為基礎進行消融實驗。在實驗過程中,移除擴張因果卷積模塊的模型命名為Informer-R,移除殘差連接模塊的模型命名為Informer-DC。Informer-DCR 與Informer-DC、Informer-R和Informer 在不同條件下進行性能對比分析,實驗結果如表4 所示。由表4 可以看出,Informer-DC、Informer-R 相比于Informer 預測性能均有顯著提升。這表明:1)在Informer 中加入擴張因果卷積可以通過特定排列確保過濾器在有效歷史數據中命中每個輸入,并允許使用深度網絡獲得較長的有效歷史,增加模型的感受野,提升預測性能;2)在Informer 中加入殘差連接可以把較下層的特征圖跳層連接到上層,增加特征多樣性,使模型具有更好的預測結果。由此可見,將上述網絡結構融合到模型中,并與其他模型在不同輸入步長和預測步長下進行對比,Informer-DCR 均取得了較好的效果。

表4 消融實驗結果 Table 4 Ablation experiment results

3.4.3 模型對輸入步長的敏感性分析

為驗證模型對編碼器輸入序列長度的敏感性,對比在預測步長均為24 及編碼器輸入步長為48、96、192、384、768 時Informer-DCR、Informer 和CNNInformer 的預測性能,模型對輸入步長的敏感性實驗結果如圖7 所示(彩色效果見《計算機工程》官網HTML 版)。由圖7 可以看出:增加輸入步長可以使編碼器包含更多的時序依賴信息,3 種模型的預測性能均有所提升;當預測步長均為24 及編碼器輸入步長為48、96、192、384、768 時Informer、CNN-Informer和Informer-DCR 的MAE 下降幅度有所區別,隨著輸入步長的增加,Informer-DCR 的MAE 仍有明顯下降趨 勢,而Informer 和CNN-Informer 的MAE 逐漸平緩。這表明CNN 在捕獲長距離特征方面的能力較弱,導致CNN-Informer 的預測性能提升效果不顯著,而Informer-DCR 相比于其他模型,其網絡結構中擴張因果卷積具有更大的感受野,保留了較多原始信息,使得模型在預測方面的優勢更加明顯。

圖7 模型對輸入步長的敏感性實驗結果Fig.7 Experimental results of model sensitivity to input step size

3.4.4 收斂性分析

本節實驗內容是對比不同條件下Informer-DCR和Informer 訓練過程的收斂性,主要考慮Epoch 的訓練損失。圖8 給出編碼器輸入步長為96、192、384 時Informer-DCR 和Informer 的收斂速度對比結果。由圖8 可以看出:最開始由于網絡需要訓練,兩個模型損失值較高且不穩定,隨著訓練次數的增加損失值逐漸趨于穩定;在不同輸入步長下Informer-DCR 的收斂速度均快于Informer,并且隨著輸入步長的增加,兩個模型的收斂性差異越來越大,Informer-DCR表現更好。這表明Informer 中蒸餾機制增加了網絡深度導致難以訓練,需要花費很長時間才能收斂,而殘差連接使得Informer-DCR 在訓練過程中信息傳播更加順暢,一定程度上解決了網絡退化問題,使模型收斂更快速穩定。

圖8 收斂速度對比Fig.8 Comparison of convergence speed

4 結束語

針對云計算資源負載預測問題,本文構建Informer-DCR 多步負載預測模型。通過使用擴張因果卷積增加模型感受野提升預測性能,同時保證時序預測的因果性。利用殘差連接增強模型特征多樣性和收斂速度,提升預測性能和訓練過程的穩定性。在Cluster Trace-v2018 公開數據集上的實驗結果表明,Informer-DCR 模型的性能表現優于Informer、CNN-Informer、LSTM 等主流模型,證明了其具有良好的預測性能,可以為云平臺資源管理提供準確高效的技術支持。后續將進一步優化Informer-DCR 模型,使其能更好地提取時序數據的底層特征,提升預測精度,并將進一步降低模型中自注意力機制的計算復雜度和內存使用量,提高運行速度。

猜你喜歡
時序編碼器步長
基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
基于Sentinel-2時序NDVI的麥冬識別研究
基于FPGA的同步機軸角編碼器
基于FPGA 的時序信號光纖傳輸系統
基于PRBS檢測的8B/IOB編碼器設計
一種毫米波放大器時序直流電源的設計
JESD204B接口協議中的8B10B編碼器設計
基于逐維改進的自適應步長布谷鳥搜索算法
多總線式光電編碼器的設計與應用
一種新型光伏系統MPPT變步長滯環比較P&O法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合