MCP HubMCP Hub
Вернуться к навыкам

monitor-model-drift

pjt222
Обновлено 2 days ago
15 просмотров
17
2
17
Посмотреть на GitHub
Тестированиеaitestingautomationdesigndata

О программе

Этот навык реализует автоматизированный мониторинг дрейфа моделей с использованием Evidently AI и статистических тестов (PSI, KS) для обнаружения данных и концептуального дрейфа в промышленных ML-системах. Он настраивает рабочие процессы оповещений для раннего выявления деградации производительности, вызванной необъяснимым ухудшением модели, сдвигами в распределении данных или сезонными изменениями. Используйте его, когда вам необходимо проактивно отслеживать работоспособность модели и соответствовать регуляторным требованиям мониторинга.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/monitor-model-drift

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация

察模型偏移

詳例見 Extended Examples

以 Evidently AI、統計試(PSI、KS)、與自定度量察生產 ML 模型之數據偏與概念偏,並警之。

用時

  • 生產 ML 模型現不明性能退化乃用
  • 新數據分布異於訓練數據乃用
  • 入特之季節或時域變化乃用
  • 業務度量受影前先警乃用
  • 監管要求模型察(如 SR 11-7、EU AI Act)乃用
  • 多模型版本部署,須偏移較乃用

  • 必要:生產模型預測與特(近 30-90 日)
  • 必要:參照數據集(訓練或驗證集)
  • 必要:真值標(或滯後)
  • 可選:特要性分或 SHAP 值
  • 可選:警業務度量閾
  • 可選:歷史偏移報以察趨勢

第一步:裝並設 Evidently AI

設察框架及相應依賴。

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install Evidently and dependencies
pip install evidently pandas scikit-learn prometheus-client

# Create monitoring directory structure
mkdir -p monitoring/{reports,config,alerts}

建配置文件:

# monitoring/config/drift_config.py
from evidently.metric_preset import DataDriftPreset, TargetDriftPreset
from evidently.metrics import (
    DatasetDriftMetric,
    DatasetMissingValuesMetric,
    ColumnDriftMetric,
)

# ... (see EXAMPLES.md for complete implementation)

得: 配置文件已建,閾合模型容差。

敗則: 始以保守閾(PSI > 0.2,KS p-value < 0.01),依假陽率調之。

第二步:行數據偏察

建偏察管道,含多統計試。

# monitoring/drift_detector.py
import pandas as pd
import numpy as np
from scipy.stats import ks_2samp, chi2_contingency
from evidently.report import Report
from evidently.metric_preset import DataDriftPreset
from evidently.metrics import ColumnDriftMetric, DatasetDriftMetric
from datetime import datetime, timedelta
# ... (see EXAMPLES.md for complete implementation)

得: 偏察成行,生 JSON 報含每特統計,識偏移之特。

敗則: 察缺值(補或刪),確保參照與當前數據同列、類同。

第三步:生 Evidently 報

建可視 HTML 報供人察與調試。

# monitoring/generate_reports.py
from evidently.report import Report
from evidently.metric_preset import DataDriftPreset, TargetDriftPreset
from evidently.metrics import (
    ColumnDriftMetric,
    DatasetDriftMetric,
    DatasetMissingValuesMetric,
)
# ... (see EXAMPLES.md for complete implementation)

得: HTML 報生於 monitoring/reports/,瀏覽器可觀,互動圖示分布較。

敗則: 驗輸出目錄寫權,察 Evidently 版本 >= 0.4.0,確保數據幀有足夠行(建議 >100)。

第四步:行概念偏察

察預測性能以見概念偏(特與目之關係變)。

# monitoring/concept_drift.py
import pandas as pd
import numpy as np
from sklearn.metrics import roc_auc_score, mean_squared_error, accuracy_score
from typing import Dict, List
import json


# ... (see EXAMPLES.md for complete implementation)

得: 性能察測模型準/AUC 落於閾下時,示概念偏可能。

敗則: 確保真值標可得(或須延後驗證批處),驗預測分校(分類為 0-1),察特中標泄。

第五步:設自動警

合偏察與警系(Slack、PagerDuty、郵)。

# monitoring/alerting.py
import requests
import json
from typing import Dict, List
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)

得: 偏移察測時,警送至 Slack/PagerDuty,嚴依偏分與要害特而定。

