Skip to main content
Veri Bilimi & Yapay Zeka

AI Model İzleme ve Drift Algılama Rehberi

Mart 06, 2026 12 dk okuma 18 views Raw
AI model izleme dashboard ekranı - monitoring ve drift algılama gösterge paneli
İçindekiler

Yapay zeka modellerini eğitmek sürecin sadece başlangıcıdır. Asıl zorluk, bu modellerin üretim ortamında tutarlı ve güvenilir bir şekilde çalışmasını sağlamaktır. Gerçek dünya verileri sürekli değişir, kullanıcı davranışları evrilir ve dış faktörler model performansını doğrudan etkiler. İşte tam bu noktada model izleme (monitoring) ve drift algılama (drift detection) devreye girer. Bu kapsamlı rehberde, AI modellerinizi nasıl etkili bir şekilde izleyeceğinizi, drift türlerini nasıl tespit edeceğinizi ve en iyi araçlarla nasıl proaktif bir monitoring sistemi kuracağınızı adım adım ele alacağız.

1. Model İzleme Neden Önemlidir?

Bir ML modelini üretime aldığınız anda, model artık statik bir test ortamında değil, dinamik ve öngörülmesi güç bir dünyada çalışmaya başlar. Araştırmalar, üretim ortamındaki ML modellerinin %90'ının ilk 6 ay içinde performans düşüşü yaşadığını göstermektedir. Model izleme olmadan bu düşüşü fark etmek neredeyse imkansızdır.

Model Bozulmasının Temel Nedenleri

  • Veri Dağılımı Değişimleri: Eğitim verisi ile üretim verisi arasındaki farklar zamanla büyür. Örneğin, bir e-ticaret öneri sistemi pandemi döneminde tamamen farklı alışveriş kalıplarıyla karşılaşır.
  • Özellik Mühendisliği Sorunları: Upstream veri kaynaklarındaki değişiklikler, feature'ların hesaplanma şeklini etkileyebilir. Bir API'nin format değiştirmesi bile modeli bozabilir.
  • Etiket Kayması: Hedef değişkenin anlamı veya dağılımı zamanla değişebilir. Dolandırıcılık tespitinde yeni dolandırıcılık türleri ortaya çıkabilir.
  • Altyapı Değişiklikleri: Veri pipeline'larındaki güncellemeler, kütüphane versiyonları veya donanım değişiklikleri beklenmeyen sonuçlara yol açabilir.

⚠️ Uyarı

Model izleme olmadan çalışan bir ML sistemi, kör uçuş yapan bir uçak gibidir. Sorunları ancak iş sonuçlarına yansıdığında fark edersiniz - ki bu genellikle çok geç olmuş demektir.

İzlemenin İş Değeri

Etkin model izleme sistemleri şirketlere somut faydalar sağlar:

Fayda Açıklama Etki
Erken Uyarı Performans düşüşünü iş etkisi oluşmadan tespit %60 daha hızlı müdahale
Maliyet Azaltma Gereksiz yeniden eğitim maliyetlerinden kaçınma %40 maliyet tasarrufu
Güvenilirlik Müşteri güvenini koruma ve SLA uyumu %99.5+ uptime
Uyumluluk Regülasyon gereksinimlerini karşılama Audit trail oluşturma

2. Data Drift vs Concept Drift: Temel Farklar

Drift, ML modellerinin performans kaybının en yaygın nedenidir. Ancak tüm drift'ler aynı değildir. İki temel drift türünü doğru anlamak, etkili bir monitoring stratejisi için kritik öneme sahiptir.

Data Drift (Covariate Shift)

Data drift, modelin girdi özelliklerinin (feature) istatistiksel dağılımının zamanla değişmesidir. Model ile hedef değişken arasındaki ilişki aynı kalır, ancak gelen veriler eğitim verisinden farklılaşır. Bu durumda model, daha önce hiç görmediği veya nadir gördüğü veri bölgelerinde tahmin yapmak zorunda kalır.

