机器学习模型在线监控指标
作为DevOps工程师,在构建ML平台时必须建立完善的监控体系。以下是我踩坑后总结的核心监控指标配置方案。
核心指标监控
模型性能指标:
# 监控推理延迟
metrics = {
'latency_p95': prometheus_client.Summary('model_latency_seconds', 'Latency in seconds'),
'throughput': prometheus_client.Counter('model_requests_total', 'Total requests')
}
建议设置告警:延迟超过200ms触发警告,超过500ms触发严重告警。
模型质量指标:
# 监控预测准确率
accuracy_monitor = prometheus_client.Gauge(
'model_accuracy', 'Current model accuracy', ['model_version']
)
当准确率下降超过5%时触发告警。
数据漂移监控
通过监控输入数据分布变化来检测模型退化:
# 使用Kolmogorov-Smirnov检验
from scipy import stats
ks_stat, p_value = stats.ks_2samp(current_data, reference_data)
当p值小于0.05时,说明数据分布发生变化,需要重新训练模型。
告警配置示例
# alertmanager.yml
receivers:
- name: 'dev-team'
email_configs:
- to: 'dev@company.com'
alerts:
- alert: 'HighLatency'
expr: model_latency_seconds{job="ml-model"} > 0.5
for: 5m
labels:
severity: critical
实际部署时务必测试Prometheus查询语句,避免误报和漏报。

讨论