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 (model sunucu), eğitilmiş bir makine öğrenimi modelini gerçek dünya kullanıcılarına veya sistemlerine çıkarım (inference) hizmeti verecek biçimde dağıtma ve işletme sürecinin tüm bütününü kapsar. Araştırma ortamında yüksek doğruluk sergileyen bir model, güvenilir bir servis altyapısı kurulmadan iş değerine dönüşemez; model serving bu boşluğu dolduran mühendislik disiplinidir. Bir model serving sistemi gelen HTTP veya gRPC isteklerini alır, modeli bellekte etkin biçimde tutar ve tahmin sonuçlarını olabildiğince kısa gecikmeyle geri döndürür. Büyük ölçekli sistemlerde bu süreç saniyede binlerce isteği karşılar. Başarının üç temel metrikle ölçüldüğü kabul görür: gecikme süresi (latency, tek bir isteğin yanıt süresi), verim (throughput, birim zamanda işlenen istek sayısı) ve kullanılabilirlik (availability, sistemin kesintisiz çalışma oranı). Servis modelleri kullanım senaryosuna göre üçe ayrılır. Çevrimiçi servis (online serving) gerçek zamanlı tahmin gereksinimlerini karşılar ve öneri sistemleri ile dolandırıcılık tespitinde yaygındır. Toplu iş servisi (batch serving) büyük veri kümeleri üzerinde önceden planlanmış tahminler yürütür; gecikme toleransı yüksek, işlem hacmi büyük görevler için uygundur. Akış servisi (stream serving) ise Kafka veya Pub/Sub gibi mesaj kuyrukları üzerinden sürekli veri akışını işler; IoT sensör analizi ve gerçek zamanlı anomali tespiti bu kategoride yer alır. Performans optimizasyonu açısından kuantizasyon (quantization), model ağırlıklarını FP32'den INT8 veya FP16'ya indirerek bellek kullanımını ve gecikmeyi azaltır. Dinamik gruplama (dynamic batching), birden fazla isteği bir arada işleyerek GPU verimliliğini artırır. Model önbellekleme (caching) ise tekrar eden sorguların yeniden hesaplanmasını önler. NVIDIA Triton Inference Server, TorchServe, BentoML ve KServe gibi çıkarım sunucuları bu optimizasyonları yönetilen biçimde sunar. Bulut tarafında AWS SageMaker, Google Vertex AI ve Azure ML, tam yönetilen model serving altyapısı olarak öne çıkar.

cloud_upload

Model Serving (Model Servis (Çıkarım Sunumu))

Model serving (model sunucu), eğitilmiş bir makine öğrenimi modelini gerçek dünya kullanıcılarına veya sistemlerine çıkarım (inference) hizmeti verecek biçimde dağıtma ve işletme sürecinin tüm bütününü kapsar. Araştırma ortamında yüksek doğruluk sergileyen bir model, güvenilir bir servis altyapısı kurulmadan iş değerine dönüşemez; model serving bu boşluğu dolduran mühendislik disiplinidir. Bir model serving sistemi gelen HTTP veya gRPC isteklerini alır, modeli bellekte etkin biçimde tutar ve tahmin sonuçlarını olabildiğince kısa gecikmeyle geri döndürür. Büyük ölçekli sistemlerde bu süreç saniyede binlerce isteği karşılar. Başarının üç temel metrikle ölçüldüğü kabul görür: gecikme süresi (latency, tek bir isteğin yanıt süresi), verim (throughput, birim zamanda işlenen istek sayısı) ve kullanılabilirlik (availability, sistemin kesintisiz çalışma oranı). Servis modelleri kullanım senaryosuna göre üçe ayrılır. Çevrimiçi servis (online serving) gerçek zamanlı tahmin gereksinimlerini karşılar ve öneri sistemleri ile dolandırıcılık tespitinde yaygındır. Toplu iş servisi (batch serving) büyük veri kümeleri üzerinde önceden planlanmış tahminler yürütür; gecikme toleransı yüksek, işlem hacmi büyük görevler için uygundur. Akış servisi (stream serving) ise Kafka veya Pub/Sub gibi mesaj kuyrukları üzerinden sürekli veri akışını işler; IoT sensör analizi ve gerçek zamanlı anomali tespiti bu kategoride yer alır. Performans optimizasyonu açısından kuantizasyon (quantization), model ağırlıklarını FP32'den INT8 veya FP16'ya indirerek bellek kullanımını ve gecikmeyi azaltır. Dinamik gruplama (dynamic batching), birden fazla isteği bir arada işleyerek GPU verimliliğini artırır. Model önbellekleme (caching) ise tekrar eden sorguların yeniden hesaplanmasını önler. NVIDIA Triton Inference Server, TorchServe, BentoML ve KServe gibi çıkarım sunucuları bu optimizasyonları yönetilen biçimde sunar. Bulut tarafında AWS SageMaker, Google Vertex AI ve Azure ML, tam yönetilen model serving altyapısı olarak öne çıkar.

arrow_forward
code_blocks

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 deney takibi, artifact yönetimi ile görsel pipeline grafiği sunar. KServe (eski adıyla KFServing), üretim ortamında model sunma platformudur; canary deployment, A/B testi ve otomatik ölçeklendirme (autoscaling) destekler; TensorFlow Serving, TorchServe ve NVIDIA Triton ile entegre çalışır. Katib, Kubernetes üzerinde hiperparametre optimizasyonu (HPO) ve sinir ağı mimarisi araştırması (NAS) gerçekleştirir; Bayesian optimizasyon ve Hyperband algoritmaları desteklenir. Training Operators bileşeni, PyTorchJob ve TFJob aracılığıyla dağıtık model eğitimini koordine eder; çok node'lu GPU kümeleri üzerinde veri paralelliğini yönetir. Kubeflow Notebooks ise Jupyter Notebook sunucularını Kubernetes üzerinde başlatarak GPU/CPU kaynak yapılandırması 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 daha fazla zaman ve uzmanlık gerektirir. Vertex AI Pipelines (Google Cloud), SageMaker Pipelines (AWS) ve Azure ML gibi yönetilen alternatifler altyapı yükünü azaltır; ancak belirli bir bulut ekosistemiyle bağımlılık yaratır. Türkiye'de cloud-agnostic ve on-premises MLOps altyapısı kurmak isteyen büyük şirketler ile araştırma kurumları Kubeflow'u değerlendirmektedir. Kubeflow'u MLflow ile birlikte kullanmak yaygın ve etkili bir pratiktir: MLflow deney takibi ve model registry için, Kubeflow Pipelines ise iş akışı orkestrasyon ve dağıtık eğitim için tercih edilir. Bu kombinasyon, her iki platformun güçlü yönlerini bir arada değerlendirmeyi, aynı zamanda açık ve taşınabilir bir MLOps altyapısı kurmayı mümkün kılar.

arrow_forward