聊一聊自成長智能運(yùn)維模型
大部分AIOPS廠家主要是面向算法來提供智能化的分析能力,無論是異常檢測、趨勢評估還是自動分類,都是基于對無法完全認(rèn)知的數(shù)據(jù)的算法實(shí)現(xiàn)。其智能化的能力完全依賴于算法、數(shù)據(jù)、訓(xùn)練與標(biāo)注。
這種方式的智能化運(yùn)維對于實(shí)際的日常AIOPS來說,可能都過于“重”了,每個(gè)項(xiàng)目都需要有比較高成本的實(shí)施過程,無法讓AIOPS的能力開箱即用,在缺乏算法專家的長期協(xié)助下,算法的能力也無法持續(xù)自成長和自動進(jìn)化。而算法專家是十分稀缺和昂貴的資源,這使得采用此類方法的智能運(yùn)維項(xiàng)目變成了有錢人的游戲。
造成這種局面的主要原因還是此類智能運(yùn)維系統(tǒng)的基礎(chǔ)架構(gòu)問題導(dǎo)致的,傳統(tǒng)的軟件是基于“目標(biāo)”的軟件,其邏輯都是根據(jù)目標(biāo)預(yù)先編制好的,為實(shí)現(xiàn)某個(gè)已知的特定目標(biāo)而設(shè)定好具體的目標(biāo),設(shè)計(jì)出具體的實(shí)現(xiàn)路徑,完成軟件基礎(chǔ)能力框架的設(shè)定,最后開發(fā)出軟件系統(tǒng)。
在實(shí)際應(yīng)用場景中,為了適應(yīng)不同用戶的特定場景,頂多是修改配置、調(diào)整參數(shù)參數(shù)、按照目標(biāo)去清理數(shù)據(jù),從而可以實(shí)現(xiàn)一定的差異化化定制化。但是這種差異化與智能化之間還是存在巨大的差距的,這種差異化僅僅被限制在有限的范圍內(nèi),不能圖譜系統(tǒng)預(yù)先設(shè)定的能力極限。
智能化運(yùn)維工具應(yīng)該是能夠根據(jù)不同的運(yùn)維對象、不同的運(yùn)維場景、不同的運(yùn)行負(fù)載、不同的故障場景,實(shí)現(xiàn)差異化的分析診斷,實(shí)現(xiàn)較為準(zhǔn)確的故障定位。智能化診斷工具應(yīng)該具有極強(qiáng)的抽象能力,能夠通過不斷的自我學(xué)習(xí)或者在一定的外部輔助下自己發(fā)展自己的能力,以應(yīng)對不同運(yùn)維環(huán)境的需求。也就是說,AIOPS分析工具應(yīng)該具備自我感知、自我調(diào)整、自我學(xué)習(xí)、自我成長的能力。
神經(jīng)網(wǎng)絡(luò)實(shí)際上也是一種對傳統(tǒng)程序的高度抽象,將軟件中的應(yīng)用邏輯高度抽象為神經(jīng)網(wǎng)絡(luò)。通過深度學(xué)習(xí),可以實(shí)現(xiàn)異常診斷需求到神經(jīng)網(wǎng)絡(luò)的自動化的翻譯。通過不同的數(shù)據(jù)經(jīng)過訓(xùn)練生成的神經(jīng)網(wǎng)絡(luò)模型來實(shí)現(xiàn)對于不同輸入的智能化感知,從而完成分析。因此在理論上,只要有充足的歷史數(shù)據(jù),進(jìn)行充分的訓(xùn)練,是能夠完成抽象的??吹竭@里我們還不要高興的太早了,因?yàn)槌浞值挠?xùn)練需要極高的成本,無法低成本的獲得這種能力。
通過神經(jīng)網(wǎng)絡(luò)的智能化分析算法可以解決AIOPS領(lǐng)域的一部分問題,但是無法解決所有的問題。更加復(fù)雜的運(yùn)維環(huán)境需要更復(fù)雜的知識抽象后通過知識推理才能夠?qū)崿F(xiàn)。這種知識抽象模型無法從混沌的數(shù)據(jù)中自動形成,必須依托于一個(gè)初始推動力才能夠形成。因此我們需要兩個(gè)關(guān)鍵因素來實(shí)現(xiàn)這種初始化的推動力的產(chǎn)生。
其中之一是知識組織形態(tài)的確定,我們需要一種具有很強(qiáng)知識抽象能力的技術(shù)手段來存儲被抽象出來的知識。從目前的實(shí)踐來看,圖數(shù)據(jù)庫是比較好的基礎(chǔ)載體,知識圖譜是知識抽象和描述的較好的實(shí)現(xiàn)方式。
第二個(gè)關(guān)鍵因素是已有的領(lǐng)域知識的導(dǎo)入,哪怕我們已經(jīng)有了一個(gè)十分強(qiáng)大的知識抽象模型,在一個(gè)空白的知識庫里自動產(chǎn)生知識,或者說發(fā)展知識,在初期階段是十分困難的。因?yàn)槿鄙僮銐虻幕A(chǔ)知識,使得知識推理無法完成,同樣,自動學(xué)習(xí)和自生長也無從談起。如果能夠?qū)胍欢康馁|(zhì)量比較高的知識圖譜,以此為基礎(chǔ)去積累、自學(xué)習(xí)、自生長知識庫,其知識庫的生長過程會相對簡單。就像一個(gè)嬰兒一樣,最初的能力成長是相當(dāng)緩慢的,隨著智力的發(fā)展,知識增長的速度會越來越快,知識庫的生長也是如此。
我們?nèi)绻陨厦娴目蚣軄順?gòu)建一個(gè)智能化分析系統(tǒng),其中藍(lán)色部分的代碼框架基本上是固定的,不太變化的穩(wěn)定框架。里面包含了高度抽象的模型和算法。知識圖譜是動態(tài)生長的部分,知識圖譜的變化,將會改變藍(lán)色部分計(jì)算框架產(chǎn)生的結(jié)果, 最終決定了整個(gè)系統(tǒng)的能力。
指標(biāo)數(shù)據(jù)集是動態(tài)的,個(gè)性化的輸入?yún)?shù)。知識圖譜中存儲的是通過高度抽象后的知識數(shù)據(jù)。這部分內(nèi)容是今后要不斷擴(kuò)展,甚至自動生長的。黃色部分是最終實(shí)現(xiàn)的智能化分析能力。核心框架代碼維持穩(wěn)定的情況下,隨著指標(biāo)數(shù)據(jù)的持續(xù)輸入,模型抽象模塊依靠知識圖譜不斷的對數(shù)據(jù)進(jìn)行加工,不斷動態(tài)調(diào)整和優(yōu)化在線分析引擎和離線分析引擎,同時(shí)根據(jù)已知的分析結(jié)果,自動調(diào)整知識圖譜,生成新的頂點(diǎn)和邊。
分析引擎通過標(biāo)準(zhǔn)化的框架,根據(jù)問題感知輸入的參數(shù)數(shù)據(jù),通過知識推理衍生圖譜,裁剪圖譜,形成與當(dāng)前場景相適應(yīng)的子圖,再通過標(biāo)準(zhǔn)框架轉(zhuǎn)換為已知的指標(biāo)與規(guī)則的集合。輸入到異常檢測模塊進(jìn)行探測,發(fā)現(xiàn)可能存在的異常,然后通過標(biāo)準(zhǔn)的智能裁剪框架,根據(jù)問題收斂知識圖譜對問題進(jìn)行歸類,通過迭代生成診斷結(jié)論。再根據(jù)診斷結(jié)論進(jìn)行二次發(fā)散,找到可以定位問題的工具,通過自動化執(zhí)行這些工具,進(jìn)行故障路徑二次裁剪,最終獲得診斷結(jié)果。
知識成長的方法除了不斷由人工注入新知識外,還可以通過模型抽象器自動發(fā)現(xiàn)知識,自動生成知識點(diǎn)。該知識點(diǎn)被稱為智能知識點(diǎn),加入到知識圖譜之后,可以根據(jù)標(biāo)準(zhǔn)接口自動與現(xiàn)有的知識網(wǎng)絡(luò)的其他知識點(diǎn)建立關(guān)聯(lián)。從而優(yōu)化整個(gè)知識網(wǎng)絡(luò)。
(作者:白鱔)