Vebende Akademi - model-deployment-stratejileri
Uzmanla Konuşun
Blog
MAKALE

Model Dağıtım Stratejileri — Mühendis Rehberi

Yayınlayan: Vebende Akademi  |  Okuma süresi: ~50-90 dk

Model Dağıtım Stratejileri — Mühendis Rehberi

Yayınlayan: Vebende Akademi  |  Okuma süresi: ~50-90 dk

1. Giriş

Model deployment (model dağıtımı), makine öğrenimi modellerini geliştirme ortamından üretim ortamına güvenli, tekrar edilebilir ve izlenebilir şekilde taşıma sürecidir. Modern ürünlerde ML modelleri iş kritik kararlar verdiği için dağıtım stratejileri hem teknik hem operasyonel açıdan büyük önem taşır. Yanlış bir dağıtım kararı performans gerilemesine, kullanıcı deneyimi bozulmasına veya regülasyon ihlallerine yol açabilir.

Bu teknoloji neden konuşuluyor?

  • Model sayısı, model sürümleri ve eğitim frekansı arttı; sürdürülebilir bir dağıtım sürecine ihtiyaç var.
  • Latensi, güvenlik, maliyet ve ölçek gereksinimleri dağıtım tercihlerini etkiliyor.
  • MLOps pratikleri ile CI/CD, model izleme ve operasyon süreçleri birleşiyor; dağıtım bir adım olmaktan çıkıp sürekli bir süreç haline geliyor.

Kimler için önemli?

MLOps mühendisleri, ML mühendisleri, platform ekipleri, SRE'ler, güvenlik ve uyum ekipleri için model deployment stratejileri kritik önem taşır. Ürünün üretim stabilitesi, maliyet verimliliği ve regülasyon uyumu doğrudan bu stratejilerin kalitesine bağlıdır.

Hangi problemleri çözüyor?

Doğru dağıtım stratejileri regresyon riskini azaltır, hızlı geri dönüş (rollback) sağlar, yeni modelleri kademeli olarak test etme imkânı verir ve production ortamındaki gözlemlenebilirliği (observability) artırır.

2. Kavramsal Temeller

Temel kavramlar

  • Deployment: Model artifact'inin çalıştırılabilir bir servise veya ortamına taşınması.
  • Inference: Modelin üretimde tahmin üretme işlemi.
  • Canary deployment: Yeni sürümün küçük bir trafik dilimiyle test edilmesi.
  • Blue-Green deployment: Eski (blue) ve yeni (green) ortamların paralel çalıştırılması ve trafik geçişiyle rollout.
  • Shadow deployment: Gerçek trafiğin yeni modele pasif olarak gönderilip sonuçların karşılaştırılması.
  • A/B testing: Farklı model veya model parametrelerinin kontrollü kullanıcı grupları üzerinde karşılaştırılması.
  • Serverless: Model sunumunun FaaS veya managed inference ile yapılması (ör. Lambda, Cloud Run).
  • Containerized serving: Modelin Docker imajı olarak paketlenip Kubernetes veya benzeri orkestratörlerde servis edilmesi.

Bileşenler

  1. Model artifact (weights, tokenizer, config)
  2. Serving katmanı (REST/gRPC/stream)
  3. Inference alt yapısı (CPU/GPU/accelerator)
  4. Load balancer ve API Gateway
  5. Monitoring & logging & drift detection
  6. CI/CD pipeline ve approval süreçleri

3. Nasıl Çalışır? — Teknik Mimari ve Stratejiler

Containerized serving (Kubernetes)

Model, bağımlılıklarıyla birlikte bir Docker imajı içine paketlenir. Kubernetes üzerinde Deployment/ReplicaSet ile yatay ölçek sağlanır. GPU kaynakları için node pool'lar veya device plugin'lar kullanılır. Bu modelin avantajı kontrol, gözlemlenebilirlik ve ölçeklenebilirliğin yüksek olmasıdır.

Serverless / Function-as-a-Service

