張勉知,劉惜吾,葉曉斌,姚麗紅,程亞鋒,馬丹丹(中國聯(lián)通廣東分公司,廣東廣州 510627)
5G網(wǎng)絡(luò)正式商用,可提供大容量、可靠性、穩(wěn)定性、靈活性業(yè)務(wù)。由于5G通信云采用微服務(wù)+云化架構(gòu),業(yè)務(wù)能力空前敏捷,但同時(shí)IT+CT的架構(gòu)帶來維護(hù)難度提升。傳統(tǒng)人工運(yùn)維模式面臨網(wǎng)絡(luò)監(jiān)控/管理困難、故障定界定位復(fù)雜、運(yùn)維效率低下、無法有效避免隱患發(fā)生等多個(gè)難題。
針對(duì)上述運(yùn)維難點(diǎn),廣東聯(lián)通聚焦5GC智能運(yùn)維解決方案的研究,采用智能化手段提高網(wǎng)絡(luò)自治能力,更及時(shí)、準(zhǔn)確和自動(dòng)地發(fā)現(xiàn)網(wǎng)絡(luò)的異常問題。本文重點(diǎn)闡述了基于多種AI算法的5GC告警、性能、配置數(shù)據(jù)自學(xué)習(xí)自挖掘,從而實(shí)現(xiàn)指標(biāo)異常檢測、KPI-告警關(guān)聯(lián)分析,最終輔助運(yùn)維人員實(shí)現(xiàn)網(wǎng)絡(luò)側(cè)的自動(dòng)駕駛。
從網(wǎng)絡(luò)規(guī)模上看,根據(jù)全球移動(dòng)通信協(xié)會(huì)發(fā)布的報(bào)告顯示,到2025年,全球5G用戶規(guī)模預(yù)計(jì)達(dá)到13.6億,其中,中國5G用戶總量4.54億,全球居首。無論從投資端、需求端還是產(chǎn)值來看,5G通信產(chǎn)業(yè)將迎來爆發(fā)式增長,三大運(yùn)營商今年早些時(shí)候公布的投資計(jì)劃顯示,中國移動(dòng)、中國聯(lián)通和中國電信2020年計(jì)劃建設(shè)50萬+個(gè)5G基站。
從網(wǎng)絡(luò)架構(gòu)上看,5G網(wǎng)絡(luò)是全面虛擬化、云化的網(wǎng)絡(luò),在通用硬件之上的虛擬化層提供了靈活的資源編排和調(diào)度能力,為上層應(yīng)用的部署和功能擴(kuò)展提供了極大的靈活性。為了支撐這些重要特性的實(shí)現(xiàn),5G網(wǎng)絡(luò)也引入了更多的網(wǎng)元和接口。
可以看出,全新的網(wǎng)絡(luò)形態(tài)和網(wǎng)絡(luò)規(guī)模為5G網(wǎng)絡(luò)運(yùn)維工作帶來了極大的挑戰(zhàn)。隨著管理對(duì)象的日益增多,網(wǎng)絡(luò)可能產(chǎn)生的故障大幅增加,人工監(jiān)控手段已無法滿足運(yùn)維需求。近幾年隨著大數(shù)據(jù)和人工智能的發(fā)展,AI輔助的智能運(yùn)維成為解決5G網(wǎng)絡(luò)時(shí)代運(yùn)維工作努力的方向。通過引入AI技術(shù),實(shí)現(xiàn)5GC網(wǎng)絡(luò)黃金指標(biāo)異常檢測、KPI-告警關(guān)聯(lián),可幫助運(yùn)維人員及時(shí)發(fā)現(xiàn)潛在的隱患、規(guī)避網(wǎng)絡(luò)故障的發(fā)生,并在故障發(fā)生時(shí),快速定界定位,縮短修復(fù)時(shí)間。
圖1為5G核心網(wǎng)指標(biāo)異常檢測的整體流程,主要分為數(shù)據(jù)清洗和異常檢測兩大塊。
數(shù)據(jù)清洗:輸入的指標(biāo)數(shù)據(jù)往往存在粒度不一致,數(shù)據(jù)缺失等問題,為了保障后續(xù)算法的可靠性,需要對(duì)數(shù)據(jù)做預(yù)處理。
異常檢測:基于數(shù)理統(tǒng)計(jì)將指標(biāo)波形做劃分,再針對(duì)不同波形采取相應(yīng)的異常點(diǎn)檢測方法,保障準(zhǔn)確率和實(shí)效性。
3.1.1 數(shù)據(jù)清洗
圖1 5G核心網(wǎng)指標(biāo)異常檢測
由于目前是5G建網(wǎng)初期,原始數(shù)據(jù)存在粒度不一,粒度缺失等數(shù)據(jù)問題,所以在應(yīng)用算法之前需要對(duì)數(shù)據(jù)進(jìn)行有效的清洗預(yù)處理,保證數(shù)據(jù)質(zhì)量,排除干擾。主要是對(duì)輸入數(shù)據(jù)“時(shí)間列”和“值列”分別處理的過程,具體流程如圖2所示。
圖2 指標(biāo)數(shù)據(jù)清洗
a)時(shí)間標(biāo)準(zhǔn)化:將時(shí)間列統(tǒng)一轉(zhuǎn)換為“yyyy-mmdd HH:MM:SS”格式。
b)時(shí)間排序:將輸入數(shù)據(jù)按照時(shí)間列從小到大排序。
c)時(shí)間缺失填充:時(shí)間缺失判斷(相鄰2條數(shù)據(jù)時(shí)間列做差值,差值結(jié)果不一樣,則存在時(shí)間缺失);時(shí)間缺失是否需要填充,不同異常檢測算法要求不同。
d)值強(qiáng)制轉(zhuǎn)換:將輸入數(shù)據(jù)值列強(qiáng)制轉(zhuǎn)換為數(shù)值型,有缺失或字符的統(tǒng)一轉(zhuǎn)換為NA。
e)值缺失填充:是否需要填充,不同異常檢測算法要求不同,基于統(tǒng)計(jì)的方法可以不用填充,基于時(shí)序擬合的算法需要填充;對(duì)于無規(guī)律的波形,使用前一個(gè)非NA值填充;對(duì)于周期型的波形,可以使用同時(shí)刻的均值或中位數(shù)填充。
f)極值處理:是否需要極值處理,與算法有關(guān),基于統(tǒng)計(jì)的方法不需要極值處理步驟,基于時(shí)序擬合的算法需要極值處理步驟;極值處理方法可基于IQR方法設(shè)置正常值范圍[Q1-3×IQR,Q2+3×IQR],該范圍之外的分別使用Q1-3×IQR或Q2+3×IQR進(jìn)行替換。
3.1.2 異常檢測
常用針對(duì)性能指標(biāo)的異常檢測算法主要有3大類。
a)時(shí)序分析類異常檢測:通過時(shí)間序列分析擬合輸入的性能指標(biāo)時(shí)序數(shù)據(jù),分析擬合誤差的分布,給出置信區(qū)間閾值,當(dāng)實(shí)際數(shù)據(jù)超過閾值時(shí),觸發(fā)異常告警,傳統(tǒng)的算法有ARIMA、Holt-winter等,基于深度學(xué)習(xí)的算法有LSTM及其變體、MTNet等。
b)假設(shè)檢驗(yàn)類異常檢測:通過時(shí)間序列分析擬合輸入的性能指標(biāo)時(shí)序數(shù)據(jù)(可選),對(duì)擬合誤差做假設(shè)檢驗(yàn)來判斷是否數(shù)據(jù)存在異常,比如ESD、Seasonal Hybrid ESD(S-H-ESD)等。
c)機(jī)器學(xué)習(xí)類異常檢測:基于異常點(diǎn)檢測的機(jī)器學(xué)習(xí)算法來分析數(shù)據(jù)的空間分布,以此判定是否存在異常點(diǎn),比如Isolation Forest、one-class SVM等。
上面的3類方法具有較好的通用性,有現(xiàn)成的算法包,可以快速在新的數(shù)據(jù)集上驗(yàn)證測試,取得較好的效果,但針對(duì)特定場景的優(yōu)化,滿足特定場景的異常檢測準(zhǔn)確率,需要在一定程度上做算法的改造以及組合。同時(shí)上述的三大類方案,在大規(guī)模數(shù)據(jù)場景下的應(yīng)用,往往資源消耗較大,而且耗時(shí)較長。
針對(duì)核心網(wǎng)指標(biāo)的異常檢測,通過對(duì)數(shù)據(jù)特征的分析,采用統(tǒng)計(jì)分析的思路提出OCDT算法,在滿足準(zhǔn)確率的同時(shí),可以很好地保障時(shí)效性。算法流程如下:
a)基于統(tǒng)計(jì)分析對(duì)時(shí)序波形做劃分,主要分為階梯型、周期型和無規(guī)律型。
(a)階梯型:階梯型數(shù)據(jù)特征為連續(xù)一段時(shí)間內(nèi)取值相同,通過差分方式判定區(qū)分。階梯型數(shù)據(jù)實(shí)例如圖3所示。
圖3 階梯型數(shù)據(jù)實(shí)例
(b)周期型:周期型數(shù)據(jù)特征為每天數(shù)據(jù)變化趨勢具有較為明顯的相似性,通過計(jì)算任意相鄰2天子序列(每天數(shù)據(jù)作為一個(gè)子序列)的相似度大小,設(shè)置相似度閾值范圍,實(shí)現(xiàn)周期型波形的判定區(qū)分。周期型數(shù)據(jù)實(shí)例如圖4所示。
圖4 周期型數(shù)據(jù)實(shí)例
(c)無規(guī)律型:數(shù)據(jù)特征為隨機(jī)變動(dòng),不具有規(guī)律性,通過排除法(非周期型或階梯形)判定區(qū)分。
b)針對(duì)不同的時(shí)序波形,采取對(duì)應(yīng)的異常點(diǎn)檢測方案。階梯型時(shí)序采取離群點(diǎn)和波動(dòng)點(diǎn)檢測,周期型時(shí)序采取不一致點(diǎn)檢測,無規(guī)律型采取離群點(diǎn)檢測。
(a)離群點(diǎn)檢測:使用IQR和3-σ 相結(jié)合的方式。計(jì)算Q1分位數(shù)、mean均值、Q3分位數(shù)和方差sd;設(shè)置上限為max(Q3+3×(Q3-Q1),mean+3×sd),下限為max(Q1-3×(Q3-Q1),0);超出上下限范圍標(biāo)記為異常點(diǎn)。
(b)波動(dòng)點(diǎn)檢測:對(duì)任一點(diǎn)x,計(jì)算x與之前n個(gè)點(diǎn)的平均變化量(n為指定參數(shù)),平均變化量=(n×Xt-Xt-1-Xt-2-…-Xt-n)/n。計(jì)算所有點(diǎn)的平均變化量Q1、Q3分位數(shù)。設(shè)置變化量上限=max(Q3+3×(Q3-Q1)),超出上限標(biāo)記為異常點(diǎn)。
(c)不一致點(diǎn)檢測:將所有數(shù)據(jù)按分鐘分組統(tǒng)計(jì),計(jì)算每組數(shù)據(jù)的計(jì)算Q1分位數(shù)、mean均值、Q3分位數(shù)和方差sd。設(shè)置上限為max(Q3+3×(Q3-Q1),mean+3×sd),下限為max(Q1-3×(Q3-Q1),0),超限標(biāo)記為異常點(diǎn)。
通過AI算法將系統(tǒng)歷史告警數(shù)據(jù)和對(duì)應(yīng)時(shí)間內(nèi)的KPI性能指標(biāo)異動(dòng)情況進(jìn)行關(guān)聯(lián)挖掘,自動(dòng)發(fā)現(xiàn)故障和指標(biāo)裂化之間的相關(guān)性,當(dāng)實(shí)時(shí)性能指標(biāo)出現(xiàn)裂化點(diǎn)時(shí),及時(shí)對(duì)業(yè)務(wù)故障進(jìn)行提前預(yù)警。告警關(guān)聯(lián)分析的整體流程主要分為數(shù)據(jù)特征統(tǒng)計(jì)分析和告警關(guān)聯(lián)分析兩大塊。
數(shù)據(jù)特征統(tǒng)計(jì)分析:輸入指標(biāo)往往比較多,告警只會(huì)和其中個(gè)別指標(biāo)產(chǎn)生關(guān)聯(lián),為了減少后續(xù)算法的噪聲干擾,通過數(shù)據(jù)特征統(tǒng)計(jì)分析檢測指標(biāo)和告警之間是否存在關(guān)聯(lián)關(guān)系。
告警關(guān)聯(lián)分析:結(jié)合數(shù)據(jù)的量級(jí)和模型的特點(diǎn),基于機(jī)器學(xué)習(xí)中的XGBoost分類算法挖掘建立篩選后的數(shù)據(jù)指標(biāo)和告警之間的關(guān)聯(lián)關(guān)系。
3.2.1 數(shù)據(jù)特征統(tǒng)計(jì)分析
數(shù)據(jù)特征統(tǒng)計(jì)分析是為了查出各個(gè)數(shù)據(jù)特征與告警有無關(guān)系,如有,大致判斷有什么關(guān)系。下面從秩和檢驗(yàn)量化分析、特征重要性2方面進(jìn)行分析。
秩和檢驗(yàn)通過將2組數(shù)據(jù)混合后排序,將每個(gè)序列值在序列中的次序稱為秩,分別將兩組數(shù)據(jù)的秩相加得到兩組數(shù)據(jù)的秩和,若兩組數(shù)據(jù)同分布則秩和不應(yīng)過大也不應(yīng)過小。通過秩和檢驗(yàn)來判斷告警發(fā)生時(shí)刻周圍數(shù)據(jù)與未發(fā)生告警時(shí)刻的數(shù)據(jù)分布是否相同,取顯著性水平為0.05,如果p值小于0.05,則說明故障發(fā)生時(shí)刻周圍數(shù)據(jù)與未發(fā)生故障時(shí)刻數(shù)據(jù)分布不同,即可將這個(gè)特征作為判斷故障是否發(fā)生的特征之一。
特征重要性根據(jù)該特征每次作為分裂點(diǎn)時(shí)獲得的增益總和除以所有特征的增益總和計(jì)算得出。將經(jīng)過秩和檢驗(yàn)篩選后的指標(biāo)傳入XGBoost模型進(jìn)行初步建模后,輸出特征重要性,根據(jù)指標(biāo)重要性選取一定量的指標(biāo)進(jìn)行再次建模。
3.2.2 告警關(guān)聯(lián)性分析算法
該問題屬于多標(biāo)簽問題,即每個(gè)樣本數(shù)據(jù)可能對(duì)應(yīng)多個(gè)標(biāo)簽,通過對(duì)每一個(gè)類告警做一個(gè)二分類,判斷此類告警是否發(fā)生,分類方法通過多輪實(shí)驗(yàn)對(duì)比后選擇XGBoost。XGBoost可以自動(dòng)處理缺失值,且做了底層優(yōu)化使得運(yùn)行速度加快,是現(xiàn)在工程化分類問題上使用的主流算法。將數(shù)據(jù)預(yù)處理好后傳入XGBoost,運(yùn)用交叉驗(yàn)證確定其中一些模型參數(shù),最后使用網(wǎng)格搜索進(jìn)行調(diào)優(yōu)。
XGBoost屬于GBDT,是一種以決策樹為基學(xué)習(xí)器的串行集成算法,目標(biāo)函數(shù)同時(shí)考慮了損失函數(shù)與樹的復(fù)雜度:
原目標(biāo)函數(shù)經(jīng)過泰勒公式二階展開后,求得最優(yōu)目標(biāo)函數(shù)為:
每次分裂獲得的增益為:
針對(duì)5GC網(wǎng)絡(luò)運(yùn)維難題,本文介紹了廣東聯(lián)通基于AI技術(shù)的智能運(yùn)維解決方案,實(shí)現(xiàn)性能指標(biāo)的異常檢測及KPI-告警關(guān)聯(lián)分析,為中國聯(lián)通各個(gè)大區(qū)的5GC網(wǎng)絡(luò)運(yùn)維樹立了示范標(biāo)桿。在性能指標(biāo)異常檢測中,采用統(tǒng)計(jì)分析的思路提出OCDT算法,針對(duì)不同時(shí)序波形采用不同的檢測手段,在滿足準(zhǔn)確率的同時(shí),可以很好的保障時(shí)效性。在KPI-告警關(guān)聯(lián)分析中,廣東聯(lián)通對(duì)KPI與告警關(guān)聯(lián)預(yù)測進(jìn)行了算法驗(yàn)證,將告警與性能指標(biāo)關(guān)聯(lián),通過對(duì)性能指標(biāo)的精準(zhǔn)預(yù)測,進(jìn)而提前發(fā)現(xiàn)故障隱患,提前告知、提前處置,避免故障發(fā)生。