Örnek Senaryo - Data Drift

Bir kredi skorlama modeli, 2020-2023 verileriyle eğitildi. 2024'te yüksek enflasyon nedeniyle başvuru sahiplerinin ortalama gelir-borç oranı dramatik şekilde değişti. Modelin girdi dağılımı artık eğitim dağılımından çok farklı olmasına rağmen gelir-kredi riski ilişkisi aynı kalabilir.

Concept Drift

Concept drift, girdi özellikleri ile hedef değişken arasındaki ilişkinin kendisinin değişmesidir. Yani modelin öğrendiği "kavram" artık geçerli değildir. Bu, data drift'ten çok daha tehlikelidir çünkü modelin temel mantığı geçersiz hale gelir.

Concept drift'in alt türleri şunlardır:

  • Ani (Sudden) Drift: Regülasyon değişikliği gibi anlık kavramsal değişimler. Örneğin, bir yasanın değişmesi kredi onay kriterlerini bir gecede değiştirebilir.
  • Kademeli (Gradual) Drift: Tüketici tercihlerinin yavaşça evrilmesi gibi tedrici değişimler. Modası geçen ürünler zamanla farklı müşteri segmentlerine hitap etmeye başlar.
  • Periyodik (Recurring) Drift: Mevsimsel değişiklikler gibi döngüsel kalıplar. Tatil sezonlarında alışveriş davranışları belirli bir kalıba geri döner.
  • Artımlı (Incremental) Drift: Çok küçük ama sürekli değişimler birikir ve sonunda belirgin bir fark oluşturur.
Özellik Data Drift Concept Drift
Ne değişir? Girdi verisi dağılımı P(X) Girdi-çıktı ilişkisi P(Y|X)
Tespit zorluğu Orta (etiket gerekmez) Yüksek (etiket gerekir)
Çözüm Yeni veriyle yeniden eğitim Model mimarisini/özelliklerini güncelleme
Risk seviyesi Orta Yüksek

3. Drift Tespit Yöntemleri ve İstatistiksel Testler

Drift'i tespit etmek için çeşitli istatistiksel yöntemler ve algoritmalar kullanılır. Doğru yöntemi seçmek, veri türüne, veri hacmine ve istenen hassasiyet düzeyine bağlıdır.

İstatistiksel Testler

Kolmogorov-Smirnov (KS) Testi: İki dağılımın kümülatif dağılım fonksiyonları (CDF) arasındaki maksimum farkı ölçer. Sürekli değişkenler için idealdir ve dağılım hakkında herhangi bir varsayım gerektirmez.

from scipy import stats

# Referans ve üretim verisi
reference_data = training_df['feature_1'].values
production_data = production_df['feature_1'].values

# KS testi uygula
ks_stat, p_value = stats.ks_2samp(reference_data, production_data)

if p_value < 0.05:
    print(f"DRIFT ALGILANDI! KS stat: {ks_stat:.4f}, p-value: {p_value:.6f}")
else:
    print(f"Drift yok. KS stat: {ks_stat:.4f}, p-value: {p_value:.6f}")

Population Stability Index (PSI): İki dağılım arasındaki farkı ölçen simetrik bir metriktir. Finans sektöründe yaygın olarak kullanılır. PSI < 0.1 değişim yok, 0.1-0.25 orta, > 0.25 önemli değişim anlamına gelir.

import numpy as np

def calculate_psi(reference, production, bins=10):
    ref_hist, bin_edges = np.histogram(reference, bins=bins)
    prod_hist, _ = np.histogram(production, bins=bin_edges)
    
    ref_pct = (ref_hist + 1) / (len(reference) + bins)
    prod_pct = (prod_hist + 1) / (len(production) + bins)
    
    psi = np.sum((prod_pct - ref_pct) * np.log(prod_pct / ref_pct))
    return psi

psi_value = calculate_psi(reference_data, production_data)
print(f"PSI: {psi_value:.4f}")

