سریالسازی مدل همراه با متادیتای ردیابی
یه فایل .joblib لخت یه بمب ساعتیه: وقتی نسخه، تاریخ، hash دادهها، متریکها و ستونهای موردانتظار رو توی همون artefact بذاری، هر مدل قابل ممیزی میشه.
کاربرد
اینکه توی 30 ثانیه جواب این سؤال رو بدی: «این مدلِ توی prod روی چی آموزش دیده و چقدر میارزید؟»
پیشنیازها
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))نتیجه
{
"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