Capítulo 1: Monitoreo del Rendimiento del Modelo
Métricas Clave a Monitorear
| Categoría | Métricas |
|---|---|
| Calidad del Modelo | Accuracy, AUC, F1, precisión, recall |
| Latencia | Tiempos de respuesta P50, P95, P99 |
| Rendimiento | Solicitudes por segundo |
| Errores | Tasa de error, tipos de error |
| Negocio | Impacto en ingresos, tasas de conversión |
Métricas de Prometheus
from prometheus_client import Counter, Histogram, Gauge
# Prediction counter
predictions = Counter(
'model_predictions_total',
'Total predictions',
['model_version', 'prediction_class']
)
# Latency histogram
latency = Histogram(
'model_prediction_latency_seconds',
'Prediction latency',
buckets=[0.01, 0.05, 0.1, 0.25, 0.5, 1.0]
)
# Model accuracy gauge (updated periodically)
accuracy = Gauge(
'model_accuracy_current',
'Current model accuracy'
)
@app.post("/predict")
async def predict(request: PredictionRequest):
with latency.time():
result = model.predict(request.features)
predictions.labels(model_version="2.1.0", prediction_class=str(result)).inc()
return {"prediction": result}
Siguiente: Capítulo 2: Detección de Deriva