Pencere Tabanlı Yöntemler

Zaman penceresi tabanlı drift algılama, üretim verisini belirli zaman dilimlerine bölerek referans veriyle karşılaştırır. Yaygın yaklaşımlar şunlardır:

  • Sabit Pencere (Fixed Window): Son 1 saat, 1 gün veya 1 haftalık veriyi referansla karşılaştırır. Basit ve anlaşılırdır.
  • Kayan Pencere (Sliding Window): Sürekli güncellenen bir pencereyle drift'i izler. Daha hassas ama hesaplama maliyeti yüksektir.
  • ADWIN (Adaptive Windowing): Pencere boyutunu otomatik olarak ayarlar. Drift tespit edildiğinde pencereyi daraltır, stabil dönemlerde genişletir.

Kategorik Değişkenler İçin Testler

Kategorik veriler için Chi-Square testi ve Jensen-Shannon Divergence yaygın kullanılır. Chi-Square testi iki kategorik dağılımın bağımsız olup olmadığını test ederken, Jensen-Shannon Divergence iki olasılık dağılımı arasındaki benzerliği simetrik olarak ölçer.

4. Alerting Stratejileri ve Bildirim Yönetimi

Drift algılamak tek başına yeterli değildir. Doğru zamanda, doğru kişilere, doğru şiddette uyarılar göndermek kritik öneme sahiptir. Kötü tasarlanmış bir alerting sistemi ya alarm yorgunluğuna (alert fatigue) ya da kritik sorunların gözden kaçmasına neden olur.

Çok Katmanlı Alert Yapısı

Seviye Koşul Aksiyon Bildirim
Bilgi (Info) PSI 0.05-0.10 Log kayıt, dashboard güncelle Haftalık rapor
Uyarı (Warning) PSI 0.10-0.25 Detaylı analiz başlat Slack + email
Kritik (Critical) PSI > 0.25 Otomatik fallback, yeniden eğitim tetikle PagerDuty + SMS

Alert Fatigue'den Kaçınma

Alarm yorgunluğunu önlemek için şu stratejileri uygulayın:

  • Deduplikasyon: Aynı kök nedenli uyarıları gruplandırın. Birden fazla feature aynı anda drift gösteriyorsa muhtemelen tek bir kök neden vardır.
  • Cooldown periyodu: Bir alert tetiklendikten sonra belirli bir süre aynı türde yeni alert oluşturmayın.
  • Bağlamsal zenginleştirme: Alertlere otomatik olarak ilgili metrikler, grafikler ve muhtemel kök neden analizleri ekleyin.
  • Eskalasyon politikaları: Cevaplanmayan alertleri hiyerarşik olarak üst seviyelere iletin.

💡 İpucu

Alert eşiklerini başlangıçta daha yüksek tutun ve zamanla ayarlayın. Çok fazla false positive, ekibin uyarıları görmezden gelmesine neden olur. Hedef: Her alertin aksiyona dönüşme oranı %80 üzerinde olmalıdır.

5. En İyi Monitoring Araçları

2026 itibarıyla ML model izleme pazarı olgunlaşmış durumdadır ve güçlü araçlar mevcuttur. İşte en popüler üç platformun detaylı incelemesi:

Evidently AI

Evidently AI, açık kaynaklı bir ML monitoring kütüphanesidir ve Python ekosistemiyle mükemmel entegrasyon sağlar. Özellikle veri bilimciler ve küçük-orta ölçekli ekipler için idealdir.

  • Hazır drift algılama raporları (Data Drift, Data Quality, Model Performance)
  • Jupyter Notebook entegrasyonu ile interaktif analiz
  • JSON ve HTML formatında raporlar
  • CI/CD pipeline'larına kolayca entegre edilebilen test suite'leri
  • Evidently Cloud ile yönetilen hizmet seçeneği
from evidently.report import Report
from evidently.metric_preset import DataDriftPreset, DataQualityPreset

