Domino Model Monitoring

作者 dominodatalabd86698d74d56无许可证7 个星标收录于 2026年10月8日更新于 2026年10月8日仓库2天前更新

Monitor deployed models in Domino including drift detection, model quality tracking, and alerting. Covers data drift analysis, prediction capture, baseline comparison, alert configuration, and remediation workflows. Use when monitoring production models, detecting drift, or setting up model health alerts.

AI 生成的概览

指导监控 Domino 中已部署的模型:漂移检测、预测捕获、质量跟踪与告警。

功能
该技能提供在已部署的 Domino 模型 API 上设置和使用 Domino 模型监控的说明。内容涵盖上传训练数据作为基线、配置漂移检测测试与阈值、捕获预测、结合真实标签跟踪质量指标以及配置告警。它还说明了应对漂移的调查与重新训练流程,以及故障排查和最佳实践。
适用场景
适用于在 Domino 中监控生产模型、设置漂移检测、配置模型健康告警或诊断模型退化时。适合需要基线对比、预测捕获或质量指标跟踪指导的用户。
运行要求
需要 Domino 中已部署的模型 API、用于基线的训练数据集,以及可选的 ground truth 数据。部分示例涉及 pandas、scikit-learn、joblib 和 Domino Python 客户端等 Python 包,并需要访问 Domino 的 artifact 与数据集路径。该技能不附带脚本,仅为说明文档。

Domino Model Monitoring Skill

Description

This skill helps users monitor deployed models in Domino, including drift detection, model quality tracking, and alerting.

Activation

Activate this skill when users want to:

  • Monitor deployed model performance
  • Set up drift detection
  • Configure monitoring alerts
  • Analyze prediction data
  • Understand model degradation

What is Model Monitoring?

Domino Model Monitoring provides:

  • Data Drift Detection: Detect changes in input data distributions
  • Model Quality Tracking: Monitor prediction accuracy over time
  • Alerting: Get notified when metrics exceed thresholds
  • Prediction Capture: Log predictions for analysis
  • Reproducibility: Diagnose issues with captured data

Setting Up Monitoring

Prerequisites

  1. Deployed Model API in Domino
  2. Training dataset (for baseline)
  3. Ground truth data (optional, for quality metrics)

Enable Monitoring

  1. Go to your Model API page
  2. Click Monitoring tab
  3. Click Set Up Monitoring
  4. Upload training dataset
  5. Configure drift detection settings

Register Training Data

python
# Training data provides baseline for drift detection# Upload via UI or programmatically
import pandas as pd
# Your training datatrain_df = pd.read_csv("training_data.csv")
# Save for monitoring setuptrain_df.to_csv("/mnt/artifacts/training_data.csv", index=False)

Drift Detection

Types of Drift

Drift TypeDescription
Data DriftInput feature distributions change
Concept DriftRelationship between inputs and outputs changes
Prediction DriftOutput distribution changes

Statistical Tests

Domino supports multiple drift detection tests:

TestBest For
Kullback-Leibler DivergenceGeneral-purpose, most common
Population Stability Index (PSI)Finance industry standard
Wasserstein DistanceComparing distributions
Energy DistanceMultivariate distributions

Configure Drift Detection

  1. Go to Model API > Monitoring
  2. Click Configure Drift Detection
  3. For each feature:
    • Select test type
    • Set threshold
    • Enable/disable alerts

Example Thresholds

TestLow DriftMedium DriftHigh Drift
KL Divergence< 0.10.1 - 0.2> 0.2
PSI< 0.10.1 - 0.25> 0.25

Prediction Capture

How It Works

Domino automatically captures predictions:

  1. Model receives request
  2. Prediction is made
  3. Input/output logged to dataset
  4. Data available for drift analysis

Access Captured Data

python
import pandas as pd
# Predictions captured in Domino Datasetpredictions_df = pd.read_parquet(    "/mnt/data/model-predictions/predictions.parquet")
print(predictions_df.head())

