Canary は、本番環境の機械学習モデル向けの新しい軽量モデルモニタリングツールです。scikit-learn と Keras フレームワークをサポートし、複雑なインフラを必要とせずに、データドリフトと異常をリアルタイムで検出します。
このツールのコア機能には、データドリフト検出、異常検出、非同期モニタリング、リアルタイムダッシュボードが含まれます。ドリフト検出は、KS 検定、PSI(人口安定性指数)、カイ二乗検定を特徴ごとに設定可能なしきい値で使用します。異常検出は、Isolation Forest と z-score アンサンブルを組み合わせ、入力と予測出力の両方を監視します。
Canary は使いやすさを重視して設計されています。1行のコードで任意の sklearn または Keras モデルをラップでき、モニタリングは副作用として実行されるため、推論レイテンシに影響しません。インストールは簡単で、pip install canary-ml または pip install canary-ml[keras] で行えます。インストールからライブダッシュボードの起動まで、5分もかかりません。
以下は使用例です:
from canary_ml import ModelMonitor
monitor = ModelMonitor(
model=your_model,
reference_data=X_train,
alert_threshold=0.2,
log_path="./canary_logs"
)
# 直接 predict を置き換え — モニタリングは副作用
predictions = monitor.predict(X_new)
report = monitor.get_report()
print(report.psi_score, report.drift_detected, report.anomaly_rate)
# 0.41 True 0.032
monitor.serve_dashboard(port=8501)さらに、Canary には依存関係ゼロの HTML/JS ダッシュボードが同梱されており、クラウドアカウントは不要です。ダッシュボードでは、信頼スコア、バッチ統計、PSI メトリクス、KS 統計量、異常率などを表示できます。
現在の Canary のバージョンは v1.2.5 で、MIT ライセンスの下で公開されており、Python 3.9 から 3.12 をサポートしています。本番環境の機械学習チームにとって、無料で効率的かつ簡単にデプロイできる監視ソリューションです。