Batch inference ile online (real-time) inference arasındaki fark nedir? Hangisini ne zaman seçersiniz?
Cevap
Batch inference'ta tahminler periyodik olarak (örneğin her gece) büyük veri kümeleri için toplu hesaplanır ve bir tabloya yazılır. Uygulama hazır sonucu okur. Online inference'ta model bir servis (REST/gRPC) arkasında çalışır ve her istek geldiğinde milisaniyeler içinde tahmin üretir.
| Özellik | Batch | Online |
|---|---|---|
| Gecikme | Saatler (önceden hesaplanmış) | Milisaniyeler |
| Altyapı | Spark, Airflow, zamanlanmış job | Model server, autoscaling, load balancer |
| Maliyet | Ucuz, kaynak verimli | Sürekli çalışan servis, daha pahalı |
| Özellik tazeliği | Son batch kadar eski | İstek anındaki güncel veri kullanılabilir |
| Hata etkisi | Job yeniden çalıştırılır | Doğrudan kullanıcıyı etkiler |
| Örnek | Günlük churn skorları, haftalık öneri listeleri | Fraud tespiti, arama sıralaması, chatbot |
Ara çözümler
- Streaming inference: Kafka/Flink ile olaylar geldikçe yakın gerçek zamanlı tahmin.
- Hibrit: Pahalı kısım (kullanıcı embedding'leri, aday listeleri) batch'te hesaplanır, son sıralama online yapılır. Öneri sistemlerinde yaygındır.
Seçim kriterleri
- Tahmin istek anındaki bilgiye mi bağlı (sepet içeriği, işlem tutarı)? Online.
- Girdi uzayı sınırlı ve önceden biliniyor mu (tüm müşteriler)? Batch yeterli.
- Gecikme SLA'i ve trafik hacmi nedir?
- Ekibin servis işletme kapasitesi var mı?
Online serving için tipik araçlar: FastAPI, BentoML, KServe, NVIDIA Triton, LLM'ler için vLLM. Batch için Spark, Ray, Airflow veya bulut batch 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.