敗則: 先以 curl 試 webhook URL,驗 PagerDuty 整合鍵權限,察出口 HTTPS 防火牆規,加重試以容暫網失。

第六步:排察任務

自動偏察依期(每日或每週)。

# monitoring/scheduler.py
import schedule
import time
import logging
from datetime import datetime, timedelta
import pandas as pd

logging.basicConfig(
# ... (see EXAMPLES.md for complete implementation)

或用 cron:

# Add to crontab (crontab -e)
# Run daily at 2 AM
0 2 * * * cd /path/to/monitoring && /path/to/venv/bin/python scheduler.py >> logs/cron.log 2>&1

或用 Airflow DAG:

# airflow/dags/drift_monitoring_dag.py
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta

default_args = {
    'owner': 'ml-team',
    'depends_on_past': False,
# ... (see EXAMPLES.md for complete implementation)

得: 察依期自動行,生報,僅偏越閾時送警,全行記之。

敗則: 察排程進程在行(ps aux | grep scheduler),驗 cron 服務活,確保數據源可達,閱日誌察異,若任務不行設死寂警。

  • PSI 與 KS 試之計,於已知偏景生預期值
  • Evidently HTML 報正渲,現分布疊
  • 要害特偏即觸警
  • 概念偏察於三日內測得性能退化
  • 警送至諸配置道(Slack、郵、PagerDuty)
  • 排程任務無人為干預行 7 日以上
  • 假陽率 < 5%(高則調閾)
  • 偏察百萬行於 5 分內畢

  • 參照數據陳舊:每季或模型重訓後更新參照集,反映自然數據演進
  • 樣本量不匹:當前與參照集應有近量(各 >1000 行)以保統計可靠
  • 缺真值:概念偏需標;若無實時標,行延後標管道
  • 季節性混淆:週月模或觸假陽;用時對齊參照窗或去季化特
  • 警疲:始以高閾,依實際模型重訓步調漸降
  • 忽數據質量偏:分察缺值、離群、編碼錯,獨於分布偏
  • 過信合計度量:每特察要;合計偏或掩個別要害特之變
  • 忽預測分布:即無真值,預測分布驟變示問題

  • detect-anomalies-aiops - 操作度量之時序異察
  • deploy-ml-model-serving - 模型部署模與版本
  • setup-prometheus-monitoring - 基設度量收
  • review-data-analysis - 統計分析驗與同行察

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/wenyan/skills/monitor-model-drift
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

evaluating-llms-harness

Тестирование

Этот навык Claude запускает lm-evaluation-harness для тестирования LLM на более чем 60 стандартизированных академических задачах, таких как MMLU и GSM8K. Он предназначен для разработчиков, чтобы сравнивать качество моделей, отслеживать прогресс обучения или сообщать академические результаты. Инструмент поддерживает различные бэкенды, включая модели HuggingFace и vLLM.

Просмотреть навык

cloudflare-cron-triggers

Тестирование

Этот навык предоставляет обширные знания по реализации Cloudflare Cron Triggers для планирования запуска Workers с помощью cron-выражений. Он охватывает настройку периодических задач, заданий технического обслуживания и автоматизированных рабочих процессов, а также решение распространенных проблем, таких как неверные cron-выражения и ошибки часовых поясов. Разработчики могут использовать его для настройки планировщиков обработчиков, тестирования cron-триггеров и интеграции с Workflows и Green Compute.

Просмотреть навык

webapp-testing

Тестирование

Этот навык Claude предоставляет инструментарий на базе Playwright для тестирования локальных веб-приложений с помощью Python-скриптов. Он позволяет проводить проверку фронтенда, отладку интерфейса, создание скриншотов и просмотр логов, одновременно управляя жизненным циклом сервера. Используйте его для задач автоматизации браузера, но запускайте скрипты напрямую, вместо чтения их исходного кода, чтобы избежать загрязнения контекста.

Просмотреть навык

finishing-a-development-branch

Тестирование

Этот навык помогает разработчикам завершать готовую работу, проверяя прохождение тестов и предлагая структурированные варианты интеграции. Он направляет рабочий процесс по слиянию, созданию пул-реквестов или очистке веток после завершения реализации. Используйте его, когда ваш код готов и протестирован, чтобы систематически завершать процесс разработки.

Просмотреть навык