偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

螞蟻金服異常檢測(cè)和歸因診斷分析實(shí)踐

人工智能 算法
本文將分享異常檢測(cè)與歸因診斷在螞蟻金服的實(shí)踐。某個(gè) KPI 指標(biāo)為什么會(huì)上升或下降?歸因診斷的任務(wù)就是解釋這些指標(biāo)變化的原因。

一、歸因診斷

圖片

在實(shí)際工作中,我們常常受到業(yè)務(wù)方對(duì)關(guān)鍵績(jī)效指標(biāo)(KPI)的靈魂拷問:某個(gè) KPI 指標(biāo)為什么會(huì)上升或下降?歸因診斷的任務(wù)就是解釋這些指標(biāo)變化的原因。

圖片

歸因診斷把問題的定位過程看作是一個(gè)因子對(duì)比的過程:指標(biāo)在基準(zhǔn)時(shí)間區(qū)間的值為 y,在當(dāng)前時(shí)間區(qū)間的值為 y^',兩個(gè)時(shí)間點(diǎn)相差 ?y?;谶@個(gè)變化量 ?y 進(jìn)行因子的拆解,生成一個(gè)因子指標(biāo)樹。在每個(gè)葉子節(jié)點(diǎn)處,都計(jì)算其對(duì)整體 ?y 的貢獻(xiàn)度,從而確定哪個(gè)因子對(duì)整體貢獻(xiàn)最大。

通過以上過程,就能夠解釋 KPI 波動(dòng)的原因。在實(shí)際應(yīng)用中,可以支持:

  • 多時(shí)間粒度的對(duì)比,包括單天和多天的對(duì)比。
  • 單指標(biāo)的對(duì)比、多因子的歸因以及復(fù)雜的四則運(yùn)算。
  • 維度的組合與下鉆。
  • 千萬級(jí)數(shù)據(jù)量級(jí)上秒級(jí)的智能返回。

圖片

接下來舉例說明上述歸因過程。在實(shí)際業(yè)務(wù)中,假設(shè)支付成功率從 80% 下降到 60%,如果按照城市的維度,通過將變化量分配給各個(gè)城市從而進(jìn)行歸因診斷,即先計(jì)算上海 -15%,北京 -34%,廣州 -16%。然后,將這些城市的變化量除以整體變化量(-20%),得到上海為支付成功率下降貢獻(xiàn)了 75%,北京貢獻(xiàn)了 170%,廣州貢獻(xiàn)了 80% 的結(jié)論。這樣的計(jì)算方法是存在問題的,因?yàn)槌鞘械呢暙I(xiàn)求和并不等于 100%。正確的邏輯應(yīng)該是在計(jì)算每個(gè)城市的貢獻(xiàn)時(shí),考慮每個(gè)城市的分子分母的情況。因此,上海實(shí)際在支付成功率上沒有變化,是一個(gè)分子分母等比率縮放的情況;而北京和廣州則是都下降了10%,為整體變化量(-20%)各自貢獻(xiàn)了 50%。

通過這樣逐層拆解,可以清晰地看到每個(gè)因子對(duì)整體的貢獻(xiàn),解釋具體的變化是由分子還是分母引起的,是由比率變化還是占比變化引起的。這種逐層拆解的邏輯為我們提供了一個(gè)全局可比的歸因結(jié)論,有助于向業(yè)務(wù)做出清晰的解釋。

圖片

在實(shí)際應(yīng)用中,我們總結(jié)出四類方法,用于處理不同的業(yè)務(wù)場(chǎng)景:

  • 控制變量法,適用于簡(jiǎn)單的四則運(yùn)算場(chǎng)景。
  • 鏈?zhǔn)椒▌t,可用于處理復(fù)雜的四則運(yùn)算。
  • Shapley 值法,適用于連乘場(chǎng)景,我們將其視為合作博弈問題來解決。
  • 比率類型法(前文講述的內(nèi)容)。

這些方法在業(yè)務(wù)的實(shí)際應(yīng)用中表現(xiàn)出色,取得了顯著的效果。

圖片