Capture Frequency

  • Predictions batched hourly
  • Full data available in monitoring dataset
  • Retention configurable by admin

Model Quality Monitoring

With Ground Truth

If you provide ground truth labels:

python
# Upload ground truthground_truth = pd.DataFrame({    "prediction_id": [...],    "actual_label": [...]})
# Upload to monitoringground_truth.to_csv("/mnt/artifacts/ground_truth.csv", index=False)

Quality Metrics

  • Accuracy
  • Precision/Recall
  • F1 Score
  • AUC-ROC
  • Mean Squared Error (regression)

Schedule Quality Checks

  1. Go to Monitoring > Quality
  2. Upload ground truth dataset
  3. Configure metric thresholds
  4. Set check frequency

Alerting

Configure Alerts

  1. Go to Model API > Monitoring
  2. Click Alerts
  3. Configure:
    • Metric to monitor
    • Threshold
    • Alert recipients (email)

Alert Types

  • Drift threshold exceeded
  • Quality metric below threshold
  • Model API health issues
  • Prediction volume anomalies

Disable Noisy Alerts

Click the bell icon next to features to exclude from alerts.

Viewing Monitoring Data

Monitoring Dashboard

Go to Model API > Monitoring to see:

  • Drift trends over time
  • Feature distributions
  • Quality metrics
  • Alert history

Export Data

python
# Export monitoring data for custom analysisimport pandas as pd
drift_report = pd.read_csv("/mnt/data/monitoring/drift_report.csv")print(drift_report)

Responding to Drift

Investigation Workflow

  1. Alert received: Drift detected on feature X
  2. Investigate: View feature distribution changes
  3. Diagnose: Compare current vs training data
  4. Action: Retrain or update model

Retrain Model

python
# When drift is detected, retrain with recent datafrom sklearn.ensemble import RandomForestClassifier
# Load recent datarecent_data = pd.read_csv("/mnt/data/recent_predictions.csv")
# Combine with ground truthtraining_data = merge_with_ground_truth(recent_data)
# Retrainmodel = RandomForestClassifier()model.fit(training_data[features], training_data[label])
# Deploy new versionjoblib.dump(model, "/mnt/artifacts/model_v2.joblib")

Automated Retraining

Set up scheduled job to retrain when drift detected:

python
# scheduled_retrain.pyfrom domino import Domino
domino = Domino("project/model-project")
# Check drift statusdrift_status = check_drift_metrics()
if drift_status["max_drift"] > 0.2:    # Trigger retrain job    domino.runs_start(        command="python retrain.py",        hardware_tier_name="medium"    )

Best Practices

1. Baseline with Quality Data

Use clean, representative training data for baseline.

2. Monitor Key Features

Focus on features with highest importance:

python
# Identify important featuresimportances = model.feature_importances_top_features = sorted(    zip(feature_names, importances),    key=lambda x: x[1],    reverse=True)[:10]

3. Set Appropriate Thresholds

  • Start with conservative thresholds
  • Adjust based on business impact
  • Different thresholds for different features

4. Include Business Context

Not all drift requires action:

  • Seasonal variations may be expected
  • New customer segments may cause drift
  • Consider business impact before reacting

5. Regular Reviews

Schedule periodic monitoring reviews:

  • Weekly: Check drift trends
  • Monthly: Review alert configurations
  • Quarterly: Assess model performance

Troubleshooting

No Data in Monitoring

  • Verify Model API is receiving traffic
  • Check prediction capture is enabled
  • Wait for hourly batch processing

Drift Always High

  • Review training data quality
  • Check for data preprocessing differences
  • Verify feature encoding consistency

Alerts Not Sending

  • Check email configuration
  • Verify alert thresholds
  • Review spam folders

Documentation Reference

来源与署名

来源:dominodatalab/domino-claude-plugin位于skills/model-monitoring提交d86698d

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架