Model Dağıtımı Nasıl Çalışır?
Model dağıtımı, eğitilmiş bir makine öğrenmesi modelinin bir API veya mikro servis aracılığıyla kullanıcı taleplerine yanıt verecek şekilde üretim ortamına taşınmasıdır. Süreç; model paketleme (ONNX veya TorchScript formatına dönüştürme), konteynerleştirme (Docker/Kubernetes), API uç noktası yapılandırması, yük dengeleme (load balancing) ve otomatik ölçekleme (auto-scaling) adımlarını kapsar. Gerçek zamanlı dağıtımda model, gelen her isteğe milisaniyeler içinde tahmin döndürür; toplu dağıtımda ise büyük veri kümesi periyodik olarak işlenir. Her iki modda da model sürüm yönetimi, A/B testi alt yapısı ve izleme pipeline'ı kritik bileşenlerdir.
Dağıtım Stratejileri
Blue-Green Deployment
Eski (blue) ve yeni (green) model sürümleri eş zamanlı çalışır. Trafik bir anda yeni sürüme yönlendirilerek sıfır kesinti sağlanır; sorun çıkarsa anında geri dönülebilir.
Canary Deployment
Yeni model sürümü önce kullanıcıların küçük bir yüzdesine (%5-10) sunulur. Sorun yoksa trafik kademeli artırılır; risk minimize edilmiş olur.
A/B Testing
Farklı model varyantları kullanıcı gruplarına paralel sunularak performans metrikleri (dönüşüm, doğruluk, latency) karşılaştırılır ve kazanan model belirlenir.
Shadow Deployment
Yeni model gerçek trafiği kopyalayarak arka planda çalışır fakat sonuçları kullanıcıya dönmez; production performansı güvenli ortamda test edilir.
Temel Araçlar ve Platformlar
- check_circle NVIDIA Triton Inference Server: GPU/CPU destekli yüksek performanslı model servis altyapısı; TensorFlow, PyTorch, ONNX modellerini destekler.
- check_circle BentoML: Python tabanlı, framework-agnostic model paketleme ve servis aracı; REST ve gRPC API oluşturmayı kolaylaştırır.
- check_circle Seldon Core: Kubernetes üzerinde kurumsal ölçekte model dağıtım ve izleme platformu; explainability ve drift detection desteği vardır.
- check_circle MLflow: Model yaşam döngüsü yönetimi: deney takibi, model registry ve dağıtım iş akışlarını tek çatı altında sunar.
- check_circle TensorFlow Serving: TF ve Keras modelleri için yüksek performanslı, üretime hazır servis altyapısı; versiyonlama ve sıcak model değişimi destekler.
Sıkça Sorulan Sorular
- check_circle Model deployment ile model training arasındaki fark nedir?: Training, modeli veri üzerinde öğreten süreçtir; deployment ise eğitilmiş modeli gerçek kullanıcı taleplerine yanıt verecek şekilde üretim ortamına taşıma sürecidir. Training genellikle bir kez veya periyodik yapılırken deployment sürekli canlı durmak zorundadır.
- check_circle Edge deployment ile cloud deployment ne zaman tercih edilir?: Düşük gecikme, çevrimdışı çalışma veya veri gizliliği gereken durumlarda edge (uç) deployment tercih edilir. Büyük model boyutu, elastik ölçekleme ihtiyacı veya merkezi veri erişimi gerekiyorsa cloud deployment daha uygundur.
- check_circle Model drift nedir ve nasıl tespit edilir?: Model drift, üretim ortamındaki gerçek verinin eğitim verisinden uzaklaşmasıyla modelin performansının düşmesidir. Veri dağılımı değişikliği (data drift) veya giriş-çıkış ilişkisinin değişimi (concept drift) izleme araçlarıyla (Evidently, Whylogs) tespit edilir.
- check_circle Canary deployment kaç yüzde trafikle başlatılmalıdır?: Genellikle toplam trafiğin %5-10'u ile başlanır. Risk düzeyi ve kullanıcı tabanına göre bu oran kademeli artırılır. Kritik sistemlerde %1 ile başlamak daha ihtiyatlı bir yaklaşımdır.