Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme
Model pod'ları için Kubernetes HPA, trafiğe dayalı ölçeklendirme, A/B dağıtımı, kanarya sürümleri.
Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Otomatik Ölçeklendirme Neden Kullanılır
Çıkarım trafiği nadiren sabit olur. En yüksek yüke göre kaynak ayırmak geceleri para israfına, ortalama yüke göre kaynak ayırmak ise yoğun saatlerde başarısızlığa yol açar. Otomatik ölçeklendirme, talebe göre kopya sayısını otomatik olarak ayarlar; böylece kullandığınız kadar öder ve yanıt verebilirliğinizi korursunuz.
Pod'lar ve Kopyalar
Kubernetes üzerinde bir model sunucusu, birbirinin aynısı olan pod'lardan (kopyalardan) oluşan bir Deployment olarak çalışır. Ölçeklendirme, kopya sayısını değiştirmek anlamına gelir. Bir Service, istekleri mevcut kopyalar arasında yük dengeli biçimde dağıtır.
apiVersion: apps/v1
kind: Deployment
metadata:
name: model-server
spec:
replicas: 2
template:
spec:
containers:
- name: server
image: my-model:latestHorizontal Pod Autoscaler
Horizontal Pod Autoscaler (HPA), bir metriği izler ve bu metriği hedefe yakın tutmak için pod ekler veya kaldırır. Klasik metrik CPU kullanım oranıdır.
CPU Kullanımına Göre HPA
targetCPUUtilizationPercentage, HPA'ya ortalama CPU kullanımını bir hedefe yakın tutmasını söyler. Pod'ların ortalama CPU kullanımı %80 ve hedef %50 ise HPA, kullanım yeniden %50'ye yaklaşana kadar ölçeği büyütür.
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: model-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: model-server
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 50CPU Tabanlı Ölçeklendirmenin Sınırları
CPU, bazı iş yükleri için yetersiz bir göstergedir. GPU kullanan bir modelde darboğaz GPU olabilirken CPU kullanımı düşük kalabilir veya eşzamansız bir çalışanın kuyruğu büyürken CPU boşta kalabilir. Bu durumlarda bunun yerine iş yüküne özgü bir sinyale göre ölçeklendirin.
Olay Güdümlü Ölçeklendirme için KEDA
KEDA (Kubernetes Olay Güdümlü Otomatik Ölçeklendirme), kuyruk uzunluğu, Kafka gecikmesi veya Prometheus sorguları gibi harici metriklere göre ölçeklendirir. İş olmadığında sıfıra kadar ölçeklendirme yapabilir; HPA bunu kendi başına yapamaz.
Kuyruk Tabanlı KEDA ScaledObject
Bu KEDA ScaledObject'i, ileti kuyruğu büyüdüğünde çalışanlar ekler. queueLength birikimindeki her birim başka bir kopyayı tetikler; böylece tüketici ani yoğunluklara ayak uydurur.
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: inference-worker
spec:
scaleTargetRef:
name: inference-worker
minReplicaCount: 0
maxReplicaCount: 20
triggers:
- type: rabbitmq
metadata:
queueName: inference
queueLength: "10"Ingress ile Yük Dengeleme
Harici trafik, ingress üzerinden pod'larınıza ulaşır. Bir nginx ingress denetleyicisi TLS'yi sonlandırır ve istekleri kopyalarınızı destekleyen Service arasında dağıtır; böylece ölçek artırıldığında yük hemen yayılır.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: model-ingress
spec:
ingressClassName: nginx
rules:
- host: api.example.com
http:
paths:
- path: /predict
pathType: Prefix
backend:
service:
name: model-server
port:
number: 8000Güvenli Sürümler: Canary
Yeni bir model sürümünü aynı anda tüm trafiğe sunmak risklidir. Canary sürümü, trafiğin küçük bir bölümünü yeni sürüme yönlendirir, metriklerini izler ve ardından daha büyük bir bölümü kademeli olarak yeni sürüme aktarır.
Trafik Ağırlıklarıyla Canary
nginx ingress canary ek açıklamaları, isteklerin belirli bir yüzdesini ikinci bir dağıtıma yönlendirir. %10 ile başlayın, hata oranını ve gecikmeyi doğrulayın, ardından ağırlığı %100'e çıkarın.
metadata:
annotations:
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-weight: "10"Ölçeklendirmeyi Bir Araya Getirme
Sağlam bir kurulum tüm bunları birleştirir:
- HPA veya KEDA, kopya sayısını talebe göre belirler
- Ingress, kopyalar arasında yük dengeler
- Canary ağırlıkları, yeni sürümleri güvenli biçimde kullanıma sunar
Bunlar birlikte esnek, dayanıklı ve düşük riskli model hizmet sunumu sağlar.
Hızlı Kontrol
Ölçeklendirme bilginizi test edin.
Özet
Model uç noktalarını ölçeklendirmeyi öğrendiniz:
- HPA,
targetCPUUtilizationPercentageile CPU kullanımına göre ölçeklendirir - KEDA, kuyruk uzunluğuna göre ölçeklendirir ve sıfıra kadar ölçeklendirmeyi destekler
- nginx ingress, kopyalar arasında yük dengeler
- Canary ağırlıkları, güvenli sürümler için trafiği kademeli olarak aktarır
Sıkça Sorulan Sorular
“Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme” dersi ücretsiz mi?
Evet — “Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme” dersinde ne öğreneceğim?
Model pod'ları için Kubernetes HPA, trafiğe dayalı ölçeklendirme, A/B dağıtımı, kanarya sürümleri. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Docker ile Makine Öğrenmesi Modellerini Konteynerleştirme
- Buluta Dağıtım: AWS SageMaker
- Triton Inference Server ile Yüksek Performanslı Sunum
- Model Uç Noktalarını Ölçeklendirme ve Otomatik Ölçeklendirme