Fikrini yapay zeka paraya çevirsin — ücretsiz başla →

Eğitim-Sunum Sapması (Training-Serving Skew)

İş akışı
Ing: Training-Serving SkewSon güncelleme: 25 Eylül 2026
Modelin eğitimde gördüğü veriyle canlıda karşılaştığı veri arasındaki fark. Laboratuvarda parlayan modelin sahada çuvallamasının klasik nedeni.

Eğitim-Sunum Sapması nedir?

Eğitim-sunum sapması (training-serving skew), bir modelin eğitim sırasındaki performansı ile canlı ortamda (serving) gösterdiği performans arasındaki farktır. Daha doğrusu, bu farka yol açan tutarsızlıkların genel adıdır. Model testte yüzde 95 doğruluk verir, canlıya alınır ve bir anda tahminleri tuhaflaşır. Çoğu zaman sorun modelde değil, iki ortam arasındaki uyumsuzluktadır.

Nasıl çalışır?

Sapmanın birkaç yaygın kaynağı var:

  • Farklı ön işleme kodu: Eğitimde özellikler Python'da bir veri bilimi notebook'unda hesaplanır, canlıda ise başka bir ekip aynı mantığı başka bir dilde yeniden yazar. Küçük bir fark, örneğin bir normalizasyon katsayısı ya da tarih formatı, sonuçları bozar.
  • Veri gecikmesi: Eğitimde her özellik eksiksiz ve güncel görünür, ama canlıda bazı veriler birkaç saat gecikmeli gelir.
  • Geleceği görmek: Eğitim verisinde, tahmin anında aslında henüz bilinmeyen bilgiler bulunabilir. Model buna alışır, canlıda bu bilgi olmayınca şaşırır.
  • Dağılım farkı: Eğitim verisi belirli bir döneme veya kullanıcı grubuna aitken canlı trafik farklı bir kitleden gelir.
  • Geri bildirim döngüsü: Modelin kendi kararları canlı veriyi zamanla değiştirir.

Neden önemli?

Bu, MLOps'un en klasik ve en sinsi hatasıdır, çünkü sessiz kalır. Sistem hata vermez, sadece yanlış tahmin yapar. Fark edildiğinde ise çoğu zaman aylar geçmiş ve iş kararları bu yanlış tahminlere göre alınmış olur.

Önlemenin en etkili yolu, aynı özellik hesaplama kodunu hem eğitimde hem canlıda kullanmaktır. Feature store'ların yükselişinin arkasındaki ana motivasyon da budur. Bunun yanında canlıda gelen verinin dağılımını düzenli olarak eğitim verisiyle karşılaştırmak, tahminleri loglamak ve eğitim verisini mümkünse canlı loglardan üretmek önerilir.

Kullanım alanları

  • Model izleme: Canlı özellik dağılımlarını eğitim dağılımıyla karşılaştıran dashboard'lar.
  • Feature store mimarisi: Özellik mantığını tek yerde tanımlayıp iki ortama da aynı şekilde servis etmek.
  • Gölge dağıtım (shadow deployment): Yeni modeli gerçek trafikte sessizce çalıştırıp çıktılarını karşılaştırmak.
  • LLM uygulamaları: Değerlendirme setindeki prompt'lar ile gerçek kullanıcı mesajları arasındaki farkı takip etmek.
  • Veri doğrulama: Pipeline'a şema ve değer aralığı kontrolleri eklemek, beklenmeyen bir değer geldiğinde alarm üretmek.
mindi
mindi'nin notu
Eğitim-sunum sapması, "bende çalışıyordu" cümlesinin ML versiyonu. Aynı özelliği iki yerde iki farklı kodla hesaplıyorsan, sapma gelmiyor değil; henüz fark etmemişsin.