Serializar el modelo CON sus metadatos de trazabilidad
Un .joblib pelado es una bomba de relojería: incrustar versión, fecha, hash de los datos, métricas y columnas esperadas en el mismo artefacto hace que cada modelo sea auditable.
Requisitos
joblib, scikit-learn
Python
import hashlib
import json
from datetime import datetime, timezone
import joblib
import sklearn
donnees_hash = hashlib.sha256(
X_train.to_csv(index=False).encode()
).hexdigest()[:16]
bundle = {
"pipeline": pipe,
"meta": {
"version": "2.4.0",
"entraine_le": datetime.now(timezone.utc).isoformat(),
"sklearn": sklearn.__version__,
"hash_donnees": donnees_hash,
"n_train": len(X_train),
"colonnes": list(X_train.columns),
"metriques": {"auc_cv": 0.812, "ap_cv": 0.341},
},
}
joblib.dump(bundle, "modele_v2.4.0.joblib", compress=3)
charge = joblib.load("modele_v2.4.0.joblib")
print(json.dumps(charge["meta"], indent=2, default=str))Resultado
{
"version": "2.4.0",
"entraine_le": "2026-06-10T22:14:08.512345+00:00",
"sklearn": "1.5.2",
"hash_donnees": "a3f8c91d2e4b7f60",
"n_train": 48213,
"colonnes": [
"age",
"montant",
"anciennete_jours"
],
"metriques": {
"auc_cv": 0.812,
"ap_cv": 0.341
}
}joblibVersioningTraçabilitéMLOps