AIOPS的莫拉維克悖論

語言: CN / TW / HK

莫拉維克的悖論是人工智能和機器人研究人員觀察到,與傳統假設相反,推理需要很少的計算,但感覺運動和感知技能需要大量的計算資源。該原則由 Hans Moravec、Rodney Brooks、Marvin Minsky等人在 1980 年代闡明。莫拉維克在 1988 年寫道,“讓計算機在智力測試或下棋時表現出成人水平的表現相對容易,而在感知和移動性方面,很難或不可能讓計算機具備一歲兒童的技能”。

莫拉維克的問題是那個時代算力不足,數據採集能力不足而導致的,大家可以發現,在近1 0 年的人工智能大潮中,莫拉維克認為很難得問題,現在解決得很好了,比如自動駕駛得感知能力和移動性方面都已經達到了一個接近實用的程度,仿人機器人也在現代人工智能加持下越來越強大。

莫拉維克的時代,人工智能是以知識為驅動的,而現今的人工智能浪潮是以數據為驅動的。這兩個時代因為算力不同,數據獲取與處理的能力不同,因此研究重點是不同的。正是如此,在解決不同的問題方面表現出了截然不同的效果。基於知識的A I ,能做很複雜的推理,不過對算力的要求相對較少,因為人們把專家的知識轉化成了A I 的能力,不需要從混沌中通過計算來分析一切。而數據驅動的 AI 則不同,它只需要很少的專家知識,甚至有些情況下完全不需要專家知識,通過足夠的數據樣本,經過強大的算力來獲得分析結果。

我們在為D -SMART 構建A IOPS 能力的時候,也做過不同的嘗試,不過最後我們選擇了以知識驅動(知識圖譜為核心)的A I 算法為主,數據計算算法為輔的方案。因為我們發現純算法的效果面對數據庫這樣的複雜運行環境來説能力偏弱,無法達到幫助運維人員分析定位問題的水平。再加上我們的研發團隊中不乏各種數據庫的專家,通過我們的專家經驗來構建自動化、智能化系統,可能效果更高一些。

我和很多做AIOPS的同行都交流過這方面的問題,在AIOPS方面,基於日誌分析的全鏈路問題發現和定位方面成果十分突出。通過對日誌以及相關數據的異常檢測,大致定位問題在那個環節,在哪個IT組件上,這個工作的效果還不錯。只不過再往下定位,找到解決問題的方法,就相對困難了。這種分析需要用户能夠比較全面的採集各種業務、系統日誌,並且在應用程序裏業務日誌的輸出也比較規範,否則效果就要打折扣了。這種能力肯定會幫助一些用户解決一些複雜系統的混沌問題。不過用户肯定不滿足於找到出問題的大致位置和大致方向,希望能夠進一步去分析問題出在什麼地方。比如如果是數據庫的問題,那麼到底數據庫的問題到底在什麼地方。遺憾的是,這時候算法的能力就十分有限了。為什麼會這樣呢?

這實際上涉及到一個自動化系統中的另外一個悖論。AIOPS系統通過易於操作和自動糾正錯誤的能力來應對系統異常,當AIOPS系統高效運行時,人工參與變得更加重要且不那麼頻繁。高效的智能化分析使人變得更加重要,而不是更不重要,這是一個悖論。數據驅動的AIOPS算法的普適性不如以知識驅動的AIOPS算法,在每個用户那邊都需要進行重新建模,而建模過程中無論使用了什麼樣的無監督算法,想要達到的效果還是不理想的。在此過程中,必須要有各類的運維專家參與。你要構建數據庫的智能化運維能力,就需要在現場有數據庫的專家參與其中。而實際上,在實時過程中,頂多是用户的數據庫DBA能夠參與工作,能夠起決定性作用的高級專家一般都沒有參與其中,因此其最終的效果就存在問題了。

在AIOPS的實踐中,在宏觀的問題發現上通過以數據為驅動的算法發現宏觀的問題,而在微觀方面,通過專家知識構建的知識圖譜來實現更精細的定位,應該是一種比較好的解決這個悖論問題的方法。以前有朋友問我,老白,你們為什麼不做全鏈路異常檢測?我説我們目前的研發投入,僅僅能夠把微觀的一些工作做好,爭取能夠在用户現場利用系統替代大部分的人工分析,而宏觀分析涉及到更廣的知識,需要更優秀的算法,並且這些東西很難做成一個開箱即用的系統,以我們目前的能力,是無法完成的。我們團隊的優勢是豐富的專家知識,而不是高水平的算法大師,因此能把D-SMART做好就已經很費解了。