report = Report(metrics=[
    DataDriftPreset(),
    DataQualityPreset()
])

report.run(reference_data=train_df, current_data=prod_df)
report.save_html("drift_report.html")

WhyLabs

WhyLabs, whylogs açık kaynak profiling kütüphanesi üzerine kurulu, tam yönetilen bir ML observability platformudur. Yüksek hacimli üretim iş yükleri için optimize edilmiştir.

  • Hafif veri profilleri ile düşük overhead monitoring
  • Gerçek zamanlı drift algılama ve otomatik alerting
  • LLM izleme desteği (prompt/response kalitesi, hallucination tespiti)
  • Segment bazlı analiz ve veri güvenliği politikaları
  • Privacy-preserving: Ham veri saklamaz, yalnızca istatistiksel profiller kullanır

Arize AI

Arize AI, kurumsal düzeyde bir ML observability platformudur. Embedding drift, performans izleme ve kök neden analizi konularında güçlüdür.

  • Otomatik performans monitörleri ve dinamik eşik yönetimi
  • UMAP tabanlı embedding görselleştirme
  • Tabular, NLP ve Computer Vision modelleri desteği
  • A/B test karşılaştırmaları ve canary deployment izleme
  • Phoenix: Arize'in açık kaynak tracing ve evaluation aracı
Araç Açık Kaynak LLM Desteği En İyi Kullanım
Evidently AI Evet Evet Küçük-orta ekipler, hızlı başlangıç
WhyLabs Kısmen (whylogs) Evet Yüksek hacim, privacy-first
Arize AI Kısmen (Phoenix) Evet Kurumsal, karmaşık modeller

6. Otomatik Yeniden Eğitim Pipeline'ları

Drift algılandığında modeli otomatik olarak yeniden eğitebilen bir pipeline kurmak, MLOps olgunluğunun kritik bir göstergesidir. Ancak otomatik yeniden eğitim dikkatli tasarlanmalıdır; aksi takdirde yanlış tetiklemeler ve kaynak israfıyla sonuçlanabilir.

Yeniden Eğitim Tetikleyicileri

  • Performans Tabanlı: Accuracy, F1-score veya AUC gibi metrikler belirlenen eşiğin altına düştüğünde tetiklenir. En güvenilir yöntemdir ancak ground truth etiketlerini beklemek gerekebilir.
  • Drift Tabanlı: Veri drift'i veya concept drift belirli bir seviyeyi aştığında tetiklenir. Performans düşüşünü beklemeden proaktif hareket edilmesini sağlar.
  • Zamanlayıcı Tabanlı: Belirli aralıklarla (günlük, haftalık) otomatik olarak yeniden eğitim yapılır. Basit ama kaynak açısından pahalı olabilir.
  • Hibrit: Yukarıdaki yöntemlerin kombinasyonu. Örneğin: haftalık zamanlayıcı + kritik drift durumunda anlık tetikleme.

Güvenli Yeniden Eğitim Adımları

# Otomatik yeniden eğitim pipeline örneği
def automated_retraining_pipeline(drift_report):
    # 1. Veri validasyonu
    validated_data = validate_training_data(new_data)
    
    # 2. Model eğitimi
    new_model = train_model(validated_data)
    
    # 3. Offline evaluation
    metrics = evaluate_model(new_model, test_set)
    
    # 4. Champion-Challenger karşılaştırma
    if metrics['auc'] > current_model_metrics['auc'] * 0.98:
        # 5. Shadow deployment (canary)
        deploy_shadow(new_model, traffic_pct=10)
        
        # 6. Online evaluation
        shadow_metrics = monitor_shadow(duration_hours=24)
        
        if shadow_metrics['success']:
            # 7. Tam deployment
            promote_to_production(new_model)
            log_model_lineage(new_model, drift_report)
        else:
            rollback_shadow()
            alert_team("Shadow deployment başarısız")
    else:
        alert_team("Yeni model yeterli performans gösteremedi")

