Data drift ve concept drift arasındaki fark nedir? Production'da nasıl tespit edersiniz?
Cevap
Model eğitildiği dünyanın değişmeyeceğini varsayar. Drift bu varsayımın bozulmasıdır.
- Data drift (covariate shift): Girdi dağılımı P(X) değişir, ama girdi ile hedef arasındaki ilişki aynı kalır. Örnek: uygulama yeni bir yaş grubuna yayıldı, kullanıcıların yaş dağılımı değişti.
- Concept drift: Girdi ile hedef arasındaki ilişki P(y|X) değişir. Örnek: dolandırıcılar yöntem değiştirdi. Aynı işlem kalıbı artık farklı anlama geliyor. Pandemi sırasında satın alma davranışlarının değişmesi de klasik bir örnektir.
- Label/prior drift: Hedef sınıf oranı P(y) değişir.
Concept drift daha tehlikelidir, çünkü girdilere bakarak tespit edilemez. Etiketlere ihtiyaç vardır.
Tespit yöntemleri
| Ne izlenir | Yöntem |
|---|---|
| Sayısal özellik dağılımı | PSI (Population Stability Index), KS testi, Wasserstein mesafesi |
| Kategorik özellik dağılımı | Chi-square testi, Jensen-Shannon divergence |
| Model çıktısı | Tahmin skorlarının dağılımı, pozitif tahmin oranı |
| Model performansı | Etiketler geldikçe precision, recall, AUC |
| Veri kalitesi | Null oranı, şema değişikliği, aralık dışı değerler |
PSI için yaygın eşikler: 0.1 altı stabil, 0.1–0.25 izlenmeli, 0.25 üstü ciddi değişim.
import numpy as np
def psi(expected, actual, bins=10):
edges = np.quantile(expected, np.linspace(0, 1, bins + 1))
edges[0], edges[-1] = -np.inf, np.inf
e = np.histogram(expected, edges)[0] / len(expected) + 1e-6
a = np.histogram(actual, edges)[0] / len(actual) + 1e-6
return np.sum((a - e) * np.log(a / e))Pratik zorluklar
- Etiket gecikmesi: Kredi temerrüdü aylar sonra belli olur. Bu sürede proxy metriklere (çıktı dağılımı, data drift) güvenilir.
- Çok fazla alarm: Yüzlerce özellikte istatistiksel testler sürekli "anlamlı" fark bulur. Önemli özelliklere ve iş etkisine odaklanın.
- Aksiyon: Drift tespiti; araştırma, yeniden eğitim (zamanlanmış veya tetiklemeli), gerekirse fallback modele geçiş ile sonuçlanmalı.
Araçlar: Evidently, WhyLabs, Arize, NannyML, bulut sağlayıcıların model monitoring servisleri.
İ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?
- Experiment tracking neden önemlidir? MLflow ile neleri takip 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.