# BALANCE: Bayesian Linear Attribution for Root Cause Localization > [!abstract] > 分散データシステムの根本原因分析(RCA)に、説明可能 AI(XAI)の帰属フレームワークを適用した論文。ベイズ多重共線性特徴選択(BMFS)・帰属分析・KPI 間マージの 3 コンポーネントからなる BALANCE を提案し、bad SQL 箇所特定・コンテナ障害箇所特定・Exathlon 障害型診断の 3 実タスクで最先端手法を 6% 以上上回る精度を達成。Ant Group と OceanBase の本番環境でデプロイ済み。 ## 論文情報 | 項目 | 内容 | |---|---| | 論文名 | BALANCE: Bayesian Linear Attribution for Root Cause Localization | | 著者 | Chaoyu Chen・Hang Yu・Zhichao Lei・[[Jianguo Li]]・Shaokang Ren・Tingkai Zhang・Silin Hu・Jianchao Wang([[Ant Group]])、Wenhui Shi([[OceanBase]]) | | 掲載誌 | Proc. ACM Manag. Data (PACMMOD) Vol.1, No.1, Article 95 (May 2023) | | DOI | https://doi.org/10.1145/3588949 | | コード | https://github.com/ant-research/BayesianLinearAttributionForRootCauseLocalization_BALANCE | | ファイル slug | `2026_Unknown_BALANCE_Bayesian_Linear_Attribution_Root` | ## 概要 既存の RCA は「多次元箇所特定(Adtributor・Hotspot・HALO)」か「グラフベース因果推論(PC アルゴリズム + ランダムウォーク)」の 2 系統に収まっていた。前者は加法的 KPI という強い仮定が必要で、後者は因果グラフ構築コストが高く・標本数が少ない障害時刻には不安定である。 本論文は RCA を**帰属問題(attribution problem)**として再定式化する。XAI の帰属スコアは「モデルの予測を各入力特徴にどれだけ帰属できるか」を数値化するが、同じ枠組みを「alarmed KPI の異常を候補根本原因にどれだけ帰属できるか」に転用する。 ![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig01_balance_framework.png]] BALANCE の全体フレームワーク(図 1)。データ収集→対象 KPI の異常検知→候補の異常検知(任意)→BMFS 順伝播→帰属分析逆伝播→マージ→回復判断器 の流れ。 ## 問題設定 6 つの設計要件(desiderata d1〜d6)を定義: - **d1**: 異常時刻周辺の短い時系列のため、観測数 n が小さい - **d2**: 候補数 p が大きく変動し p > n のケースが頻繁に発生する(bad SQL: n=61, p=数千) - **d3**: 相関する複数の根本原因を同時に出力すること - **d4**: 欠損値に対処すること - **d5**: 効率性(実時間 RCA の要件) - **d6**: 出力が解釈可能で、スコアでランク付けできること 多次元 RCA は「加法 KPI ≡ 属性値の和」という仮定が外れると破綻する。グラフベース手法は因果グラフ構築コストが高く・PC アルゴリズムは短時系列で信頼性が低い。BALANCE はこれらを**スパース線形帰属モデル**で回避する。 ## 提案手法 ### コンポーネント 1: BMFS(ベイズ多重共線性特徴選択) 順伝播モデル `y = Xβ + ε` のスパース推定。3 問題を同時に解く。 **多重共線性への対処**: g-prior `p(β|g,σ²,X) = N(0, gσ²(X^T X)^{-1})` は特徴間の経験的相関行列 X^T X を事前分布に組み込み、Lasso が「多重共線特徴のうち 1 つしか選べない」問題を解決する。 **スパース性への対処**: ホースシュー事前分布(half-Cauchy の混合スケール正規分布)は 0 と大きい非ゼロ値の密度が高く、Student-T や Laplace より未知スパース性に頑強。 **BMFS**: 上記 2 つを統合した**相関ホースシュー事前分布**(`p(β|γ,λ,X)`)を提案。変分推論(平均場近似 + 自然勾配降下)で事後分布を効率的に推定し、チューニングパラメータをデータからオンラインで学習する(グリッドサーチ不要)。 欠損値はベイズ推定で補完(点推定の平均代入より精度良好)。ソフト閾値処理で係数をゼロ/非ゼロに分類(GMM で U 字分布の谷を自動検出)。 ![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig03_bmfs_graph.png]] BMFS のグラフィカルモデル表現。N は繰り返し回数。 ### コンポーネント 2: 帰属分析(逆伝播) 線形モデルでは帰属スコア計算が大幅に簡略化される。Shapley 値の全公理(完全性・ヌルプレーヤー・対称性・線形性・連続性)が自動的に満たされる([2] Ancona+ ICML 2019)。 3 種類の帰属スコアを定義: 1. **感度(sensitivity)**: `r_j = |⟨β_j⟩|`(係数の絶対値) 2. **顕著性(salience)**: `r_j = |⟨β_j⟩ x_j|`(係数 × 特徴値) 3. **差分帰属(最終採用)**: `r_j = ⟨β_j⟩Δx_j / Δy` 差分帰属は正常期間の平均からの偏差 Δx_j を用い、異常の寄与度を測る。y のスケールで正規化するためスケール不変。 ### コンポーネント 3: マージ(交差・和集合) 複数 KPI が alarmed の場合、各 KPI に対して帰属スコアを計算した後、上位 κ を選択し **交差(intersection)** または **和集合(union)** で統合。交差は「全 KPI に影響する根本原因」、和集合は「少なくとも 1 KPI に影響する根本原因」。 ## 新規性 - RCA を帰属問題として定式化した最初期の研究(XAI 帰属メソッドを SRE ドメインに適用) - 多重共線性・大次元小標本(p >> n)・欠損値を同時に扱う BMFS の設計 - 帰属スコアが Shapley 値の公理を満たすことの証明(線形モデル選択の理論的根拠) - チューニングパラメータを変分推論でデータから学習することによる実用的な効率性 ## 実験設定 **合成データ**: n=100, p=20〜1000, 多重共線性 3 段階(absent/partial/perfect), ノイズ, スパース比, 欠損値比を変化させ 100 試行平均。比較手法: Lasso / E-Net(Elastic Net) / ARD。 **実タスク 3 種**: 1. **bad SQL 箇所特定**(OceanBase の SQL 診断プラットフォーム): n=61, p=数百〜数千, 欠損最大 50%, 90 サンプル 2. **コンテナ障害箇所特定**(Ant Group の障害診断プラットフォーム): n=30, p=10 (p < n), 100 サンプル 3. **Exathlon 障害型診断**: Spark 10 アプリの 5 障害種別, n=66, p≈150, 73 ケース ## 実験結果 ### 合成データ ![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig05_f1_score_dimension.png]] - 多重共線性がない場合: ARD と BMFS が Lasso/E-Net を大幅に上回る - 多重共線性がある場合: BMFS が ARD も上回る(g-prior の効果) - p=1000 まで F1 スコアが 0.97+ を維持(Lasso は 0.29 まで低下) - 実行時間は BMFS が他と同等以下 ### bad SQL 箇所特定 ![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig06_bad_sql_and_table6.png]] | 手法 | 精度 | 実行時間(秒) | |---|---|---| | ARD | 75.6% | 1.92 | | Lasso | 71.1% | 3.15 | | E-Net | 72.2% | 2.95 | | fsMTS | 54.4% | 12.0 | | **BMFS** | **83.3%** | **1.78** | 本番デプロイ後: 精度 95%。SRE 手動診断(平均 3 分)に対し平均 1.78 秒。 ### コンテナ障害箇所特定 ![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig07_container_fault.png]] | 手法 | 再現率 | 適合率 | F1 | 時間(秒) | |---|---|---|---|---| | ARD | 0.478 | 0.988 | 0.627 | 0.354 | | Lasso | 0.508 | 0.522 | 0.471 | 0.496 | | E-Net | 0.735 | 0.552 | 0.593 | 0.458 | | fsMTS | 0.483 | 0.524 | 0.466 | 0.701 | | **BMFS** | **0.818** | **0.914** | **0.857** | **0.152** | BMFS の F1 は第 2 位 ARD を 20% 以上上回る。相関する CPU メトリクス(cpu_util/cpu_sys/cpu_user)に対して BMFS は類似帰属スコアを割り当てる(連続性公理の充足)が、他手法は不安定。 ### Exathlon 障害型診断 | 手法 | 精度 | 実行時間(秒) | |---|---|---| | ARD | 73.97% | 1.29 | | Lasso | 69.86% | 1.58 | | E-Net | 67.12% | 1.67 | | fsMTS | 49.32% | 44.5 | | **BMFS** | **79.45%** | **1.60** | ## 考察 **p > n の問題**: Lasso は p > n で最大 n 個の特徴しか選択できない制約(ℓ1 ノルムの性質)があり、多重共線特徴では 1 つしか選ばない。BMFS は g-prior で多重共線特徴を同等に選択し、d6(出力の解釈可能性)を満たす。 **ベイズ vs 頻度主義**: BMFS と ARD はチューニングパラメータを変分推論で学習するため、Lasso/E-Net のグリッドサーチより速い。大次元でも性能が安定する。 **線形モデルの選択理由**: ニューラルネット(LIME/SHAP)は p>>n/少標本で訓練不可。さらに描写精度(descriptive accuracy)の最小化が目的であり、NN では局所線形近似の誤差が入る。線形モデルで描写誤差をゼロにしつつ Shapley 値の公理を厳密に満たす。 **異種 KPI と候補の組み合わせ**: コンテナ事例では y(trace failures)と X(CPU/メモリ/TCP)が異種だが、異常時には「スパイク」や「急増」という共通の波形パターンが現れるため線形近似が有効。 ## 強み - グラフ構造不要・計装不要で汎用的に適用可能 - 大規模本番システム(OceanBase・Ant Group のコンテナ基盤)でデプロイ済み - 実行速度が速い(SRE の 3 分診断を 1.78 秒に短縮、本番 95% 精度) - p > n かつ多重共線かつ欠損データの3条件を同時に処理 ## 弱点・課題 - 線形モデルのため、KPI と候補間の関係が非線形の場合は精度が落ちる可能性(著者も言及) - 将来の拡張候補として一般化線形モデルや非線形 forward モデルを挙げる - グラフベース手法との関係の統一的な理論化は今後の課題 - 評価が Ant Group/OceanBase の内部データに偏っており、公開ベンチマーク(Exathlon のみ)が少ない ## 関連 - [[根本原因分析]] — RCA の地図ページ。BALANCE は帰属分析を RCA に適用した最初期研究として位置づけ - [[帰属手法]] — SHAP・Integrated Gradients・LRP 等との比較。線形モデルでの統一 - [[Fault Localization]] — bad SQL/コンテナ箇所特定での具体的応用 - [[データベース自律診断]] — OceanBase/Ant Group の本番 DB 診断への展開 - [[説明可能RCA]] — XAI フレームワークを RCA に転用する研究系統 - [[Jianguo Li]] / [[Ant Group]] / [[OceanBase]] / [[Chaoyu Chen]] ## 出典 - Chen et al. (2023). BALANCE: Bayesian Linear Attribution for Root Cause Localization. *Proc. ACM Manag. Data*, Vol.1, No.1, Article 95. https://doi.org/10.1145/3588949