Experiment tracking neden önemlidir? MLflow ile neleri takip edersiniz?
Cevap
ML geliştirme yüzlerce deney içerir: farklı veri versiyonları, özellikler, hiperparametreler, kod değişiklikleri. Experiment tracking bunları sistematik kaydederek hangi sonucun hangi koşullarda elde edildiğini tekrarlanabilir ve karşılaştırılabilir hale getirir. Yoksa "geçen ay en iyi sonucu veren model hangisiydi ve nasıl eğitilmişti?" sorusu cevapsız kalır.
Neler kaydedilmeli?
- Parametreler: Hiperparametreler, model tipi, özellik listesi.
- Metrikler: Train/val loss, iş metrikleri. Epoch bazında eğriler.
- Artifact'lar: Model dosyası, confusion matrix, grafikler, feature importance.
- Kod versiyonu: Git commit hash.
- Veri versiyonu: Veri seti hash'i veya DVC/lakeFS referansı.
- Ortam: Kütüphane versiyonları, donanım, random seed.
import mlflow
mlflow.set_experiment("churn-model")
with mlflow.start_run(run_name="xgb-depth6"):
mlflow.log_params({"max_depth": 6, "learning_rate": 0.05, "data_version": "v2025-09"})
model.fit(X_tr, y_tr)
mlflow.log_metric("val_pr_auc", average_precision_score(y_va, model.predict_proba(X_va)[:, 1]))
mlflow.xgboost.log_model(model, "model", registered_model_name="churn")MLflow bileşenleri
- Tracking: Run'ları, parametreleri, metrikleri ve artifact'ları kaydeder, UI ile karşılaştırma sunar.
- Model Registry: Model versiyonları, alias'lar (örneğin
champion,challenger) ve onay süreçleri. - Models: Farklı framework'ler için standart paketleme formatı.
- Son sürümlerde LLM uygulamaları için tracing ve evaluation özellikleri de eklendi.
Alternatifler: Weights & Biases (özellikle derin öğrenmede popüler), Neptune, Comet, bulut sağlayıcıların ML platformları.
İlgili MLOps soruları
- ML sistemleri için CI/CD nasıl kurulur? Klasik yazılım CI/CD'sinden farkı nedir?
- GPU'da model inference'ını nasıl optimize edersiniz? Throughput ve latency arasındaki trade-off'u açıklayın.
- Yeni bir modeli production'a güvenli şekilde nasıl çıkarırsınız? Shadow deployment, canary ve A/B testi karşılaştırın.
- Bir ML modelini tekrarlanabilir (reproducible) hale getirmek ve versiyonlamak için neler yaparsınız?
- Feature store nedir? Training-serving skew problemini nasıl çözer?
- Data drift ve concept drift arasındaki fark nedir? Production'da nasıl tespit edersiniz?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.