⚠️ Uyarı

Otomatik yeniden eğitimde asla doğrudan üretime deployment yapmayın. Her zaman champion-challenger karşılaştırması ve shadow deployment aşamalarını dahil edin. Ayrıca rollback mekanizmasının çalıştığından emin olun.

7. Temel Metrikler ve KPI'lar

Etkili model izleme, doğru metriklerin takip edilmesine bağlıdır. Metrikler dört ana kategoriye ayrılır:

Model Performans Metrikleri

  • Sınıflandırma: Accuracy, Precision, Recall, F1-Score, AUC-ROC, Log Loss
  • Regresyon: MAE, RMSE, MAPE, R-squared
  • Sıralama: NDCG, MAP, MRR
  • Fairness: Demographic Parity, Equal Opportunity, Disparate Impact

Veri Kalitesi Metrikleri

  • Eksik değer oranları (feature bazında)
  • Veri tipi tutarlılığı ve aykırı değer oranları
  • Feature dağılım istatistikleri (ortalama, medyan, standart sapma, çarpıklık)
  • Feature korelasyon değişimleri
  • Veri tazeliği (data freshness) ve gecikme süreleri

Operasyonel Metrikler

  • Latency: P50, P90, P99 yanıt süreleri
  • Throughput: Saniyedeki tahmin sayısı (predictions/sec)
  • Error Rate: Başarısız tahmin oranı ve hata türleri
  • Resource Utilization: CPU, GPU, bellek kullanımı
  • Availability: Model servisi uptime yüzdesi

İş Metrikleri

Teknik metriklerin ötesinde iş etkisini doğrudan ölçen metrikler de izlenmelidir: dönüşüm oranı değişimleri, müşteri memnuniyeti, gelir etkisi, false positive/negative maliyeti gibi KPI'lar modelin gerçek değerini ortaya koyar.

8. Dashboard Tasarımı ve Best Practice'ler

Etkili bir monitoring dashboard'u, karmaşık verileri anlaşılır ve aksiyona dönüştürülebilir şekilde sunmalıdır. İyi bir dashboard, sorunları hızlıca tespit etmenizi ve kök neden analizine yönlendirmenizi sağlar.

Dashboard Katmanları

Üst Düzey Özet (Executive View): Tüm modellerin sağlık durumunu tek bakışta gösteren trafik ışığı sistemi. Yeşil, sarı, kırmızı kodlarıyla her modelin durumunu anlık olarak gösterir. İş metrikleriyle bağlantılı özetler sunar.

Model Detay Görünümü: Seçili modelin performans trendleri, drift skorları, prediction dağılımı ve feature importance değişimleri. Zaman serisi grafikleriyle geçmiş performans karşılaştırması yapılabilir.

Tanı Görünümü (Diagnostic View): Feature bazında drift analizi, segment bazında performans kırılımları, veri kalitesi detayları ve anomali tespiti. Bu katman, kök neden analizini destekler.

Grafana ile Model Dashboard Örneği

Grafana, Prometheus veya InfluxDB gibi zaman serisi veritabanlarıyla entegre çalışarak güçlü monitoring dashboard'ları oluşturmanıza olanak tanır. Temel paneller şunları içermelidir:

  • Performans metrikleri zaman serisi (son 30 gün)
  • Drift skoru heat map'i (feature x zaman)
  • Prediction dağılımı histogram (referans vs üretim)
  • Latency percentile grafikleri
  • Alert timeline (uyarı geçmişi)
  • Model versiyonu ve son eğitim tarihi bilgisi

💡 İpucu

Dashboard tasarımında "5 saniyelik kural"ı uygulayın: Herhangi bir ekip üyesi dashboard'a baktığında 5 saniye içinde modelin sağlıklı olup olmadığını anlayabilmelidir. Detaylar drill-down ile erişilebilir olmalıdır.

Monitoring Kontrol Listesi

