# 介入的因果学習 ## 定義 介入的因果学習(Interventional Causal Learning)は、観測データのみに依存する手法(観測的因果学習)とは異なり、**障害注入(fault injection)という形の意図的な介入**によってシステムの因果関係を学習するアプローチである。障害を注入した際のマイクロサービスの挙動変化を監視データ(ログ・メトリクス)で測定し、因果的に影響を受けるサービスを特定することで、障害箇所特定(fault localization)に用いる因果集合を構築する。観測的手法が「すでに起きた障害の履歴データ」に依存するのに対し、介入的手法は「制御された実験」として因果関係を直接測定できる点が特徴である。(Source: [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]]) **理論的背景**: Pearl の Causal Hierarchy(因果の梯子)において、観測的因果学習は L1(連合)に留まるのに対し、介入的因果学習は L2(介入)に位置する。介入データからのみ学習可能な因果関係の同定が理論的に保証されている状況下では、介入的因果学習は観測的手法よりも強い収束保証を持つ。 **マイクロサービスへの適用**: 各マイクロサービスに順番に障害を注入し、各メトリクスに対して「障害注入時」と「正常時」の分布を KS(Kolmogorov-Smirnov)検定で比較。分布シフトが観測されたサービスを「因果的に影響を受けたサービス」として因果集合 $C(s, M)$ に登録する。 $C(s, M) = \{s' \in S \mid D_s(M, s') \not\sim D_0(M, s')\}$ ## 実世界での限定前提と課題 Jha et al. (DSN-S 2024) は、介入的因果学習を実際のクラウドネイティブアプリケーションに適用する際に成立しない 3 つの前提を特定した。 ### 前提 A: 障害伝播グラフはメトリクス不変(Metric Invariance) **前提**: 誤り伝播グラフはアプリケーションロジック(コード)のみに依存する **現実**: 観測するメトリクスの種類によって推定される因果グラフが異なる 同じアプリケーションでも「エラーログ数」では応答経路のみが見え、「API リクエスト数」ではオミッション障害の経路が見える。複数の「因果的世界」が存在し、単一の因果グラフを仮定する手法(Ψ-FCI 等)は正しい因果構造を捉えられない。 ### 前提 B: メトリクス充足性(Metric Sufficiency) **前提**: 適切な 1 つのメトリクス、または全メトリクスの結合分布を使えば十分 **現実**: 単一メトリクスは特定の伝播経路しか見えない。全メトリクスの結合分布は識別可能性を損なう 全メトリクスを同時に使うと、どのサービスが障害元かに関わらず観測されるサービス集合が同一になり、異なる障害を区別できなくなる。 ### 前提 C: 介入は負荷分布を変化させない(Load Invariance) **前提**: 外部負荷を固定すれば、障害注入が負荷分布に影響しない **現実**: 障害注入自体が負荷の定常状態分布を変化させる 例: あるサービスに障害が起きると、そのサービスへのリクエストが即座に返り、上流の待ち行列が速く処理されるため、他のサービスへのリクエスト数が変化する。これが交絡変数(confounder)として偽の因果エッジを生む。 ## 対処方法(Jha et al. の提案) ### 派生メトリクスによる交絡除去 生メトリクスを「独立メトリクス」(外部要因に支配されるもの、例: 受信リクエスト数)と「依存メトリクス」(独立メトリクスに影響されるもの、例: CPU 使用率)に分類し、**派生メトリクス = 依存 ÷ 独立**を計算することで負荷変化の影響を除去する。 ### 多数決ヒューリスティック 1 つの因果グラフを学習するのではなく、メトリクスごとに独立した因果集合を構築し、多数決で根本原因を選ぶ。これによりメトリクス依存性(前提 A の破れ)に対処する。 ## 横断的知見 - **介入的因果学習は「観測的手法の限界」への直接的回答だが、実装上の前提が実世界で破れる**: 観測・履歴データのみに依存する手法が「未知の障害に弱い」「負荷・環境変化に敏感」であるのに対し、介入的手法は制御された実験として因果関係を直接測定できるという優位性がある。しかし Jha et al. (DSN-S 2024) が示すように、(1) メトリクスによって因果グラフが変わる、(2) 単一メトリクスでも全メトリクスでも不十分、(3) 介入自体が交絡変数を生む、という 3 重の実装困難がある。理論的な優位性と実用的な困難性の両方を把握することが適用の前提。(Source: [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]]) - **「障害注入という物理的介入」と「統計的介入認識」は同じ Pearl の介入概念から派生するが、マイクロサービス RCA では異なる実装アプローチに分岐した**: Jha et al. (DSN-S 2024) の介入的因果学習は**実際に障害を注入する**という物理的な介入によって因果グラフを学習するのに対し、[[LatentScope]](Xie et al., KDD 2024) の RLIR は**障害を介入の数学的モデルとして扱い**、構造因果グラフ上の残差回帰で潜在 RCC 変数に対する「介入の影響」を推定する。前者は因果グラフの学習フェーズに介入を使い、後者は推論フェーズで介入の効果を定量化する。両者に共通するのは「障害 = システムへの介入」というモデル化だが、実施タイミング・目的・計算手段が根本的に異なる。特に LatentScope は観測不可能な RCC を潜在変数として扱うことで、Jha et al. が指摘した「メトリクス不変性の破れ」問題を別の経路で回避する(多対多 RCC-メトリクスリンクにより単一メトリクスへの依存を排除)。(Source: [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]], [[@2024__KDD__Microservice Root Cause Analysis with Limited Observability]]) - **「単一の因果グラフ」を仮定するアルゴリズムはマイクロサービスに適用できない**: Jha et al. は Ψ-FCI アルゴリズムを例示し、「単一の因果グラフが全ノード間の関係を決定する」という前提がマイクロサービスでは成立しないことを具体的な CausalBench の例で示した。msg rate での B への介入は {B, A, E} を因果集合に、CPU での同じ介入は {B, C, E} を因果集合に含め、両者は異なる。これは [[因果推論ベースRCA]] の「辺方向推定がボトルネック」という知見を補完し、「グラフの形自体がメトリクスに依存する」という別次元の困難を示す。(Source: [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]]) - **負荷変化をまたいだ評価が介入的因果学習の重要な評価軸**: 先行研究 [Wang+ AAAI 2022] および [Ikram+ NeurIPS 2022 = RCD] は負荷変化(1×→4×)をまたいだ評価を実施していなかった。Jha et al. は 1× 負荷で学習し 4× 負荷でテストするクロス負荷評価を実施し、正解率が CausalBench で 1.00→0.84、Robot-Shop で 1.00→0.81 へ低下することを確認した。交絡・相関除去手法の不完全さが負荷増加時に顕在化するという評価設計は、[[RCA評価設計]] との接続点となる。(Source: [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]]) ## 未解決の問い - 4× 負荷での正解率低下(CausalBench 1.00→0.84)は派生メトリクスによる交絡除去が不完全なことを示す。さらに高い負荷比(8×、16×)では正解率はどこまで劣化するか。 - 障害注入を 1 件ずつ順番に行うことが前提だが、本番環境では複数の同時障害(simultaneous faults)が起きうる。複数同時障害に対して介入的因果学習はどう拡張できるか。 - メトリクスによって因果集合が異なる問題に対し、多数決ヒューリスティック以外にメトリクス間の不一致を解消するアプローチ(例: ベイズ統合、メタ学習)は可能か。 - CausalBench と Robot-Shop での評価では障害種別が "http-service-unavailable" 一種類に限定されている。他の障害種別(レイテンシ注入・リソース競合等)でも派生メトリクスと多数決が有効か。 - 事前に全マイクロサービスへの障害注入実験が必要なため、新規サービスや高頻度の変更時に再学習コストが発生する。オンライン学習や増分的な更新はどう設計するか。 - Ψ-FCI のような「単一因果グラフ仮定」のアルゴリズムをメトリクス依存性に対応させる拡張(メトリクス別グラフの統合フレームワーク)は可能か。 ## 関連 - [[因果推論ベースRCA]] — 介入的因果学習は因果推論 RCA の一アプローチ。本概念はその介入実験的な手法に特化する - [[因果発見]] — 因果発見の理論的基盤(PC・FCI・Ψ-FCI 等)が本概念の前提アルゴリズム群を形成する - [[Fault Localization]] — 障害箇所特定の上位概念。介入的因果学習はその手法の一つ - [[障害注入]] — 介入的因果学習の「介入」手段として障害注入を用いる。両概念は密接に連携する - [[CausalBench]] — 介入的因果学習の課題を表面化させるベンチマーク(Jha et al. が開発) - [[LatentScope]] — 「統計的介入認識」を潜在空間に拡張したシステム。物理的障害注入とは異なる介入概念の実装 - 関連ソース: [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]] / [[@2024__KDD__Microservice Root Cause Analysis with Limited Observability]] ## 出典 - [[@2024__DSN-S__Fault Localization Using Interventional Causal Learning for Cloud-Native Applications]](Jha, Rios, Abe, Bagehorn, Shwartz — IBM Research, DSN-S 2024. 介入的因果学習の 3 前提特定・CausalBench・派生メトリクス + 多数決による方法論) - [[@2024__KDD__Microservice Root Cause Analysis with Limited Observability]](Xie et al. — 清華大学 / eBay, KDD 2024. RLIR による統計的介入認識の潜在空間拡張・デュアル空間グラフ)