十多年來,微軟提供了世界上最流行的超大規(guī)模生產(chǎn)力套件之一,Office 365,它現(xiàn)在是Microsoft 365的一部分。微軟365包括數(shù)百種不同的服務(wù),在全球數(shù)十個數(shù)據(jù)中心的數(shù)十萬臺服務(wù)器上每秒運行數(shù)十億次事務(wù)。它為數(shù)以億計的企業(yè)、教育和消費者用戶提供日常云服務(wù)。
這些服務(wù)永遠(yuǎn)不會停止。我們的服務(wù)被醫(yī)院和創(chuàng)傷中心、電網(wǎng)提供商、國家、州和地方政府、主要銀行和金融服務(wù)提供商、航空公司、航運和物流提供商以及從最大到最小的企業(yè)所使用。為了滿足他們的需求,我們必須持續(xù)可用,這意味著在很長一段時間內(nèi)100%可用。我們的服務(wù)應(yīng)該在災(zāi)難中無縫運行,因為災(zāi)難往往是我們的服務(wù)最重要的時候;協(xié)調(diào)應(yīng)急工作。
這是一個巨大的挑戰(zhàn)。我們的極端規(guī)模意味著,在我們的服務(wù)中,“十億分之一”的事件并不罕見,而是司空見慣。同時,我們不能允許那些“十億分之一”的事件損害我們服務(wù)的可用性。這種幾乎令人難以置信的大規(guī)模和極端臨界的組合要求我們不斷地重新思考和改進(jìn)服務(wù)架構(gòu)、設(shè)計、開發(fā)和運營的各個方面。實現(xiàn)持續(xù)可用性和高可靠性服務(wù)的一個重要方面是全面理解事件并減輕它們對客戶的影響。
除了使用人工智能(AI)和機(jī)器學(xué)習(xí)(ML)來開發(fā)新的生產(chǎn)特性和功能,以取悅我們的用戶,我們還利用人工智能和機(jī)器學(xué)習(xí)的力量來提高服務(wù)的可用性和可靠性,這對我們的超大規(guī)模服務(wù)至關(guān)重要。本文展示了將AI應(yīng)用于管理生產(chǎn)事件生命周期的一個示例。我們計劃在以后的文章中分享更多示例。
——Jim Kleewein, Microsoft 365技術(shù)科學(xué)家
1. 介紹
微軟365(“M365”)是世界上最大的生產(chǎn)力云。成千上萬的各種規(guī)模的組織都在使用它。無論您是在召開團(tuán)隊會議,在Outlook中編寫電子郵件還是與同事協(xié)作處理Word文檔,您都可以依靠M365來支持這些生產(chǎn)力工具和應(yīng)用程序。M365由網(wǎng)絡(luò)規(guī)模和大規(guī)模分布式云服務(wù)提供支持,由全球幾十個數(shù)據(jù)中心、每個中心數(shù)十萬臺服務(wù)器處理艾字節(jié)(exabytes)量級的數(shù)據(jù)。
為了確保一流的生產(chǎn)力體驗,我們的工程基礎(chǔ)設(shè)施在高效的同時高度可靠是至關(guān)重要的。 在M365系統(tǒng)創(chuàng)新研究小組,我們利用人工智能(AI)的力量,將云智能和AIOps集成到我們的服務(wù)和產(chǎn)品中。我們正在使用創(chuàng)新的AI/ML技術(shù)和算法來幫助設(shè)計、構(gòu)建和運營復(fù)雜的云基礎(chǔ)設(shè)施和服務(wù),并在運營效率和可靠性方面提供逐步改進(jìn)的功能,使我們能夠提供一流的生產(chǎn)力體驗。我們正在將AIOps應(yīng)用于以下幾個領(lǐng)域:
系統(tǒng)AI使智能成為一種內(nèi)置能力,在較少人為干預(yù)的情況下實現(xiàn)高質(zhì)量、高效率、自我控制和自適應(yīng)。
客戶利用AI/ML創(chuàng)造無與倫比的用戶體驗,并通過云服務(wù)實現(xiàn)卓越的用戶滿意度。
AI for DevOps將AI/ML注入到整個軟件開發(fā)生命周期中,以實現(xiàn)高開發(fā)人員生產(chǎn)力。
幫助構(gòu)建高度可靠的云服務(wù)一直是我們關(guān)注的重點領(lǐng)域之一。其中一個挑戰(zhàn)是快速識別、分析和緩解事件。我們的研究從生產(chǎn)事件的基礎(chǔ)開始:我們分析事件的生命周期,了解常見的根本原因、緩解措施和解決方案的工程效益。
2. 了解生產(chǎn)事故
圖1 大規(guī)模云服務(wù)中服務(wù)可靠性問題概述 我們的獲獎?wù)撐腫1]對Microsoft Teams使用的大規(guī)模M365云上的生產(chǎn)事件進(jìn)行了全面的多維實證研究。由于Microsoft-Teams支持實時通信,因此可靠性至關(guān)重要。從檢測、根因和緩解的角度理解生產(chǎn)事件,是構(gòu)建更好的監(jiān)控和自動化工具的第一步。圖1顯示了大規(guī)模云服務(wù)的服務(wù)可靠性問題概述,來源于我們研究論文[1]的總結(jié)。
1) 事件背后的常見根本原因和緩解措施
圖2 根本原因分析(RCA)和風(fēng)險緩解類別的細(xì)分 雖然代碼錯誤是最常見的事件原因,但大多數(shù)事件(約60%)是由基礎(chǔ)設(shè)施、部署和服務(wù)依賴關(guān)系中的非代碼/非配置相關(guān)問題引起的。我們還觀察到,在由代碼/配置錯誤引起的40%的事件中,近80%的事件在沒有代碼或配置修復(fù)的情況下得到了緩解。
2)TTD和TTM的根本原因和緩解措施
圖3 不同根本原因類別的平均TTD和TTM
圖4 不同緩解步驟的平均TTD和TTM 由代碼錯誤和依賴失敗引起的事件的TTD和TTM明顯高于其他事件。此外,30%的緩解延遲是由手動緩解步驟造成的。 3)小結(jié)
由于監(jiān)控不力,軟件bug和外部依賴導(dǎo)致的事件檢測時間較長。這凸顯了對實用工具的需求,以實現(xiàn)細(xì)粒度、原位系統(tǒng)可觀測性。
某些根本原因類別導(dǎo)致的事件在確定其根本原因類別后會迅速緩解。這表明,使用能夠快速識別其根本原因類別的工具,可以縮短由這些類別引起的事件的總體緩解時間。
由某些根本原因引起的事件本身就難以自動監(jiān)控(例如,需要監(jiān)控全局狀態(tài))。這表明開發(fā)人員應(yīng)該在測試中投入更多,以便在生產(chǎn)前發(fā)現(xiàn)這些根本原因類別,從而避免此類事件。
我們還設(shè)想,自動化將在未來用于進(jìn)行事件診斷并確定根本原因和緩解步驟,以幫助快速解決事件并最大限度地減少客戶影響。此外,我們應(yīng)該利用過去的經(jīng)驗教訓(xùn),建立應(yīng)對未來事件的韌性。我們假設(shè)采用AIOps和使用最先進(jìn)的ML模型,如大型語言模型(LLM)可以幫助實現(xiàn)這兩個目標(biāo)。
3. 使用LLM進(jìn)行自動事件管理
最近人工智能的突破使大語言模型(LLM)對自然語言有了豐富的理解。他們已經(jīng)變得善于從大量數(shù)據(jù)中理解和推理。它們還可以泛化各種任務(wù)和領(lǐng)域,如代碼生成、翻譯、問答等??紤]到事件管理的復(fù)雜性,我們有動力評估這些LLM在幫助分析根本原因和減輕生產(chǎn)事件方面的有效性。
圖5 根因分析和風(fēng)險緩解中充分利用GPT-3.X的能力 在最近的工作中,我們在ICSE 2023會議上首次展示了LLM對生產(chǎn)事故診斷的有用性。當(dāng)創(chuàng)建一個事件時,作者將為事件指定一個標(biāo)題,并描述任何相關(guān)細(xì)節(jié),如任何錯誤消息、異常行為和其他可能有助于解決的細(xì)節(jié)。我們使用給定事件的標(biāo)題和摘要作為LLM的輸入,并生成根本原因和緩解步驟。
我們對4萬多起事件進(jìn)行了認(rèn)真的研究,并比較了幾家LLM在零樣本(zero-shot)、微調(diào)(fine-tuning)和多任務(wù)設(shè)置下的表現(xiàn)。我們發(fā)現(xiàn),對GPT-3和GPT-3.5模型進(jìn)行微調(diào)后,可以顯著提高LLM 處理事件數(shù)據(jù)的有效性。
1)在根因分析中GPT-3.x模型的有效性
表1 不同LLM的詞匯和語義性能
在離線評估中,我們通過計算生成的建議與事件管理(IcM)系統(tǒng)中提到的根本原因或緩解步驟的基本事實之間的3個詞匯相似性進(jìn)行度量,將GPT-3.5與三個GPT-3模型的性能進(jìn)行了比較。不同任務(wù)的GPT-3.5指標(biāo)的平均增益如下:
對于根本原因和緩解建議任務(wù),davincici-002 (GPT-3.5)比所有GPT-3模型分別提供至少15.38%和11.9%的增益,如表1所示。
當(dāng)我們通過將根本原因作為輸入添加到模型中來生成緩解計劃時,GPT-3.5模型比3個GPT-3模型至少高出11.16%。
我們觀察到,由于MRI(Machine Reported Incidents,機(jī)器報告的事件)的重復(fù)性,LLM模型在MRI上比客戶報告的事件(Customer Reported Incidents,CRIs)上表現(xiàn)更好。
使用事件數(shù)據(jù)對LLM進(jìn)行微調(diào)可以顯著提高性能。優(yōu)化后的GPT-3.5模型在根本原因生成任務(wù)中提高了45.5%,在風(fēng)險緩解生成任務(wù)中提高了131.3%(即直接在預(yù)訓(xùn)練的GPT-3或GPT-3.5模型上進(jìn)行推理)。
2)從事件所有者的角度看問題
除了使用語義和詞匯度量進(jìn)行分析分析外,我們還采訪了事件所有者,以評估生成的建議的有效性??傮w而言,GPT-3.5在大多數(shù)指標(biāo)上都優(yōu)于GPT-3。在實時生產(chǎn)環(huán)境中,超過70%的OCEs給出了3分或以上的評分(滿分5分)。
4. 展望
雖然我們正處于使用LLM來幫助自動化事件解決的初始階段,但我們設(shè)想在這個領(lǐng)域有許多開放的研究問題,這些問題將大大提高LLM的有效性和準(zhǔn)確性。例如,我們?nèi)绾谓Y(jié)合關(guān)于事件的其他上下文,如討論條目、日志、服務(wù)度量,甚至受影響服務(wù)的依賴關(guān)系圖,以改進(jìn)診斷。
另一個挑戰(zhàn)是數(shù)據(jù)過時(staleness),因為模型需要經(jīng)常使用最新的事件數(shù)據(jù)進(jìn)行重新訓(xùn)練。
為了解決這些挑戰(zhàn),我們正在利用最新的ChatGPT模型結(jié)合檢索增強方法,通過會話界面改進(jìn)事件診斷。例如,ChatGPT可以通過提出假設(shè),并通過反饋循環(huán)回答關(guān)鍵問題,幫助工程師有效地確定事件的根本原因。
圖6 檢索增強RCA的工作流程
此外,ChatGPT可以積極地融入到事件診斷的“討論”中。通過從可用的文檔和日志中收集證據(jù),該模型可以對查詢生成連貫的、上下文相關(guān)的、聽起來自然的響應(yīng),并提供相應(yīng)的建議,從而促進(jìn)討論,并加速事件解決過程。我們相信,通過上下文和有意義的根本原因分析和風(fēng)險緩解,這有可能在整個事件管理過程中實現(xiàn)逐步功能改進(jìn),從而減少大量人力勞動,提高我們的可靠性和客戶滿意度。
審核編輯:劉清
-
人工智能
+關(guān)注
關(guān)注
1789文章
46652瀏覽量
237064 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8349瀏覽量
132312 -
ChatGPT
+關(guān)注
關(guān)注
29文章
1546瀏覽量
7356
原文標(biāo)題:大模型如何助力AIOps以保證高可靠的服務(wù)?
文章出處:【微信號:軟件質(zhì)量報道,微信公眾號:軟件質(zhì)量報道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論