Serverless dağıtım, kısa süreli veya düşük trafikli kullanım senaryolarında maliyet avantajı sağlar. Cold-start latency, paket boyutu ve model başlangıç zamanı gibi kısıtlar göz önünde bulundurulmalıdır. Büyük modeller için serverless maliyet ve latency dezavantajı olabilir.

Model-as-a-Service / Managed inference

Bulut sağlayıcılarının sunduğu managed inference hizmetleri (Sagemaker endpoints, Vertex AI, Azure ML endpoints) dağıtımı ve ölçeklemeyi kolaylaştırır. Ancak vendor-lockin ve maliyet konuları değerlendirilmelidir.

Edge deployment

On-device veya edge-side deployment, düşük gecikme ve offline çalışma sağlayan senaryolar içindir. Model quantization, pruning ve distillation teknikleriyle model boyutu küçültülür. Edge cihaz yönetimi, güvenlik sertifikaları ve güncelleme mekanizmaları kritik bileşenlerdir.

Canary, Blue-Green ve Shadow stratejileri

  • Canary: Yeni sürüm sisteme küçük bir yüzdeyle verilir (ör. %1). Metrikler gözlemlenir; problem yoksa trafik kademeli artırılır. Canary geri alımı genelde hızlıdır.
  • Blue-Green: Yeni sürüm tamamen yeni bir ortamda konuşlandırılır; geçiş tek seferde yapılır. Geçiş öncesi smoke testleri ve sağlık kontrolleri önemlidir.
  • Shadow: Yeni model gelen trafiği pasif olarak alır fakat yanıt üretmez; cevaplar karşılaştırılarak doğruluk ve performans analizi yapılır. Kullanıcı etkisi yoktur; güvenlik ve veri gizliliği dikkate alınmalıdır.

A/B Testing

A/B testleri, farklı model hipotezlerinin gerçek kullanıcılar üzerinde kontrol gruplarıyla sınanmasıdır. Statik örnekleme, ölçüm penceresi ve istatistiksel önemlilik planlanmalı; metriğin doğru tanımlanması gerekir (ör. CTR, revenue, latency, error-rate).

Batch vs Online Inference

Batch inference; büyük veri setlerine toplu tahmin uygulamak için uygundur (günlük raporlama, offline scoring). Online inference ise gerçek zamanlı kararlar için gereklidir. Bazı mimariler hibrittir: offline model çıktıları feature store'a yazılır ve online inference hızlı lookup ile çalışır.

4. Gerçek Dünya Kullanımları

Netflix — öneri modelleri

Netflix, öneri modellerini sıkça günceller. Canary ve A/B testleriyle yeni sürümlerin kullanıcı etkileşimine etkisi ölçülür. Büyük toplu yeniden hesaplama işleri offline pipeline'larda gerçekleştirilip, sonuçlar online servislerde kullanılmak üzere materialize edilir.

Uber — fiyatlama ve dispatch

Uber gibi gerçek zamanlı karar gerektiren platformlar düşük latency için özel serving altyapısı kullanır. Canary deployment ve shadow testleri kritik karar modellerinde yaygındır; ayrıca fallback modeller ve kompansasyon mekanizmaları iş süreçlerine entegre edilir.

Amazon — personalizasyon ve ranking

Amazon'da ranking modelleri için hem offline batch scoring hem de online reranker hizmetleri birlikte kullanılır. Embedding ve retriever modellerinin versiyon uyumluluğu sağlanmalı; rollback planları embedding index'leriyle koordineli olmalıdır.

OpenAI / LLM servisleri

Large language model (LLM) servislerinde model seçim, prompt/template versiyonlama ve cost-aware routing önemlidir. Yeni model sürümleri canary ile test edilir; hallucination veya regressions gözlemlenirse eski sürüme hızlı dönüş yapılır.

Stripe — fraud detection

Stripe benzeri finansal servisler için yanlış pozitif ve negatifleri minimize eden dikkatli canary süreçleri, shadow testleri ve HITL (human-in-the-loop) adımları önemlidir. Ayrıca audit ve explainability gereksinimleri dağıtım sürecine entegre edilir.