在剛剛的歸因過程中,雖然將問題歸因到城市維度,但并沒有明確解釋支付成功率下降的具體原因。因此,需要進(jìn)一步對(duì)因子進(jìn)行歸因,主要分為三個(gè)部分:

  • 首先是歸因的維度,包括城市等。
  • 其次是內(nèi)部因子,如促銷活動(dòng)、營(yíng)銷手段以及運(yùn)維場(chǎng)景中的一些動(dòng)作。
  • 最后是外部因子,包括通用因素,如疫情、天氣、突發(fā)事件等,還包括特殊業(yè)務(wù)場(chǎng)景、出行場(chǎng)景等。

整個(gè)歸因過程會(huì)生成一個(gè)多元因子庫(kù),基于這個(gè)庫(kù),我們重新審視支付成功率下降的問題,得出結(jié)論。例如,我們發(fā)現(xiàn)北京和廣州的下降是因?yàn)槭艿揭咔橛绊?,大學(xué)生提前放假導(dǎo)致支付成功率下降。業(yè)務(wù)方得到這一結(jié)論后,可以做出相應(yīng)的判斷和策略調(diào)整,采取營(yíng)銷手段或其他措施,以解決支付成功率下降的問題,重新提升業(yè)務(wù)。

二、異常檢測(cè)

1. 單指標(biāo)異常檢測(cè)

圖片

接下來介紹一下異常檢測(cè),首先從單指標(biāo)異常檢測(cè)入手。在實(shí)際業(yè)務(wù)中,業(yè)務(wù)方關(guān)心的是監(jiān)控指標(biāo)何時(shí)開始異常告警,以及異常告警何時(shí)結(jié)束。如果我們能夠了解指標(biāo)的正常波動(dòng)區(qū)間,就能夠解決這個(gè)問題,將告警信息實(shí)時(shí)、準(zhǔn)確地反饋給業(yè)務(wù)方。

圖片

計(jì)算一個(gè)指標(biāo)的正常波動(dòng)區(qū)間可以借鑒 STL 時(shí)區(qū)分解的思路:

首先采用 STL 中通用的 lowess 函數(shù)進(jìn)行趨勢(shì)提取,同時(shí)提取周期信息,即識(shí)別時(shí)序中包含的周期以及周期的長(zhǎng)度(例如,7 天、30 天、周、月、季度、年、小時(shí)等),這里我們借鑒論文中的 FFT 加 ACF 處理邏輯,可以識(shí)別出周期。

識(shí)別了周期后,下一步是提取周期波形。通過很好地提取周期波形并疊加周期,就能夠有效地進(jìn)行檢測(cè)。

在提取周期波形時(shí),由于周期波形受到營(yíng)銷活動(dòng)的影響,振幅可能發(fā)生變化,因此還需要引入一些檢測(cè)方法進(jìn)行分段處理,最終獲得相對(duì)完整的周期波形進(jìn)行后續(xù)處理。

圖片

上圖展示了一個(gè)真實(shí)案例:根據(jù)業(yè)務(wù)配置的異常敏感度動(dòng)態(tài)調(diào)整基線的上下限,識(shí)別并監(jiān)控異常告警的整個(gè)生命周期。我們能夠清晰地追蹤何時(shí)進(jìn)入異常狀態(tài),以及何時(shí)恢復(fù)正常。整個(gè)過程都能夠被有效監(jiān)控。

圖片

在這個(gè)智能告警的案例中,當(dāng)系統(tǒng)觸發(fā)告警時(shí),可以追溯到異常發(fā)生的時(shí)刻,隨著告警持續(xù)推移,最終系統(tǒng)恢復(fù)正常,即自動(dòng)關(guān)閉相應(yīng)的告警單。這樣一來,運(yùn)維團(tuán)隊(duì)就不必花費(fèi)過多精力處理那些自動(dòng)關(guān)閉的告警,而能夠集中精力處理更為緊急的運(yùn)維任務(wù)。

