tag Kubernetes
Model Serving (Model Servis (Çıkarım Sunumu))
Bu sayfada Kubernetes (Model Serving (Model Servis (Çıkarım Sunumu))) etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.
Model Serving, eğitilmiş bir makine öğrenimi modelini üretim ortamında gerçek kullanıcılara veya sistemlere sunmak için kullanılan altyapı, araçlar ve süreçlerin bütününü ifade eder. Bir model ne kadar iyi eğitilmiş olursa olsun, bir servis arayüzü olmadan son kullanıcılara değer üretemez; model serving bu kritik boşluğu kapatır. Model serving süreci birkaç temel bileşenden oluşur: çıkarım sunucusu (inference server), model deposu (model registry), yük dengeleyici (load balancer) ve izleme sistemi (monitoring). Bunların bir araya gelmesiyle oluşan sistem, gelen tahmin isteklerini milisaniyeler içinde yanıtlayabilir. Sektörde yaygın olarak kullanılan servis çerçeveleri arasında TorchServe (PyTorch ekosistemi), NVIDIA Triton Inference Server (çok modelli, GPU-optimize), TensorFlow Serving, FastAPI ve BentoML yer alır. Her biri farklı performans, ölçeklenebilirlik ve model formatı gereksinimlerine göre seçilir. Servis modelleri açısından üç ana yaklaşım bulunur: çevrimiçi servis (online serving), gerçek zamanlı ve düşük gecikme süresi gerektiren tahmin isteklerinde kullanılır; toplu iş servisi (batch serving), büyük veri setleri üzerinde toplu tahmin çalıştırılmasına olanak tanır ve gerçek zamanlılık gerekmez; akış servisi (stream serving) ise Kafka veya Pub/Sub gibi mesaj kuyrukları üzerinden sürekli veri akışını işler. Çıkarım hızını artırmak için quantization (kuantizasyon), pruning (budama), ONNX formatına dönüştürme ve TensorRT optimizasyonu gibi teknikler yaygın olarak uygulanır. Kubernetes üzerinde çalışan model serving sistemi, gelen istek yüküne göre yatay olarak ölçeklendirilebilir. Otoscaling, maliyet optimizasyonu açısından kritik öneme sahiptir ve kullanım artışlarında otomatik olarak yeni sunucu instance'ları devreye girer.
Model Serving (Model Servis (Çıkarım Sunumu))
Model Serving, eğitilmiş bir makine öğrenimi modelini üretim ortamında gerçek kullanıcılara veya sistemlere sunmak için kullanılan altyapı, araçlar ve süreçlerin bütününü ifade eder. Bir model ne kadar iyi eğitilmiş olursa olsun, bir servis arayüzü olmadan son kullanıcılara değer üretemez; model serving bu kritik boşluğu kapatır. Model serving süreci birkaç temel bileşenden oluşur: çıkarım sunucusu (inference server), model deposu (model registry), yük dengeleyici (load balancer) ve izleme sistemi (monitoring). Bunların bir araya gelmesiyle oluşan sistem, gelen tahmin isteklerini milisaniyeler içinde yanıtlayabilir. Sektörde yaygın olarak kullanılan servis çerçeveleri arasında TorchServe (PyTorch ekosistemi), NVIDIA Triton Inference Server (çok modelli, GPU-optimize), TensorFlow Serving, FastAPI ve BentoML yer alır. Her biri farklı performans, ölçeklenebilirlik ve model formatı gereksinimlerine göre seçilir. Servis modelleri açısından üç ana yaklaşım bulunur: çevrimiçi servis (online serving), gerçek zamanlı ve düşük gecikme süresi gerektiren tahmin isteklerinde kullanılır; toplu iş servisi (batch serving), büyük veri setleri üzerinde toplu tahmin çalıştırılmasına olanak tanır ve gerçek zamanlılık gerekmez; akış servisi (stream serving) ise Kafka veya Pub/Sub gibi mesaj kuyrukları üzerinden sürekli veri akışını işler. Çıkarım hızını artırmak için quantization (kuantizasyon), pruning (budama), ONNX formatına dönüştürme ve TensorRT optimizasyonu gibi teknikler yaygın olarak uygulanır. Kubernetes üzerinde çalışan model serving sistemi, gelen istek yüküne göre yatay olarak ölçeklendirilebilir. Otoscaling, maliyet optimizasyonu açısından kritik öneme sahiptir ve kullanım artışlarında otomatik olarak yeni sunucu instance'ları devreye girer.
Kubeflow (Kubeflow)
Kubeflow, Google'ın Kubernetes altyapısı üzerine inşa ettiği açık kaynak makine öğrenimi platform paketidir. 2018'de Google'ın kendi iç ML iş akışlarını kamuya açması sonucu ortaya çıkan Kubeflow, veri bilimcilerin ve ML mühendislerinin model deneme ve geliştirme süreçlerini Kubernetes orkestrasyon katmanında standartlaştırmasını ve üretime taşımasını hedefler. Kubeflow'un beş temel bileşeni vardır. Kubeflow Pipelines (KFP), Python SDK ile tanımlanan DAG (Yönlü Asiklik Çizge) tabanlı ML iş akışlarıdır; her adım izole Docker container içinde çalışır ve yeniden kullanılabilir komponent kütüphanesi sunar. Deney takibi (lineage), artifact yönetimi ve görsel pipeline grafiği de bu bileşene dahildir. KServe (eski adıyla KFServing), üretim ortamında model sunma (inference) platformudur; canary deployment, A/B testi, model versiyonlama ve otomatik ölçeklendirme (autoscaling) destekler; TensorFlow Serving, TorchServe ve NVIDIA Triton gibi backend'lerle entegre çalışır. Katib, Kubernetes üzerinde hiperparametre optimizasyonu (HPO) ve sinir ağı mimarisi araştırması (NAS) gerçekleştirir; Bayesian optimizasyon, CMA-ES ve Hyperband algoritmaları desteklenir. Training Operators bileşeni, PyTorchJob, TFJob ve MPI Operator aracılığıyla dağıtık model eğitimini yönetir; çok node'lu GPU kümeleri üzerinde veri paralelliğini koordine eder. Kubeflow Notebooks ise Jupyter Notebook sunucularını Kubernetes üzerinde başlatarak GPU/CPU kaynak yapılandırması ve çalışma ortamı seçimi sunar. MLOps olgunluk seviyesi yüksek ve Kubernetes altyapısı olan kuruluşlar için güçlü bir seçenek olan Kubeflow, öğrenme eğrisi yoğun bir araçtır: Kubernetes bilgisi zorunludur ve kurulum karmaşıklığı MLflow veya ZenML'e kıyasla yüksektir. Vertex AI Pipelines (Google Cloud), SageMaker Pipelines (AWS) ve Azure ML gibi yönetilen alternatifler altyapı yükünü azaltır. Türkiye'de cloud-agnostic ve on-premises MLOps altyapısı kurmak isteyen büyük şirketler ve araştırma kurumları Kubeflow'u değerlendirmektedir; Kubernetes yetkinliğinin ekipte bulunması ön koşuldur.