模型输出概率分布稳定性检查踩坑记录
问题背景
在生产环境部署的二分类模型,最近发现准确率突然下降。通过监控系统发现,模型输出的概率分布发生了显著变化。
监控指标配置
# 配置概率分布监控指标
metrics = {
'prob_dist_mean': {
'type': 'gauge',
'description': '输出概率均值',
'threshold': 0.5,
'alert_level': 'WARNING'
},
'prob_dist_std': {
'type': 'gauge',
'description': '输出概率标准差',
'threshold': 0.3,
'alert_level': 'CRITICAL'
},
'entropy': {
'type': 'gauge',
'description': '输出熵值',
'threshold': 0.7,
'alert_level': 'WARNING'
}
}
告警配置方案
# prometheus告警规则
- alert: ModelProbabilityDrift
expr: |
abs(avg_over_time(prob_dist_mean[1h]) - 0.5) > 0.1
for: 5m
labels:
severity: critical
annotations:
summary: "模型输出概率分布异常"
复现步骤
- 在生产环境部署监控脚本
- 每分钟采集模型输出概率
- 计算均值、标准差、熵值
- 当标准差超过0.3时触发告警
- 检查最近30分钟数据,发现异常波动
踩坑总结
最初只监控了准确率指标,忽略了概率分布变化。通过增加熵值监控,成功在模型性能下降前发现异常。

讨论