在實(shí)際應(yīng)用中,我們的系統(tǒng)在異常檢測(cè)方面有著優(yōu)異的表現(xiàn):

  • 支持多敏感度的調(diào)控,用戶可以根據(jù)需要調(diào)整異常檢測(cè)的敏感度,以求告警更少或更精準(zhǔn)。
  • 支持在線實(shí)時(shí)的反饋調(diào)優(yōu)機(jī)制,用戶可以通過打標(biāo)告訴我們單子是否已經(jīng)恢復(fù),是否是誤報(bào)或者是精準(zhǔn)的,從而實(shí)時(shí)調(diào)整正常指標(biāo)的波動(dòng)區(qū)間。
  • 支持無監(jiān)督的增量指標(biāo)接入,能夠快速接入并實(shí)時(shí)進(jìn)行檢測(cè)。
  • 系統(tǒng)支持全生命周期的監(jiān)控,并能夠毫秒級(jí)地處理,滿足業(yè)務(wù)性能要求。

2. 多指標(biāo)異常檢測(cè)

圖片

接下來介紹多指標(biāo)異常檢測(cè)的應(yīng)用。在業(yè)務(wù)中,面對(duì)多個(gè)服務(wù)器每天產(chǎn)生大量的指標(biāo)數(shù)據(jù),業(yè)務(wù)方通常關(guān)心如何對(duì)每臺(tái)服務(wù)器進(jìn)行綜合評(píng)分,以判斷其是否異常。如圖中,縱軸表示不同的服務(wù)器,每層代表一個(gè)服務(wù)器,橫軸表示時(shí)間。隨著時(shí)間的推移,每臺(tái)服務(wù)器都會(huì)產(chǎn)生多個(gè)指標(biāo)的數(shù)據(jù)值。

圖片

我們把這個(gè)問題定義一下:

  • X^j:第 j 個(gè)服務(wù)器的時(shí)間序列數(shù)據(jù)矩陣。
  • X ?_k^j:第 j 個(gè)服務(wù)器的第 k 個(gè)指標(biāo)時(shí)序數(shù)據(jù)。
  • X ?_ki^j:第 j 個(gè)服務(wù)器的第 k 個(gè)指標(biāo) i 時(shí)刻取值。

上述由時(shí)間序列構(gòu)成的數(shù)據(jù)矩陣 X^j 能夠全面描述一臺(tái)服務(wù)器在每個(gè)時(shí)刻的狀態(tài)。那么問題就轉(zhuǎn)化成了:如果我們能夠表征出一個(gè)整體評(píng)分,即為每臺(tái)服務(wù)器 X^j 打一個(gè)分?jǐn)?shù),那么就能綜合反映出該服務(wù)器是否出現(xiàn)異常。

接下來將介紹三種方法:

  • VBEM 算法
  • AnoSVGD 算法
  • Autoformer 算法

圖片

VBEM 是基于變分推斷(Variational Inference)的期望最大化(Expectation-Maximization)算法。通過隱狀態(tài) q 分布來逼近真實(shí)后驗(yàn) p 的分布,結(jié)合 ELBO 證據(jù)下接的似然函數(shù)保證模型參數(shù)的收斂,整個(gè)過程是一個(gè)狀態(tài)轉(zhuǎn)移過程。如圖中,x_i 表示學(xué)習(xí)到的隱狀態(tài),m_0 和 P_0 是模型的初始參數(shù)(均值和斜方差)。最終要學(xué)到的參數(shù)是 A、C、Q、R、μ_1^x、Σ_1^x,分別對(duì)應(yīng)狀態(tài)轉(zhuǎn)移中的權(quán)重、均值和協(xié)方差的分布,其中 Σ_1^x 是協(xié)方差矩陣,包含方差信息和指標(biāo)之間的相關(guān)性,可以很好地表征多指標(biāo)的信息。

圖片

