駱益民(中國聯(lián)通廣東分公司,廣東廣州 510627)
傳統(tǒng)的OTN 專線在發(fā)現(xiàn)網(wǎng)絡(luò)帶寬越限時,技術(shù)上無法支持業(yè)務(wù)帶寬快速調(diào)整,不能滿足實時性突發(fā)需求,無法避免由此引起的業(yè)務(wù)丟包等。為提升大客戶精品網(wǎng)絡(luò)的競爭力,滿足政企客戶對時延、業(yè)務(wù)快速開通、帶寬實時調(diào)整等專線業(yè)務(wù)的新需求,通過SDN化的OTN 網(wǎng)絡(luò)[1]承載可以實現(xiàn)業(yè)務(wù)快速開通、業(yè)務(wù)快速發(fā)放、快速響應(yīng)客戶業(yè)務(wù)增減調(diào)整、時延動態(tài)監(jiān)測等功能[2],從而滿足客戶多種需求,具有強大能力的SD-OTN為流量預(yù)測提供了很好的實際應(yīng)用場景。
如何對流量進行精準預(yù)測,為用戶提供更好的體驗和解決方案成為運營商的研究熱點之一。實際網(wǎng)絡(luò)流量具有非線性、周期性、自相似性、突發(fā)性等特點,采用機器學(xué)習(xí)算法,對歷史流量序列特征進行學(xué)習(xí)和訓(xùn)練,能更好適應(yīng)流量歷史特點,具有更高的準確性。如基于時域注意力機制Transformer[3]的專線流量預(yù)測模型,但其計算復(fù)雜度較高,難以發(fā)現(xiàn)更長范圍的關(guān)系關(guān)聯(lián)性?;跁r域自相關(guān)機制的Autoformer[4]、informer[5]模型計算復(fù)雜度為線性logO(LlogL),但缺少對頻域特征的關(guān)注。Fedformer[6]基于頻域特征的學(xué)習(xí)捕捉時間序列的全局特性,實現(xiàn)了線性計算復(fù)雜度。
本文提出的流量預(yù)測模型采用多頭注意力機制對時頻域特征結(jié)合訓(xùn)練的Autoformer 架構(gòu),可同時學(xué)習(xí)時域和頻域序列特征并進行兩域各自相關(guān)機制融合預(yù)測,獲得更高預(yù)測準確性。
為了提高流量預(yù)測準確性,首先需要把握流量總體特點,才能選取適應(yīng)性強的AI 預(yù)測算法。通過對413 條SD-OTN 專線電路進行流量監(jiān)測,涉及通信、郵政、銀行、政府單位、制造業(yè)等行業(yè),分析得出SD-OTN專線流量的時間分布特點。圖1所示為具有明顯客戶行為特征的電路流量樣本。
圖1 3條SD-OTN專線電路流量趨勢
從圖1 可以看出,**-** ONE0014NP 電路流量和帶寬利用率呈現(xiàn)以日為周期的周期性,流量區(qū)間在300~1 500 Mbit/s,帶寬利用率區(qū)間在3.8%~20%,實際使用帶寬為簽約帶寬的20%。**-** ONE0008NP 電路流量和帶寬利用率呈現(xiàn)以日為周期的周期性,流量區(qū)間在550~2 760 Mbit/s,帶寬利用率區(qū)間在5.5%~27.6%,實際使用帶寬為簽約帶寬的27.6%。**-**ONE0100NP 電路流量和帶寬利用率呈現(xiàn)以日為周期的周期性,流量區(qū)間在1.5~63 Mbit/s,帶寬利用率區(qū)間在0.15%~6.3%,實際使用帶寬為簽約帶寬的6.3%,周末流量基本保持在低點平穩(wěn)運行。
通過對上述多條SD-OTN 專線電路流量進行監(jiān)測發(fā)現(xiàn),SD-OTN 專線電路流量具有總體每日趨勢相似,節(jié)假日整體趨勢變小或者低點平穩(wěn)運行的特點。
本文通過對SD-OTN 電路流量特征進行分析,使用多頭注意力機制與時頻域特征結(jié)合訓(xùn)練的Autoformer[4]架構(gòu)對流量長期序列進行預(yù)測(見圖2),可以捕捉更長范圍的關(guān)系關(guān)聯(lián)性,更好地捕捉和學(xué)習(xí)時間序列的時域和頻域特性。在頻率域中,在計算復(fù)雜度不高的情況下,就能捕獲時間序列頻域特征,提高預(yù)測準確性。通過時域自相關(guān)計算和頻域相關(guān)系數(shù)計算進行融合預(yù)測輸出。
圖2 基于時頻域特征結(jié)合訓(xùn)練的Autoformer架構(gòu)的流量預(yù)測模型架構(gòu)
預(yù)測模型包括四大功能模塊,分別為數(shù)據(jù)預(yù)處理、Encoder 堆疊、Decoder 堆疊、Decoder 輸出數(shù)據(jù)處理。具體步驟如下。
a)長時序流量輸入:將3 個月15 min 顆粒度的長時序業(yè)務(wù)流入流出數(shù)據(jù)作為模型算法的輸入。
b)數(shù)據(jù)預(yù)處理:主要對客戶原始數(shù)據(jù)進行處理,提取更多初始特征。
(a)數(shù)據(jù)清洗:通過pandas 或數(shù)據(jù)庫方式讀取客戶最近幾個月的流量,進行數(shù)據(jù)異常點過濾。
(b)分析周期趨勢:對數(shù)據(jù)進行析構(gòu)處理,解析出長周期趨勢、短周期趨勢、不同周期內(nèi)同點數(shù)據(jù)差異值等數(shù)據(jù)。
(c)時刻標點:對流量數(shù)據(jù)進行周期時刻數(shù)據(jù)提取,如獲取小時點、周天、月天、季度等時刻數(shù)據(jù),形成時刻表點數(shù)據(jù);對國家的節(jié)假日進行不同權(quán)重的標定。
(d)傅里葉變換:對流量數(shù)據(jù)進行傅里葉頻率轉(zhuǎn)換,形成數(shù)據(jù)的同期頻率數(shù)據(jù)源;同時,根據(jù)準確性要求,可選進行小波變換,通過bior1.3 算法實現(xiàn)對低頻分量、水平高頻、垂直高頻、對角線高頻等特征的提取。
(e)滑動窗口:對輸入的流量數(shù)據(jù)進行每小時滑動窗口取值,獲取數(shù)據(jù)的訓(xùn)練值,提取與預(yù)測值對應(yīng)的歷史值,不停循環(huán)滑動建立數(shù)據(jù)集。
(f)Token 化:對形成的數(shù)據(jù)集,通過Tokenizer 實現(xiàn)數(shù)據(jù)的標準化并送入網(wǎng)絡(luò)。
c)Encoder 堆疊:實現(xiàn)數(shù)據(jù)的特征提取,主要是對提供的時序數(shù)據(jù)本身、生成的傅里葉、小波變換數(shù)據(jù)以及時刻標點數(shù)據(jù)的關(guān)系使用多頭注意力機制[5]和多層感知機[7]進行數(shù)據(jù)矩陣融合來實現(xiàn)特征提取。
(a)多頭(12 頭)自注意力模塊,通過自注意力機制q/k/v 模塊,編碼器輸出多個子空間的K/V 特征量,實現(xiàn)對數(shù)據(jù)中的關(guān)心數(shù)據(jù)激活(根據(jù)后續(xù)loss 向前的傳遞,選取部分對結(jié)果起更重要作用的數(shù)據(jù),附上更高的權(quán)重),選擇對預(yù)測貢獻值更大的數(shù)據(jù)關(guān)系權(quán)重,送入解碼器對接實現(xiàn)時序數(shù)據(jù)還原預(yù)測。
(b)多層前饋網(wǎng)絡(luò),對自注意力模塊的輸出數(shù)據(jù)進行降維和標準化,以便融合權(quán)重送入下一個Encoder或下一個模塊。
(c)邊界敏感模型[8],實現(xiàn)數(shù)據(jù)前后關(guān)系的邊界彈性、選擇性提取,針對滑動窗口形成的邊界可以根據(jù)當(dāng)前特征的權(quán)重值大小向前后選取更多數(shù)據(jù),相對于傳統(tǒng)LSTM的RNN[9],有更好的收斂效果。
d)Decoder堆疊:實現(xiàn)中間特征的展開關(guān)聯(lián)預(yù)測。
(a)多源輸入融合,通過對Encoder 模型的輸入以及預(yù)測循環(huán)輸入進行權(quán)重融合,實現(xiàn)對Decoder 模塊的輸入。
(b)時序維度分解,將數(shù)據(jù)從Encoder 的K/V 分量向高維度編寫,以實現(xiàn)特征關(guān)聯(lián)的能力,實現(xiàn)不同維度(時序、傅里葉頻率、小波頻率、時刻標點)數(shù)據(jù)的多個層面分解。
(c)自相關(guān)機制,對時序分析的多維度數(shù)據(jù)與源數(shù)據(jù)的自相關(guān)系數(shù)進行計算。
(d)頻率相關(guān)機制,對時序分析的多維度數(shù)據(jù)與源數(shù)據(jù)的頻率相關(guān)系數(shù)進行計算。
(e)數(shù)據(jù)融合預(yù)測,對經(jīng)過自相關(guān)、頻率關(guān)系計算的多維度數(shù)據(jù)進行融合(通過多層感知機進行維度矩陣變化),生成最終的下輪周期的流量數(shù)據(jù)。
e)對Decoder輸出數(shù)據(jù)做如下處理。
(a)反Token,對Decoder 輸出的數(shù)據(jù),做反Token數(shù)據(jù)輸出,形成和輸入數(shù)據(jù)一致的數(shù)據(jù)量度。
(b)趨勢矯正,根據(jù)傳統(tǒng)機器學(xué)習(xí)方法計算的邏輯回歸、多項式預(yù)測方法,實現(xiàn)對獲取的趨勢和模型輸出的數(shù)據(jù)進行微調(diào)。
(c)數(shù)據(jù)矯正,在實現(xiàn)對數(shù)據(jù)預(yù)測的同時對異常點進行矯正和過濾(通過平均值、最大最小值來判斷離群點,判斷是否超過正常范圍)。
(d)數(shù)據(jù)輸出,輸出指定格式、pandas 或數(shù)據(jù)庫格式的數(shù)據(jù)。
(e)循環(huán)輸入預(yù)測數(shù)據(jù),經(jīng)過篩選后送入Decoder進行數(shù)據(jù)的對比訓(xùn)練和預(yù)測。
基于計算量的考慮,將電路3 個月15 min 顆粒度的歷史流量序列作為訓(xùn)練樣本,通過流量模型輸出預(yù)測序列并與實際流量進行對比(見圖3和圖4)。
圖3 流量預(yù)測對比
圖4 流量預(yù)測偏差率
圖3 中黃色曲線為預(yù)測曲線,藍色曲線為實際曲線,紅色曲線為殘差曲線(預(yù)測曲線和實際曲線的差值)。從預(yù)測結(jié)果可以看出,流量的上升和下降趨勢與實際曲線變化基本吻合,殘差值在流量高峰時比低峰大,但在預(yù)測精度為15 min 實際應(yīng)用中,預(yù)留偏大的網(wǎng)絡(luò)資源更能適應(yīng)實時流量突發(fā)的情況。通過圖4預(yù)測偏差率曲線分析(預(yù)測偏差率=殘差/實際值×100%)發(fā)現(xiàn),預(yù)測偏差率在8%~26%,平均偏差率分別為17.1%和16.8%。
通過預(yù)測未來的流量走勢,在帶寬達到越限(紅線)前,對客戶提前做好越限提醒,減少客戶電路擁塞和丟包投訴,使SD-OTN 專線月投訴率降低了16.7%。推薦客戶使用帶寬提速增值業(yè)務(wù),提升業(yè)務(wù)帶寬至帶寬提速預(yù)測值,并根據(jù)越限預(yù)測持續(xù)時間設(shè)置提速業(yè)務(wù)的使用時間??蛻艨梢愿鶕?jù)預(yù)測結(jié)果,對自身業(yè)務(wù)進行靈活調(diào)整,減少電路網(wǎng)絡(luò)擁塞和業(yè)務(wù)丟包,提升網(wǎng)絡(luò)利用率(見圖5)。
圖5 流量預(yù)測應(yīng)用舉例
本文提出的采用Autoformer 中編碼器-解碼器架構(gòu)和相關(guān)機制算法的流量預(yù)測模型,通過多頭注意力機制學(xué)習(xí)和訓(xùn)練流量序列的時域和頻域特征模型,可以學(xué)習(xí)更多序列特征,有效提高了SD-OTN 專線流量預(yù)測準確度,并被應(yīng)用到生產(chǎn)實踐中。通過對流量趨勢的精準預(yù)測,提前做好流量越限和丟包預(yù)警,并及時推送給客戶,壓降非實際網(wǎng)絡(luò)故障投訴量,SD-OTN專線月投訴率降低了16.7%,有效提升了用戶體驗。同時,該流量預(yù)測模型可為SD-OTN 客戶提供付費的臨時調(diào)速和周期性調(diào)速方案等增值業(yè)務(wù)功能,計劃推廣到政企一線部門,賦能一線引導(dǎo)客戶進行SD-OTN專線提速,支撐政企客戶業(yè)務(wù)的發(fā)展,提升網(wǎng)絡(luò)價值輸出。