0Pricing
Learn AI with Python · Pelajaran

Penskalaan dan Penskalaan Otomatis Endpoint Model

Kubernetes HPA untuk pod model, penskalaan berbasis lalu lintas, penerapan A/B, rilis canary.

Penskalaan dan Penskalaan Otomatis Endpoint Model adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Mengapa Penskalaan Otomatis

Lalu lintas inferensi jarang datar. Menyediakan kapasitas untuk beban puncak memboroskan biaya pada malam hari; menyediakan kapasitas untuk beban rata-rata menyebabkan kegagalan saat puncak. Penskalaan otomatis menyesuaikan jumlah replika secara otomatis berdasarkan permintaan, sehingga Anda membayar sesuai penggunaan dan layanan tetap responsif.

Pod dan Replika

Di Kubernetes, peladen model berjalan sebagai Deployment yang terdiri dari pod identik (replika). Penskalaan berarti mengubah jumlah replika. Sebuah Service menyeimbangkan beban permintaan di antara replika yang tersedia.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: model-server
spec:
  replicas: 2
  template:
    spec:
      containers:
        - name: server
          image: my-model:latest

Horizontal Pod Autoscaler

Horizontal Pod Autoscaler (HPA) memantau sebuah metrik serta menambah atau menghapus pod agar nilainya tetap mendekati target. Metrik klasiknya adalah utilisasi CPU.

HPA pada Utilisasi CPU

targetCPUUtilizationPercentage memberi tahu HPA untuk menjaga rata-rata CPU mendekati target. Jika rata-rata CPU pod adalah 80% dan targetnya 50%, HPA akan meningkatkan skala hingga utilisasi turun kembali mendekati 50%.

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: model-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: model-server
  minReplicas: 2
  maxReplicas: 10
  targetCPUUtilizationPercentage: 50

Keterbatasan Penskalaan Berbasis CPU

CPU merupakan proksi yang kurang baik untuk beberapa beban kerja. Model GPU mungkin mengalami kemacetan pada GPU sementara CPU tetap rendah, atau pekerja asinkron mungkin memiliki antrean yang terus bertambah sementara CPU menganggur. Untuk kasus ini, lakukan penskalaan berdasarkan sinyal khusus beban kerja.

KEDA untuk Penskalaan Berbasis Peristiwa

KEDA (Penskalaan Otomatis Berbasis Peristiwa Kubernetes) melakukan penskalaan berdasarkan metrik eksternal seperti panjang antrean, keterlambatan Kafka, atau kueri Prometheus. KEDA bahkan dapat menurunkan skala hingga nol saat tidak ada pekerjaan, sesuatu yang tidak dapat dilakukan HPA sendiri.

ScaledObject KEDA Berbasis Antrean

ScaledObject KEDA ini menambahkan pekerja saat antrean pesan bertambah. Setiap unit tumpukan queueLength memicu satu replika tambahan, sehingga konsumen mampu mengimbangi lonjakan.

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"

Penyeimbangan Beban dengan Ingress

Lalu lintas eksternal mencapai pod Anda melalui sebuah ingress. Pengendali ingress nginx mengakhiri TLS dan mendistribusikan permintaan ke Service yang mendukung replika Anda, sehingga peningkatan skala segera menyebarkan beban.

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: 8000

Peluncuran Aman: Canary

Menerapkan versi model baru ke seluruh lalu lintas sekaligus berisiko. Rilis canary mengirimkan sebagian kecil lalu lintas ke versi baru, memantau metriknya, lalu secara bertahap mengalihkan lebih banyak lalu lintas.

Canary dengan Bobot Lalu Lintas

Anotasi canary ingress nginx merutekan persentase permintaan ke deployment kedua. Mulailah dari 10%, verifikasi tingkat galat dan latensi, lalu naikkan bobotnya hingga 100%.

metadata:
  annotations:
    nginx.ingress.kubernetes.io/canary: "true"
    nginx.ingress.kubernetes.io/canary-weight: "10"

Menggabungkan Penskalaan

Pengaturan yang tangguh menggabungkan semuanya:

  • HPA atau KEDA menetapkan jumlah replika berdasarkan permintaan
  • Ingress menyeimbangkan beban di antara replika
  • Bobot canary meluncurkan versi baru dengan aman

Secara keseluruhan, semuanya menghasilkan penyajian model yang elastis, tangguh, dan berisiko rendah.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang penskalaan.

Rangkuman

Anda telah mempelajari cara menskalakan titik akhir model:

  • HPA dengan targetCPUUtilizationPercentage melakukan penskalaan berdasarkan CPU
  • KEDA melakukan penskalaan berdasarkan panjang antrean dan mendukung penskalaan hingga nol
  • Ingress nginx menyeimbangkan beban di antara replika
  • Bobot canary mengalihkan lalu lintas secara bertahap untuk rilis yang aman

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penskalaan dan Penskalaan Otomatis Endpoint Model” gratis?

Ya — teks lengkap “Penskalaan dan Penskalaan Otomatis Endpoint Model” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penskalaan dan Penskalaan Otomatis Endpoint Model”?

Kubernetes HPA untuk pod model, penskalaan berbasis lalu lintas, penerapan A/B, rilis canary. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Penskalaan dan Penskalaan Otomatis Endpoint Model” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengemas Model Pembelajaran Mesin dalam Kontainer dengan Docker
  2. Penerapan Cloud: AWS SageMaker
  3. Penyajian Berkinerja Tinggi dengan Triton Inference Server
  4. Penskalaan dan Penskalaan Otomatis Endpoint Model
← Kembali ke Learn AI with Python