5. Avantajlar ve Sınırlamalar

Avantajlar

  • Güvenli rollout: Canary/Blue-Green ile regresyon riski azalır.
  • Esneklik: Containerized ve managed servisler farklı gereksinimlere uyum sağlar.
  • Observability: İyi planlanmış dağıtım pipeline'ı monitoring ile birleşince RCA süresi kısalır.

Sınırlamalar

  • Karmaşıklık: Çok sayıda sürüm, farklı runtime ve feature set'leri yönetmek operasyonel zorluk getirir.
  • Maliyet: GPU kaynakları, farklı ortamların paralel çalışması ve managed hizmetler yüksek maliyet oluşturabilir.
  • Latensi & cold-start: Serverless ya da büyük modellerde cold-start latency uygulamayı etkileyebilir.

6. Alternatifler ve Karşılaştırma

Aşağıdaki tablo farklı deployment yaklaşımlarını özetler.

YaklaşımAvantajDezavantaj
Containerized (Kubernetes)Kontrol, ölçek, observabilityOperasyonel karmaşıklık, infra maliyeti
ServerlessDüşük idle maliyet, kolay yönetimCold-start, paket sınırları, vendor-dependency
Managed endpoints (Sagemaker, Vertex)Hızlı kurulum, autoscalingVendor lock-in, maliyet
Edge deploymentDüşük latency, offline çalışmaUpdate zorluğu, cihaz yönetimi
Batch scoringVerimli büyük veri işlemeGerçek zamanlı kararlar için uygunsuz

7. En İyi Pratikler

Production kullanımı

  • Model versiyonlama: Registry kullanarak her sürümü metadata ile saklayın (train data, commit SHA, hyperparams).
  • CI/CD for models: Training → validation → registry → canary → production pipeline'ı kurun.
  • Approval & audit: Model production onayı ve deploy geçmişi merkezi olarak tutulmalı.
  • Fallback ve compensating actions: Model hatasında otomatik fallback senaryoları tanımlayın.

Performans optimizasyonu

  • Batching & batching windows: İnference throughput'u arttırmak için istekleri grup halinde işleyin.
  • Quantization & distillation: Model boyutunu ve latency'yi düşürmek için model optimizasyonu uygulayın.
  • Autoscaling: Queue length, p95 latency gibi metriklere göre ölçekleme yapın.

Güvenlik

  • Network izolasyonu, TLS, IAM/RBAC politikaları uygulayın.
  • Model imzalama ve checksum ile artifact bütünlüğünü doğrulayın.
  • PII handling: inference telemetrisinde kişisel verileri maskeleyin.

Ölçeklenebilirlik

  • Stateless serving: Model sunucularını stateless tasarlayıp state'i dış sistemlerde (feature store, cache) tutun.
  • Hardware-aware scheduling: GPU/TPU kaynaklarını etkin kullanacak planlama yapın.
  • Edge caching: Sık kullanılan sonuçları önbelleğe alarak gereksiz inference'i azaltın.

8. Sık Yapılan Hatalar

  • Modeli sadece local olarak test edip doğrudan prod'a geçirmek: üretim koşulları farklıdır.
  • Rollback planı olmadan deploy etmek: Regresyon durumunda hızlı müdahale yapılamaz.
  • Telemetry eksikliği: Metrik/trace/log olmadan RCA zorlaşır.
  • Feature drift'i göz ardı etmek: Model eskidikçe performans düşer; drift detection yoksa erken uyarı alınamaz.

9. Gelecek Trendler

  • Model orchestration: Training, validation, deployment ve monitoring adımlarını tek bir orkestrasyon içinde yöneten çözümler artacak.
  • Automated rollback ve self-healing sistemler: Anomali tespitinde otomatik geri dönüş ve onarım mekanizmaları yaygınlaşacak.
  • Model composability ve multi-model serving: Farklı modellerin pipeline içinde birlikte çalıştığı altyapılar gelişecek.
  • Explainability ve governance-in-the-loop: Deployment kararlarında explainability ve policy enforcements otomatikleşecek.

