Model Monitoring
Real-time tracking of model performance and health.
Monitoring Dashboard
flowchart TD
A[Model API] --> B[Metrics Collector]
B --> C[Real-time Dashboard]
B --> D[Alert System]
C --> E[Performance View]
C --> F[Drift Detection]
C --> G[Usage Stats]
style C fill:#e8eaf6
Key Metrics
| Metric |
Current |
Target |
Status |
| Accuracy |
87% |
>85% |
✅ |
| Latency P99 |
150ms |
<200ms |
✅ |
| Error Rate |
0.5% |
<1% |
✅ |
| Drift Score |
0.02 |
<0.05 |
✅ |
Data Flow
sequenceDiagram
participant R as Request
participant M as Model
participant C as Collector
participant D as Dashboard
R->>M: Prediction request
M->>M: Generate prediction
M-->>R: Response + metrics
M->>C: Log metrics
C->>D: Update dashboard
Drift Detection
flowchart TD
A[Production Data] --> B[Compare Distribution]
B --> C{Drift Detected?}
C -->|No| D[Continue Monitoring]
C -->|Yes| E[Alert]
E --> F{Threshold Exceeded?}
F -->|Yes| G[Auto-Retrain]
F -->|No| H[Human Review]
style G fill:#c8e6c9
style H fill:#fff3e0
Types of Drift
| Type |
Description |
Detection |
| Data Drift |
Input distribution changes |
PSI, KL divergence |
| Concept Drift |
Target relationship changes |
Performance drop |
| Model Drift |
Model quality degrades |
Accuracy decline |
Alert Configuration
alerts:
data_drift:
metric: psi_score
threshold: 0.1
action: notify
performance_drop:
metric: accuracy
threshold: 0.05
action: page_team
latency_spike:
metric: p99_latency
threshold: 500ms
action: page_team
Monitoring Code
import prometheus_client
accuracy = prometheus_client.Gauge('model_accuracy')
latency = prometheus_client.Histogram('model_latency')
def predict(input_data):
start = time.time()
result = model.predict(input_data)
latency.observe(time.time() - start)
accuracy.set(calculate_accuracy(result))
return result
Dashboard Components
graph TD
A[Monitoring Dashboard] --> B[Real-time]
A --> C[Historical]
A --> D[Alerts]
B --> B1[Live predictions]
B --> B2[Current metrics]
C --> C1[7-day trend]
C --> C2[Weekly comparison]
D --> D1[Active alerts]
D --> D2[Alert history]
Next Steps