AnoSVGD 方法是我們?cè)?CIKM 2023 年會(huì)議上發(fā)表的一篇論文。其核心思想是通過映射變換,用已知數(shù)據(jù)的概率密度函數(shù)(Probability Density Function,PDF),多次迭代估計(jì)未知數(shù)據(jù)的概率密度函數(shù)(PDF)。通過觀察右側(cè)的圖可以看到,在多次迭代之后,模型能夠有效地表征未知數(shù)據(jù)的分布。每次迭代時(shí),基于前一次的結(jié)果,加上一個(gè)小的步長(zhǎng)和下降方向 θ,通過梯度下降找到最快的下降方向,從而進(jìn)行迭代。這樣,我們能夠快速地找到未知數(shù)據(jù)的分布,并在達(dá)到目標(biāo)后停止迭代。

圖片

Autoformer 算法的核心在于采用了時(shí)序分解的思想,類似于 Transformer 中的self-attention 機(jī)制:

  • Autoformer 通過 Auto-Correlation 獲取數(shù)據(jù)中的周期信息。
  • 有了周期信息,Autoformer 通過分解的方式將周期波形和趨勢(shì)提取出來。
  • 在 decoder 階段,通過多次迭代輸出預(yù)測(cè)值。這里計(jì)算 auto collaboration 時(shí)采用了與之前周期識(shí)別相一致的思想,即使用 FFT 和 ACF。

圖片

以上三種方法在完成訓(xùn)練之后,檢測(cè)階段分別需要處理的操作是:

  • VBEM 算法,通過訓(xùn)練隱狀態(tài)來生成下一個(gè)時(shí)刻的預(yù)測(cè)值,該預(yù)測(cè)值與真實(shí)值之間的差值滿足自由度為 k-1 的卡方分布。結(jié)合業(yè)務(wù)配置的異常敏感度,我們可以識(shí)別出哪些點(diǎn)屬于異常點(diǎn),即是否落在異常區(qū)域內(nèi)。這里的 k-1 的自由度相當(dāng)于是服務(wù)器上不同監(jiān)控指標(biāo)的數(shù)量。
  • AnoSVGD 算法,估計(jì)概率密度函數(shù)(PDF)后,結(jié)合業(yè)務(wù)敏感度來判斷哪些值位于低概率密度區(qū)域,從而進(jìn)行異常點(diǎn)識(shí)別。
  • Autoformer 算法,與 VBEM 方法類似,也關(guān)注預(yù)測(cè)值和真實(shí)值之間的差異,滿足自由度為 k-1 的卡方分布。在這個(gè)基礎(chǔ)上結(jié)合業(yè)務(wù)敏感度來識(shí)別異常點(diǎn)。

圖片

上述內(nèi)容為我們?cè)?CIKM 會(huì)議上發(fā)表的AnoSVGD 方法與其他方法例如 Autoformer、KDE 等方法在公開數(shù)據(jù)集上的對(duì)比結(jié)果,我們的 AnoSVGD 取得了非常出色的效果。

圖片

在多指標(biāo)異常檢測(cè)之后,仍然需要了解每個(gè)指標(biāo)對(duì)當(dāng)前異常的貢獻(xiàn)度,這就要結(jié)合之前提到的歸因診斷能力。例如,在一臺(tái)機(jī)器上發(fā)生了多個(gè)指標(biāo)的異常,發(fā)現(xiàn)平均響應(yīng)時(shí)間(RT)和失敗率是主要貢獻(xiàn)異常的核心指標(biāo)。通過歸因診斷,就可以得出結(jié)論:在請(qǐng)求量正常的情況下,平均響應(yīng)時(shí)間和失敗率上升,明顯屬于超時(shí)類異常。這種異常一般與部署發(fā)布版本更新相關(guān),因此建議 SRE(運(yùn)維同學(xué))執(zhí)行發(fā)布回滾操作。

在實(shí)際應(yīng)用中,我們已經(jīng)實(shí)現(xiàn)了一些常規(guī)操作的自動(dòng)執(zhí)行,例如回滾操作。一旦檢測(cè)到異常并關(guān)聯(lián)到歸因結(jié)論后,可以通過自動(dòng)化手段自動(dòng)回滾機(jī)器,恢復(fù)到正常狀態(tài)。

圖片

