Graph attention networks for root-cause analysis
A multi-head GATv2 model that groups concurrent network alarms into incidents and ranks their root causes. Built at Jio Platforms; the code and data are proprietary, so this page covers the architecture and results only.
Problem
- Concurrent faults raise alarms across many access nodes at once; operators need the affected nodes, the likely root causes with fault types, and which alarms belong to which incident.
Approach
- One multi-head GATv2 in PyTorch Geometric jointly predicts affected access nodes, root-cause node and link candidates with fault types, and a pairwise leaf-to-cause assignment that groups alarms into distinct incidents.
- A deterministic, topology-agnostic RCA simulator (fault injection, BFS reachability oracle, device-type alarm rules, causal-dominance ranking) generates labelled multi-incident training data against a fixed ground-truth contract.
- A shared 28-dim node / 11-dim edge featurizer is used in both training and inference, enforced by structural tests.
Tradeoffs
- The simulator only generates training data. At prediction time inference is a pure model path, so no simulator or BFS call is left to cause train/serve skew.
- Per-head thresholds are calibrated on a held-out split rather than one global cut-off.
Evaluation
- Evaluated across 180 scenarios spanning 19 corner-case fault categories.
- Exposed through a CLI and a Flask dashboard that return ranked root causes with confidence scores and a plain-English explanation, so operators can act without reading model internals.
Stack
- Python
- PyTorch
- PyTorch Geometric
- GATv2
- Flask
- REST
Links
Built at Jio Platforms (Jan โ Jul 2026). Under NDA: no code, data or proprietary detail.