Üretimde Model Performansını İzleme
Veri kayması tespiti, model bozulması sinyalleri, yeniden eğitim tetikleyicileri, evidently kütüphanesi.
Üretimde Model Performansını İzleme, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Üretimde Neden İzleme Yapılır?
Başlangıçta iyi performans gösteren bir model, dünya değiştikçe fark edilmeden bozulabilir. İzleme, bu kaymayı erken tespit eder; iş metriklerini sessizce düşürmeden önce yeniden eğitim zamanının geldiğini bilmenizi sağlar.
Veri Kayması ve Kavram Kayması
- Veri kayması: girdi dağılımının değişmesi (yeni müşteri bileşimi).
- Kavram kayması: girdiler ile hedef arasındaki ilişkinin değişmesi (müşteri kaybını öngören unsurların değişmesi).
Her ikisi de doğruluğu düşürür; izleme bunları farklı yollarla yakalar.
Veri Kayması için PSI
Population Stability Index (PSI), bir özelliğin dağılımını mevcut durum ile bir temel değer arasında karşılaştırır. Her ikisini de bölmelere ayırın, ardından bölmelerde (now% - base%) * ln(now% / base%) ifadesini toplayın.
PSI Değerlerini Okuma
Pratik kurallar: PSI < 0.1 önemli bir değişim yok, 0.1-0.25 orta düzeyde değişim (inceleyin), > 0.25 büyük değişim (muhtemelen yeniden eğitim gerekir). PSI her özellik için hesaplanır.
import numpy as np
def psi(base, now, bins=10):
edges = np.percentile(base, np.linspace(0, 100, bins + 1))
b_pct = np.histogram(base, edges)[0] / len(base) + 1e-6
n_pct = np.histogram(now, edges)[0] / len(now) + 1e-6
return np.sum((n_pct - b_pct) * np.log(n_pct / b_pct))Dağılımlar için KS Sınaması
Kolmogorov-Smirnov (KS) sınaması, iki sürekli dağılımı karşılaştırır. Küçük bir p-değeri, üretim dağılımının eğitim dağılımından anlamlı biçimde farklı olduğu ve kaymaya işaret ettiği anlamına gelir.
from scipy.stats import ks_2samp
stat, pvalue = ks_2samp(train_feature, prod_feature)
if pvalue < 0.05:
print("Distribution drift detected")PSI ve KS
- PSI: panolar ve eşikler için kullanışlı, yorumlanabilir tek bir sayı.
- KS: p-değerine sahip istatistiksel bir hipotez sınaması; sürekli özellikler için daha titizdir.
Birçok ekip her ikisini de yan yana raporlar.
Evidently Nedir?
Evidently, kayma ve kalite raporlarını otomatikleştiren açık kaynaklı bir kütüphanedir. Her metriği elle kodlamak yerine hazır denetimleri bir araya getirir ve bir HTML/JSON raporu elde edersiniz.
# pip install evidently
from evidently.report import Report
from evidently.metric_preset import DataDriftPresetDataDriftPreset Raporu Oluşturma
DataDriftPreset, bir referans (eğitim) veri kümesini mevcut (üretim) verileriyle karşılaştırarak tüm sütunlarda eksiksiz bir kayma sınamaları paketi çalıştırır.
report = Report(metrics=[DataDriftPreset()])
report.run(
reference_data=train_df,
current_data=prod_df
)
report.save_html("drift_report.html")Sonuçları Programatik Olarak Çıkarma
İzlemenin bir zamanlamaya göre müdahale olmadan çalışabilmesi için raporu bir sözlük olarak dışa aktararak uyarı mantığına aktarın.
result = report.as_dict()
drift_share = result["metrics"][0]["result"]["dataset_drift"]
print("Dataset drift flag:", drift_share)Doğruluk Düşüşü için Uyarı
Gerçek etiketleriniz olduğunda, canlı doğruluğu izleyin ve bir eşik değerinin altına düştüğünde uyarı gönderin; bu, yeniden eğitim zamanının geçtiğini gösteren en doğrudan işarettir.
THRESHOLD = 0.85
if live_accuracy < THRESHOLD:
send_alert(f"Accuracy dropped to {live_accuracy:.2f}")Döngüyü Kapatmak
İyi bir izleme eyleme bağlanır: kaymayı algılayın -> uyarın -> yeniden eğitim işlem hattını tetikleyin (önceki derslerdeki Makefile/kayıt defteriniz) -> yeni sürümü dağıtın. Yanıt planı olmayan izleme yalnızca gürültüdür.
Hızlı Kontrol
İzleme bilginizi sınayın.
Özet
Üretim modellerini izlediniz: PSI ve KS sınaması veri kaymasını algılar, Evidently DataDriftPreset aracılığıyla raporları otomatikleştirir ve doğruluk bir eşik değerinin altına düştüğünde uyarı gönderip yeniden eğitimi tetiklersiniz. Böylece MLOps kursu sona eriyor. Sıradaki kurs: FastAPI ile Yapay Zekâ Modellerini Sunma.
Sıkça Sorulan Sorular
“Üretimde Model Performansını İzleme” dersi ücretsiz mi?
Evet — “Üretimde Model Performansını İzleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Üretimde Model Performansını İzleme” dersinde ne öğreneceğim?
Veri kayması tespiti, model bozulması sinyalleri, yeniden eğitim tetikleyicileri, evidently kütüphanesi. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Üretimde Model Performansını İzleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- MLflow ile Deney Takibi
- Model Kayıt Defteri ve Sürümleme
- Yeniden Üretilebilir Makine Öğrenmesi İşlem Hatları Oluşturma
- Üretimde Model Performansını İzleme