Kapsamlı bir model izleme sistemi kurarken aşağıdaki kontrol listesini takip edin:

  • Referans veri seti tanımlandı ve versiyonlandı mı?
  • Drift algılama testleri her feature için yapılandırıldı mı?
  • Alert eşikleri ve eskalasyon politikaları belirlendi mi?
  • Yeniden eğitim pipeline'ı uçtan uca test edildi mi?
  • Rollback mekanizması çalışıyor mu?
  • Model versiyonlama ve lineage takibi mevcut mu?
  • Dashboard'lar tüm paydaşlar için erişilebilir mi?
  • On-call rotasyonu ve runbook'lar hazır mı?

9. Sıkça Sorulan Sorular (SSS)

Model izleme ne sıklıkla yapılmalıdır?

İzleme sıklığı modelin kritikliğine ve veri hacmine bağlıdır. Gerçek zamanlı tahmin yapan modeller (dolandırıcılık tespiti, fiyatlandırma) için dakika bazında izleme gereklidir. Batch modeller için günlük veya haftalık izleme yeterli olabilir. Genel kural: modelin tahminleri ne kadar hızlı iş kararlarını etkiliyorsa, izleme o kadar sık olmalıdır.

Data drift ve concept drift aynı anda olabilir mi?

Evet, ikisi aynı anda meydana gelebilir ve sıklıkla birlikte görülür. Örneğin, bir ekonomik kriz hem müşteri profillerini (data drift) hem de kredi riski kavramını (concept drift) aynı anda değiştirebilir. Bu durum tespit ve çözümü daha karmaşık hale getirir. İdeal yaklaşım, her iki drift türünü bağımsız olarak izlemektir.

Hangi drift algılama yöntemi en iyisidir?

Tek bir "en iyi" yöntem yoktur. KS testi sürekli değişkenler için güçlüdür, PSI yorumlaması kolaydır ve finans sektöründe standarttır. Chi-Square kategorik veriler için uygundur. En iyi yaklaşım, birden fazla yöntemi birlikte kullanmaktır. Başlangıç için PSI genellikle iyi bir seçimdir çünkü hem anlaşılması hem de eşik belirlenmesi kolaydır.

Model izleme için minimum hangi altyapıya ihtiyaç var?

Minimum altyapı olarak şunlara ihtiyacınız vardır: referans veri seti depolama, prediction logging sistemi, istatistiksel test kütüphanesi (Evidently gibi) ve basit bir dashboard (Grafana yeterlidir). Küçük ekipler için Evidently + cron job + Slack webhook kombinasyonu iyi bir başlangıç noktasıdır. Ölçek büyüdükçe WhyLabs veya Arize gibi yönetilen platformlara geçiş düşünülebilir.

LLM'ler için drift algılama nasıl yapılır?

LLM'ler için geleneksel drift algılama yöntemleri doğrudan uygulanmaz. Bunun yerine prompt dağılımı değişimleri, yanıt kalitesi metrikleri (coherence, relevance, groundedness), hallucination oranları, embedding uzay değişimleri ve kullanıcı geri bildirimleri izlenir. WhyLabs ve Arize gibi platformlar LLM-spesifik monitoring modülleri sunmaktadır. Ayrıca guardrail metrikleri (toxicity, PII tespiti) de sürekli izlenmelidir.

Otomatik yeniden eğitim ne zaman risklidir?

Otomatik yeniden eğitim şu durumlarda riskli olabilir: veri kalitesi doğrulama yetersizse (bozuk veriyle eğitim), ground truth etiketleri güvenilir değilse (etiket gürültüsü yüksekse), model fairness kısıtlamalarını ihlal edebilecekse ve regülasyona tabi modellerde (sağlık, finans) insan onayı gerekiyorsa. Bu durumlarda yarı-otomatik yaklaşım önerilir: pipeline eğitimi otomatik yapar, ancak deployment insan onayıyla gerçekleşir.

Bu yazıyı paylaş