整體的異常檢測(cè)和歸因診斷的過程總結(jié)如下:

  • 模型訓(xùn)練、使用不同的算法模型進(jìn)行訓(xùn)練。
  • 最終進(jìn)行模型預(yù)測(cè),進(jìn)行異常點(diǎn)檢測(cè)。
  • 獲得檢測(cè)結(jié)果后,計(jì)算其貢獻(xiàn)度并進(jìn)行歸因診斷,找出導(dǎo)致異常的具體原因。

再次強(qiáng)調(diào),當(dāng)前我們的系統(tǒng):

  • 支持多敏感度調(diào)控
  • 支持在線實(shí)時(shí)調(diào)優(yōu),用戶可以實(shí)時(shí)反饋,在線實(shí)時(shí)進(jìn)行調(diào)優(yōu)
  • 支持無監(jiān)督增量指標(biāo)的快速接入
  • 支持多粒度的時(shí)間數(shù)據(jù),目前主要以分鐘級(jí)和小時(shí)級(jí)為主
  • 支持實(shí)時(shí)歸因診斷
  • 支持秒級(jí)性能要求

圖片

除了之前提到的內(nèi)容,異常檢測(cè)和歸因診斷不僅可以應(yīng)用于單個(gè)業(yè)務(wù)或機(jī)器的異常,還可以應(yīng)用于整個(gè)集群。我們可以通過歷史告警信息,挖掘告警之間的因果關(guān)系圖,并結(jié)合服務(wù)調(diào)用圖,當(dāng)某臺(tái)服務(wù)器發(fā)生告警時(shí),就可以通過異常檢測(cè)、歸因診斷和因果發(fā)現(xiàn)來分析整個(gè)服務(wù)器集群鏈路,快速定位整個(gè)服務(wù)集群中的問題鏈路,確定核心原因和根因。

三、問題與挑戰(zhàn)

圖片

最后,總結(jié)一下我們所面對(duì)的問題和挑戰(zhàn):

  • 在歸因診斷方面,存在辛普森悖論問題,即如何確保在對(duì)比時(shí)間區(qū)間內(nèi)我們所對(duì)比的人群是同質(zhì)的。如果人群不同質(zhì),那么我們得出的結(jié)論可能就失去了可信度。
  • 在異常檢測(cè)方面,在單指標(biāo)異常檢測(cè)中,可能會(huì)遇到頻幅泄露問題,導(dǎo)致趨勢(shì)周期的錯(cuò)誤識(shí)別和不準(zhǔn)確性。此外,無論是單指標(biāo)還是多指標(biāo),都面臨非平穩(wěn)時(shí)序的問題。當(dāng)時(shí)序的趨勢(shì)和周期不斷變化時(shí),我們需要思考如何解決這一問題。
責(zé)任編輯:姜華 來源: DataFunTalk
相關(guān)推薦

2018-05-17 16:01:00

螞蟻金服金融數(shù)字化轉(zhuǎn)型

2015-10-15 21:03:04

螞蟻金服

2020-11-10 09:30:48

分布式架構(gòu)系統(tǒng)

2016-08-31 10:55:30

螞蟻金服前端

2019-03-18 10:57:42

開源技術(shù) 軟件

2018-05-07 17:15:40

借貸寶

2020-10-15 12:29:49

禁令黑名單螞蟻金服

2015-10-22 13:15:22

Docker私有云技術(shù)棧

2017-10-16 13:55:53

大數(shù)據(jù)

2018-07-16 16:41:11

螞蟻金服金融科技科技開放

2019-05-17 16:13:25

機(jī)器學(xué)習(xí)SQLFlow螞蟻金服

2015-11-11 21:41:35

螞蟻金服雙11

2015-10-19 10:07:18

螞蟻金服上市

2019-10-06 23:57:08

OceanBase螞蟻金服TPC-C

2022-05-06 10:58:55

數(shù)據(jù)庫(kù)智能診斷

2023-11-09 07:17:51

數(shù)據(jù)指標(biāo)算法

2018-08-15 15:16:05

移動(dòng)App

2019-04-22 11:05:54

螞蟻金服面經(jīng)內(nèi)存

2015-10-16 15:58:37

支付寶刷臉馬云

2018-09-20 15:25:21

螞蟻金服支付寶
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)