MCP HubMCP Hub
스킬 목록으로 돌아가기

monitor-model-drift

pjt222
업데이트됨 2 days ago
14 조회
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 Skill은 MMLU, GSM8K를 포함한 60개 이상의 표준화된 학술 과제에서 LLM 성능을 벤치마크하기 위해 lm-evaluation-harness를 실행합니다. 개발자들이 모델 품질을 비교하고, 학습 진행 상황을 추적하거나 학술 결과를 보고할 수 있도록 설계되었습니다. 이 도구는 HuggingFace와 vLLM 모델을 포함한 다양한 백엔드를 지원합니다.

스킬 보기

cloudflare-cron-triggers

테스팅

이 스킬은 cron 표현식을 사용하여 Worker를 스케줄링하기 위한 Cloudflare Cron Triggers 구현에 관한 포괄적인 지식을 제공합니다. 주기적 작업, 유지보수 작업, 자동화된 워크플로우 설정 방법을 다루며, 잘못된 cron 표현식이나 시간대 문제 같은 일반적인 이슈들을 해결하는 방법을 포함합니다. 개발자들은 이를 통해 스케줄된 핸들러 구성, cron 트리거 테스트, Workflows 및 Green Compute와의 연동 작업을 수행할 수 있습니다.

스킬 보기

webapp-testing

테스팅

이 Claude Skill은 Python 스크립트를 통해 로컬 웹 애플리케이션을 테스트하기 위한 Playwright 기반 툴킷을 제공합니다. 프론트엔드 검증, UI 디버깅, 스크린샷 캡처, 로그 확인 기능을 지원하며 서버 라이프사이클을 관리합니다. 브라우저 자동화 작업에 사용하되 컨텍스트 오염을 방지하기 위해 소스 코드를 읽지 않고 스크립트를 직접 실행하세요.

스킬 보기

finishing-a-development-branch

테스팅

이 스킬은 테스트 통과를 확인한 후 체계적인 통합 옵션을 제시하여 개발자가 완성된 작업을 마무리하도록 돕습니다. 구현이 완료된 후 머지, PR 생성, 브랜치 정리와 같은 워크플로우를 안내합니다. 코드가 준비되고 테스트가 완료되었을 때 개발 프로세스를 체계적으로 마무리하기 위해 사용하세요.

스킬 보기