微軟在部落格介紹了用於自家Azure雲端,大規模偵測異常的演算法AiDice,官方表示,由於Azure系統規模太過龐大,即便他們已經做了許多預測和故障緩解措施來確保服務的可靠性,但還是可能遇到意想不到的問題,因此需要借助人工智慧的力量來偵測異常。

AiDice是微軟研究院和微軟Azure聯合開發的新型異常偵測演算法,專門用來辨識大規模、多維時間序資料中的異常,AiDice不僅可以快速捕捉事件,也可以提供重要的脈絡,使工程師可以更快速地診斷問題。

微軟提到,之所以需要在異常偵測中使用AIOps方法,是因為Azure資料量太龐大,無法在沒有運用人工智慧的情況下進行分析。大規模的雲端環境中,微軟監控為數龐大的雲端元件,每個元件紀錄大量的資料,而且任何雲端元件的每一列資料都具有數十個欄位的資料,像是時間戳記、虛擬機器硬體類型、作業系統版本、節點所在資料中心和國家等。

官方解釋,他們所擁有的資料結構,本質上是多維時間序列資料,因為維度上的各種組合,個別時間序列的資料量便會以指數級增加,這代表他們無法迭代和監控每個時間序列,因此應用AIOps方法成為必要選擇。

在AiDice之前,微軟在大規模、高維度時間序列資料中偵測異常的方法,便是挑選一組重要的資料維度進行異常偵測,透過關注範圍子集,就能夠快速偵測組合中的異常,一旦偵測到異常,再由工程師更深入地研究問題,並且運用資料深入研究其他維度,以更全面地診斷問題。

雖然這個方法可行,但是這個方法有兩個缺點,第一是需要大量人力發現問題根本,另外,這個方法因為只能偵測有限數量的維度。為了解決這兩個問題,微軟研究院和微軟Azure開始了AiDice演算法的研究。

AiDice能夠同時查看數十個維度資料,也就能夠自動定位時間序列資料樞紐,這讓微軟可以添加更多屬性,諸如硬體微程式、網路代理版本和作業系統版本等,雖然加入這些屬性會讓搜尋空間變大許多,但AiDice能夠將問題編碼成組合最佳化的問題,因此比傳統方法能夠更有效率搜尋空間。

AiDice之所以可以同時搜尋多維度的秘密,便在於其公式化搜尋問題,AiDice演算法會先將資料轉化成搜尋問題,搜尋節點是透過特定的樞紐開始,並建立與鄰居的關係,像是節點Country=USA, Datacenter=DC1, DiskType=SSD,AiDice會透過交換、添加和刪除維度來形成相鄰節點。

接下來AiDice演算法會透過最大化兩個關鍵元件的目標函式,以智慧方式搜尋整個搜尋空間。第一,當錯誤突然發生或是變化越大,目標函式得分就會越高,第二,當樞紐發生的錯誤相對於錯誤總數的比率高,則AiDice對目標函式的評分也會越高。AiDice會對目標函式得分較高的事件發出警示,而微軟藉由過濾和自定義來調整警示,減少噪音並且使AiDice更具可操作性。

AiDice能夠在系統出現問題時,幫助微軟早期掌握問題所在,官方舉例,AiDice曾發現某種類型虛擬機器記憶體不足的錯誤事件,該虛擬機器具有數十個維度的屬性,AiDice發現特定樞紐中不同節點的低記憶體事件數量增加,但總體趨勢卻無法被呈現該問題,透過AiDice微軟得以快速偵測問題所在,使工程師快速解決問題根源。

熱門新聞

Advertisement