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 izlenirYö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 kalitesiNull 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.

  1. ML sistemleri için CI/CD nasıl kurulur? Klasik yazılım CI/CD'sinden farkı nedir?OrtaMLOpsYapay Zeka
  2. GPU'da model inference'ını nasıl optimize edersiniz? Throughput ve latency arasındaki trade-off'u açıklayın.ZorMLOpsYapay Zeka
  3. 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.ZorMLOpsYapay Zeka
  4. Bir ML modelini tekrarlanabilir (reproducible) hale getirmek ve versiyonlamak için neler yaparsınız?OrtaMLOpsYapay Zeka
  5. Feature store nedir? Training-serving skew problemini nasıl çözer?OrtaMLOpsYapay Zeka
  6. Experiment tracking neden önemlidir? MLflow ile neleri takip edersiniz?KolayMLOpsYapay Zeka

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle