PANDUAN Teknis

Kubernetes untuk Beban Kerja ML

Kubernetes adalah sistem sumber terbuka yang secara otomatis menjadwalkan, menskalakan, dan memulai ulang program dalam container di sekelompok mesin.

2 min readTerakhir diperbarui

Ikhtisar

For machine learning, it lets teams pack GPU-hungry training jobs and latency-sensitive model servers onto shared hardware without babysitting individual servers.

Menyelam Lebih Dalam

Awalnya dibuat di Google untuk menjalankan layanan web, Kubernetes memperlakukan cluster Anda sebagai satu kumpulan besar CPU, memori, dan GPU, lalu memutuskan mesin mana yang menjalankan setiap container. Tim ML mengandalkannya karena beban kerjanya sangat banyak dan mahal: proses pelatihan mungkin memerlukan delapan GPU selama enam jam, lalu tidak memerlukan apa pun. Kubernetes menjadwalkan pod tersebut ke sebuah node dengan GPU gratis, dan ketika pekerjaannya selesai, ia akan membebaskan perangkat kerasnya. Hal ini juga membuat server inferensi tetap hidup, memulai kembali container yang rusak, dan menyebarkan replika ke seluruh mesin untuk ketahanan. Alat yang dibangun di atas, seperti Kubeflow, Ray, dan KServe, menambahkan bagian khusus ML seperti operator pelatihan terdistribusi, penyetelan hyperparameter, dan titik akhir model penskalaan otomatis, sehingga data scientist bekerja dengan abstraksi tingkat yang lebih tinggi, bukan YAML mentah.

Wawasan Teknis

Kubernetes menugaskan GPU melalui plugin perangkat yang mengiklankan sumber daya seperti nvidia.com/gpu, yang akan dicocokkan oleh penjadwal dengan permintaan pod. Noda dan toleransi menjauhkan pekerjaan CPU yang murah dari node GPU yang mahal, sementara pemilih node dan aturan afinitas menyematkan pelatihan ke perangkat keras tertentu. Untuk pelatihan multi-GPU, operator membuat sekelompok pod yang saling menemukan dan menjalankan kerangka kerja seperti PyTorch DDP atau Horovod, bertukar gradien melalui jaringan cluster menggunakan NCCL.

Dampak Strategis

Cost and budget

Keputusan arsitektur mendorong kinerja dan biaya pengoperasian selama bertahun-tahun.

Clearer decisions

Pendidikan teknis membantu tim memilih tumpukan yang tepat, bukan hanya yang terbaru.

Quality control

Pilihan teknik yang lebih baik mengurangi insiden keandalan dalam produksi.

Masa Depan Kubernetes untuk Beban Kerja ML

Harapkan integrasi ML yang lebih ketat: penjadwalan geng yang meluncurkan semua pod pelatihan terdistribusi sekaligus atau tidak sama sekali, pembagian GPU pecahan dan waktu sehingga beberapa pekerjaan ringan berbagi satu kartu, dan penempatan sadar topologi yang menghormati interkoneksi NVLink yang cepat. Inferensi tanpa server di Kubernetes, yang menskalakan titik akhir ke nol di antara permintaan, sudah semakin matang. Seiring dengan semakin berkembangnya model, penjadwal semakin banyak berkoordinasi di beberapa cluster dan cloud, dan sistem pembagian adil berbasis antrean seperti Kueue dan Volcano menjadi standar untuk mengelola kapasitas GPU yang langka.

Implementasi Dunia Nyata

Sebuah laboratorium penelitian menggunakan Operator Pelatihan Kubeflow untuk meluncurkan tugas pelatihan terdistribusi PyTorch 32-GPU di empat node, lalu secara otomatis membebaskan GPU ketika menyatu.

Sebuah perusahaan e-niaga menyajikan model rekomendasinya dengan KServe, yang secara otomatis menaikkan skala replika selama penjualan kilat dan menurunkannya dalam semalam.

Sebuah bank menjalankan pekerjaan penskoran batch setiap malam sebagai Kubernetes CronJobs, mengantrekannya pada node CPU cadangan sehingga tidak bersaing dengan lalu lintas layanan siang hari.

Sebuah startup menggunakan Ray di Kubernetes untuk menjalankan pemindaian hyperparameter paralel, menjalankan lusinan pod uji coba yang berumur pendek pada instance tertentu untuk menghemat biaya.

Risiko & Pagar Pembatas

Mengoptimalkan satu tolok ukur dapat menyembunyikan kelemahan sistem yang lebih luas.

Biaya infrastruktur dan pemeliharaan sering kali diremehkan.

Kesenjangan keamanan dan kemampuan observasi dapat tumbuh seiring dengan semakin kompleksnya sistem.

Peta Jalan Implementasi

1

Tentukan target latensi, kualitas, dan biaya sebelum penerapan.

2

Tolok ukur dalam kondisi beban dan data yang realistis.

3

Pemantauan instrumen untuk kesalahan, penyimpangan, dan dampak pengguna.

4

Siapkan jalur rollback dan respons insiden sebelum melakukan penskalaan.

Terus Menjelajah

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubernetes for ML Workloads quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Mulai kuis

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Next guide

Pengujian A/B untuk Model ML

Pertanyaan yang sering diajukan

What is Kubernetes for ML Workloads?

Kubernetes adalah sistem sumber terbuka yang secara otomatis menjadwalkan, menskalakan, dan memulai ulang program dalam container di sekelompok mesin. Untuk pembelajaran mesin, ini memungkinkan tim mengemas tugas pelatihan yang membutuhkan GPU dan server model yang sensitif terhadap latensi ke dalam perangkat keras bersama tanpa menjaga server individual.

Apa tugas utama penjadwal Kubernetes untuk beban kerja ML?

Penjadwal mencocokkan permintaan sumber daya pod (CPU, memori, GPU) dengan node yang tersedia dan menempatkan pod di tempat yang sesuai. Itu tidak menyentuh kode model atau data.

Bagaimana biasanya Kubernetes menyediakan GPU untuk sebuah pod?

Plugin perangkat mengekspos GPU sebagai sumber daya yang dapat dijadwalkan (misalnya, nvidia.com/gpu), sehingga pod dapat memintanya dan penjadwal melacak ketersediaannya.

Noda dan toleransi apa yang biasa digunakan dalam kluster ML?

Sebuah noda mengusir pod dari sebuah node; hanya pod dengan toleransi yang sesuai yang dapat mendarat di sana. Hal ini mencadangkan node GPU yang langka untuk pekerjaan yang benar-benar membutuhkan GPU.

Alat manakah yang menambahkan kemampuan khusus ML seperti operator pelatihan terdistribusi selain Kubernetes?

Kubeflow melapisi alur kerja ML ke Kubernetes, termasuk operator pelatihan, pipeline, dan penyetelan, sehingga tim menghindari konfigurasi cluster tingkat rendah yang ditulis tangan.

Mengapa Kubernetes cocok untuk beban kerja ML yang meledak-ledak?

Pelatihannya rumit: banyak GPU sebentar, lalu tidak ada. Kubernetes menempatkan pekerjaan ketika sumber daya tersedia dan melepaskannya setelah selesai, sehingga meningkatkan pemanfaatan.