10. Sonuç

Model deployment, başarılı bir MLOps uygulamasının merkezinde yer alır. Strateji seçimi uygulamanın gecikme, maliyet, güvenlik ve ölçek gereksinimlerine göre değişir. Canary, blue-green, shadow ve A/B testing gibi yöntemler riskleri azaltırken observability, versioning ve rollback prosedürleri operasyonel güvenliği sağlar. Mühendis bakış açısıyla: otomasyon, ölçülebilir metrikler ve geri alma yolları olmayan dağıtımlar tehlikelidir; küçükten başlayıp güvenli, kontrollü ve ölçülebilir bir rollout süreci kurun.

Ek Bölümler

FAQ (Sık Sorulan Sorular)

  1. Canary dağıtımı nedir ve neden kullanılır?

    Canary, yeni sürümün küçük bir trafik yüzdesi ile test edilmesidir; regressions erken tespit edilir ve geri alma kolaydır.

  2. Blue-Green ile Canary arasındaki fark nedir?

    Blue-Green tam ortam değişimi sunar; Canary ise kademeli trafik artırımı yapar. Blue-Green genelde geçişin atomik olmasını sağlar, Canary daha kontrollü test imkânı tanır.

  3. Serverless model serving ne zaman uygundur?

    Düşük veya değişken trafik uygulamaları, kısa süreli istekler ve yönetim yükünü azaltmak istediğiniz senaryolarda uygundur. Büyük modeller için cold-start ve maliyet dezavantajları olabilir.

  4. Model versiyonlama nasıl yapılmalı?

    Model registry (MLflow, Sagemaker Model Registry) kullanarak artifact, eğitim veri versiyonu, commit SHA ve hyperparam metadata'sını saklayın.

  5. Shadow deployment hangi durumlarda tercih edilir?

    Yeni modelin davranışını kullanıcı etkisi olmadan gözlemlemek istediğiniz zaman; özellikle riskli ve hassas karar modellerinde faydalıdır.

  6. A/B testleri için dikkat edilmesi gereken metrikler nelerdir?

    Ölçmek istediğiniz iş metriklerini (CTR, gelir, churn) ve performans metriklerini (latency, error-rate) önceden belirleyin; istatistiksel önemlilik planlayın.

  7. Rollback nasıl otomatikleştirilir?

    Canary metrikleri belirlenen eşiklerin dışına çıkarsa CI/CD pipeline veya orchestration katmanı otomatik rollback tetikleyebilir. Ayrıca eski versiyon hızlı deploy için hazır tutulmalıdır.

  8. Online vs batch inference kararını nasıl veririm?

    Gerçek zamanlı iş gereksinimi, latency SLA'ları ve maliyet-süreç trade-off'u göz önüne alın. Gerçek zaman gerektirmeyen işler için batch daha ekonomiktir.

Anahtar Kavramlar

  • Canary deployment: Yeni sürümün küçük bir trafik dilimiyle test edilmesi.
  • Blue-Green deployment: Paralel iki ortam ve atomik geçiş.
  • Shadow deployment: Pasif test için paralel inference.
  • Serverless: Yönetilen, event-driven çalışma modeli.
  • Containerized serving: Docker/Kubernetes ile ölçeklenebilir model sunumu.

Öğrenme Yol Haritası

  1. Temel: Docker, Kubernetes, temel ağ ve güvenlik kavramları.
  2. CI/CD: Git, pipeline araçları (GitHub Actions, GitLab CI, Jenkins) ve otomasyon.
  3. MLOps araçları: MLflow, KServe, Seldon, BentoML ve bulut sağlayıcılarının managed çözümleri.
  4. Model optimizasyon: Quantization, pruning, distillation ve accelerator kullanımı.
  5. Observability: Prometheus, Grafana, OpenTelemetry, drift detection ve logging pratikleri.