tag Model Serving
Bu sayfada Model Serving etiketi ile işaretlenmiş 3 yapay zeka kavramını bulabilirsiniz.
FastAPI, Python ile modern ve yüksek performanslı web API'leri geliştirmek için kullanılan açık kaynaklı bir web çerçevesidir. Sebastián Ramírez tarafından geliştirilen ve 2018'de yayımlanan çerçeve, Starlette (ASGI web katmanı) ile Pydantic (veri doğrulama) kütüphaneleri üzerine kuruludur. Adındaki "fast" hem çalışma hızına hem de geliştirme hızına işaret eder: async/await destekli asenkron mimarisi eş zamanlı binlerce isteği verimli biçimde işler, Python type hint entegrasyonu ise kod yazılırken otomatik tamamlama, doğrulama ve dokümantasyon üretir. FastAPI'yi öne çıkaran nokta, geliştiricinin tek bir kaynaktan üç şeyi birden elde etmesidir. Endpoint fonksiyonuna tip açıklamaları eklendiğinde Pydantic gelen veriyi çalışma anında doğrular, hatalı istekler modele ulaşmadan 422 hatasıyla geri çevrilir ve Swagger UI ile ReDoc arayüzleri kod değişikliği gerekmeden interaktif API belgesi olarak yayınlanır. Bu yaklaşım hem hata oranını düşürür hem de ekiplerin API sözleşmesini güncel tutmasını kolaylaştırır. Dependency injection sistemi, veritabanı bağlantısı ve kimlik doğrulama gibi ortak bağımlılıkları endpoint'lere temiz biçimde aktarır; bu da test edilebilirliği artırır. Yapay zeka tarafında FastAPI, model servis katmanının fiili standardı konumundadır. PyTorch veya Hugging Face modellerini REST endpoint'i olarak sunmak, LLM çağrılarını Server-Sent Events ile token token istemciye aktarmak ve RAG pipeline'larını HTTP üzerinden erişilebilir kılmak için yaygın biçimde tercih edilir. Üretimde Uvicorn ile çalıştırılır, Docker ve Kubernetes ortamlarında yatay olarak ölçeklenir; Microsoft ve Uber gibi şirketlerin üretim sistemlerinde kendine yer bulur.
FastAPI (Python Web Çerçevesi)
FastAPI, Python ile modern ve yüksek performanslı web API'leri geliştirmek için kullanılan açık kaynaklı bir web çerçevesidir. Sebastián Ramírez tarafından geliştirilen ve 2018'de yayımlanan çerçeve, Starlette (ASGI web katmanı) ile Pydantic (veri doğrulama) kütüphaneleri üzerine kuruludur. Adındaki "fast" hem çalışma hızına hem de geliştirme hızına işaret eder: async/await destekli asenkron mimarisi eş zamanlı binlerce isteği verimli biçimde işler, Python type hint entegrasyonu ise kod yazılırken otomatik tamamlama, doğrulama ve dokümantasyon üretir. FastAPI'yi öne çıkaran nokta, geliştiricinin tek bir kaynaktan üç şeyi birden elde etmesidir. Endpoint fonksiyonuna tip açıklamaları eklendiğinde Pydantic gelen veriyi çalışma anında doğrular, hatalı istekler modele ulaşmadan 422 hatasıyla geri çevrilir ve Swagger UI ile ReDoc arayüzleri kod değişikliği gerekmeden interaktif API belgesi olarak yayınlanır. Bu yaklaşım hem hata oranını düşürür hem de ekiplerin API sözleşmesini güncel tutmasını kolaylaştırır. Dependency injection sistemi, veritabanı bağlantısı ve kimlik doğrulama gibi ortak bağımlılıkları endpoint'lere temiz biçimde aktarır; bu da test edilebilirliği artırır. Yapay zeka tarafında FastAPI, model servis katmanının fiili standardı konumundadır. PyTorch veya Hugging Face modellerini REST endpoint'i olarak sunmak, LLM çağrılarını Server-Sent Events ile token token istemciye aktarmak ve RAG pipeline'larını HTTP üzerinden erişilebilir kılmak için yaygın biçimde tercih edilir. Üretimde Uvicorn ile çalıştırılır, Docker ve Kubernetes ortamlarında yatay olarak ölçeklenir; Microsoft ve Uber gibi şirketlerin üretim sistemlerinde kendine yer bulur.
Model Deployment (Model Dağıtımı)
Model Dağıtımı (Model Deployment), bir makine öğrenmesi veya derin öğrenme modelinin araştırma ve geliştirme ortamından alınarak gerçek dünya kullanıcılarına hizmet verecek üretim ortamına (production) taşınma sürecidir. Bu süreç, bir yapay zeka projesinin kritik son aşamasını oluşturur; en yüksek doğruluklu model bile kullanıcılara ulaşamazsa hiçbir değer üretemez. Dağıtım süreci birkaç temel aşamayı kapsar: modelin optimize edilmesi ve paketlenmesi, servis altyapısının kurulması, API uç noktalarının yapılandırılması, gerçek zamanlı (real-time) veya toplu (batch) tahmin hizmetlerinin devreye alınması ve sürekli izleme mekanizmalarının aktif edilmesi. Model, ONNX, TensorFlow SavedModel, PyTorch TorchScript gibi taşınabilir formatlara dönüştürülerek farklı platformlarda çalışabilir hale getirilir. Dağıtım stratejileri uygulamanın gereksinimlerine göre değişir. Mavi-Yeşil (Blue-Green) dağıtımda eski ve yeni model sürümleri paralel çalışır, trafik kesintisiz aktarılır. Kanarya (Canary) dağıtımında yeni model önce küçük bir kullanıcı grubuna sunularak riskler minimize edilir. A/B testi stratejisiyle farklı model sürümlerinin performansı karşılaştırılarak en iyi model seçilir. Dağıtım ortamları bulut (cloud), uç bilişim (edge) veya yerel sunucu (on-premise) olabilir. LLM gibi büyük dil modelleri genellikle GPU kümelerinde çalıştırılırken, küçük modeller akıllı telefon ve IoT cihazları gibi uç ortamlarda çalıştırılabilir. NVIDIA Triton Inference Server, TensorFlow Serving, Seldon Core, BentoML ve MLflow gibi araçlar modern model dağıtım ekosisteminin temel taşlarıdır. Model izleme, başarılı bir dağıtımın ayrılmaz parçasıdır. Veri kayması (data drift), kavram kayması (concept drift) ve performans düşüşleri sürekli izlenerek gerektiğinde otomatik yeniden eğitim (retraining) tetiklenir. Otomasyon düzeyi arttıkça model dağıtımı MLOps disiplininin merkezine taşınmaktadır.
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.