Tata kelola tugas untuk penerapan model pada HyperPod - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tata kelola tugas untuk penerapan model pada HyperPod

Bagian ini mencakup cara mengoptimalkan kluster Amazon SageMaker HyperPod EKS bersama Anda untuk beban kerja inferensi waktu nyata. Anda akan belajar mengonfigurasi fitur tata kelola tugas Kueue — termasuk manajemen kuota, penjadwalan prioritas, dan kebijakan berbagi sumber daya — untuk memastikan beban kerja inferensi Anda mendapatkan sumber daya GPU yang mereka butuhkan selama lonjakan lalu lintas sambil mempertahankan alokasi yang adil di seluruh aktivitas pelatihan, evaluasi, dan pengujian tim Anda. Untuk informasi lebih umum tentang tata kelola tugas, lihatSageMaker HyperPod tata kelola tugas.

Bagaimana manajemen beban kerja inferensi bekerja

Untuk secara efektif mengelola lonjakan lalu lintas inferensi real-time di kluster HyperPod EKS bersama, terapkan strategi tata kelola tugas berikut menggunakan kemampuan Kueue yang ada.

Konfigurasi kelas prioritas

Tentukan kelas prioritas khusus untuk beban kerja inferensi dengan bobot tinggi (seperti 100) untuk memastikan pod inferensi diterima dan dijadwalkan sebelum jenis tugas lainnya. Konfigurasi ini memungkinkan beban kerja inferensi untuk mendahului pekerjaan dengan prioritas lebih rendah selama beban klaster, yang sangat penting untuk mempertahankan persyaratan latensi rendah selama lonjakan lalu lintas.

Ukuran dan alokasi kuota

Cadangan sumber daya GPU yang cukup di tim Anda ClusterQueue untuk menangani lonjakan inferensi yang diharapkan. Selama periode lalu lintas inferensi rendah, sumber daya kuota yang tidak digunakan dapat dialokasikan sementara untuk tugas tim lain. Ketika permintaan inferensi meningkat, sumber daya yang dipinjam ini dapat direklamasi untuk memprioritaskan pod inferensi yang tertunda. Untuk informasi selengkapnya, lihat Antrian Kluster.

Strategi Berbagi Sumber Daya

Pilih di antara dua pendekatan pembagian kuota berdasarkan kebutuhan Anda:

  1. Kontrol Sumber Daya yang Ketat: Nonaktifkan peminjaman kuota dan pinjaman untuk menjamin kapasitas GPU cadangan selalu tersedia untuk beban kerja Anda. Pendekatan ini membutuhkan kuota ukuran yang cukup besar untuk menangani permintaan puncak secara independen dan dapat mengakibatkan node menganggur selama periode lalu lintas rendah.

  2. Berbagi Sumber Daya Fleksibel: Aktifkan peminjaman kuota untuk memanfaatkan sumber daya idle dari tim lain bila diperlukan. Pod yang dipinjam ditandai sebagai preemptible dan dapat diusir jika tim pemberi pinjaman merebut kembali kapasitas.

Preemption Intra Tim

Aktifkan preemption intra-tim saat menjalankan beban kerja campuran (evaluasi, pelatihan, dan inferensi) di bawah kuota yang sama. Hal ini memungkinkan Kueue untuk mendahului pekerjaan dengan prioritas lebih rendah dalam tim Anda untuk mengakomodasi pod inferensi prioritas tinggi, memastikan inferensi real-time dapat berjalan tanpa bergantung pada pinjaman kuota eksternal. Untuk informasi lebih lanjut, lihat Preemption.

Pengaturan beban kerja inferensi sampel

Contoh berikut menunjukkan bagaimana Kueue mengelola resource GPU di cluster Amazon bersama. SageMaker HyperPod

Konfigurasi klaster dan pengaturan kebijakan

Cluster Anda memiliki konfigurasi berikut:

  • Tim A: Kuota GPU 10 P4

  • Tim B: 20 kuota GPU P4

  • Penyediaan statis: Tidak ada penskalaan otomatis

  • Total kapasitas: 30 P4 GPUs

Kumpulan GPU bersama menggunakan kebijakan prioritas ini:

  1. Inferensi waktu nyata: Prioritas 100

  2. Pelatihan: Prioritas 75

  3. Evaluasi: Prioritas 50

Kueue memberlakukan kuota tim dan kelas prioritas, dengan preemption dan peminjaman kuota diaktifkan.

Keadaan awal: Pemanfaatan cluster normal

Dalam operasi normal:

  • Tim A menjalankan pekerjaan pelatihan dan evaluasi pada semua 10 P4 GPUs

  • Tim B menjalankan inferensi real-time (10 P4) dan evaluasi (10 P4) dalam kuota 20 GPU-nya

  • Cluster ini sepenuhnya digunakan dengan semua pekerjaan yang diterima dan berjalan

Lonjakan inferensi: Tim B membutuhkan tambahan GPUs

Saat Tim B mengalami lonjakan lalu lintas, pod inferensi tambahan membutuhkan 5 P4 lagi. GPUs Kueue mendeteksi bahwa pod baru adalah:

  • Di dalam namespace Tim B

  • Prioritas 100 (inferensi waktu nyata)

  • Tertunda masuk karena kendala kuota

Proses respons Kueue memilih di antara dua opsi:

Opsi 1: Peminjaman kuota - Jika Tim A hanya menggunakan 6 dari 10 P4, Kueue dapat menerima pod Tim B menggunakan 4 P4 idle. Namun, sumber daya yang dipinjam ini dapat didahulukan—jika Tim A mengirimkan pekerjaan untuk mencapai kuota penuhnya, Kueue akan mengusir pod inferensi pinjaman Tim B.

Opsi 2: Preemption mandiri (Direkomendasikan) - Tim B menjalankan pekerjaan evaluasi prioritas rendah (prioritas 50). Saat pod inferensi prioritas tinggi menunggu, Kueue mendahului pekerjaan evaluasi dalam kuota Tim B dan menerima pod inferensi. Pendekatan ini menyediakan alokasi sumber daya yang aman tanpa risiko penggusuran eksternal.

Kueue mengikuti proses tiga langkah untuk mengalokasikan sumber daya:

  1. Cek kuota

    Pertanyaan: Apakah Tim B memiliki kuota yang tidak terpakai?

    • Ya → Akui polongnya

    • Tidak → Lanjutkan ke Langkah 2

  2. Preemption diri dalam Tim B

    Pertanyaan: Bisakah pekerjaan Tim B dengan prioritas lebih rendah didahului?

    • Ya → Pekerjaan evaluasi pendahuluan (prioritas 50), gratis 5 P4, dan akui pod inferensi

    • Tidak → Lanjutkan ke Langkah 3

    Pendekatan ini menjaga beban kerja dalam kuota terjamin Tim B, menghindari risiko penggusuran eksternal.

  3. Meminjam dari tim lain

    Pertanyaan: Apakah ada kuota idle dan dapat dipinjam dari tim lain?

    • Ya → Akui menggunakan kuota pinjaman (ditandai sebagai preemptible)

    • Tidak → Pod tetap dalam NotAdmitted status