Pengantar target komputasi Kubernetes di Azure Machine Learning

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Dengan Azure Pembelajaran Mesin CLI/Python SDK v2, Azure Pembelajaran Mesin memperkenalkan target komputasi baru - target komputasi Kubernetes. Anda dapat dengan mudah mengaktifkan kluster Azure Kubernetes Service (AKS) yang ada atau kluster Kube dengan dukungan Azure Arc (Arc Kubernetes) untuk menjadi target komputasi Kubernetes di Azure Pembelajaran Mesin, dan menggunakannya untuk melatih atau menyebarkan model.

Diagram illustrating how Azure Machine Learning connects to Kubernetes.

Dalam artikel ini, Anda mempelajari tentang:

  • Cara kerjanya
  • Skenario penggunaan
  • Praktik terbaik yang disarankan
  • KubernetesCompute dan AksCompute lama

Cara kerjanya

Komputasi Azure Pembelajaran Mesin Kubernetes mendukung dua jenis kluster Kubernetes:

  • Kluster AKS di Azure. Dengan kluster AKS yang Anda kelola sendiri di Azure, Anda bisa memperoleh keamanan dan kontrol untuk memenuhi persyaratan kepatuhan serta fleksibilitas untuk mengelola beban kerja ML tim.
  • Kluster Arc Kubernetes di luar Azure. Dengan kluster Arc Kubernetes, Anda bisa melatih atau menyebarkan model di infrastruktur lokal apa pun, di multicloud, atau di tepi.

Dengan penyebaran ekstensi kluster sederhana pada kluster AKS atau Arc Kubernetes, kluster Kubernetes didukung dengan mulus di Azure Pembelajaran Mesin untuk menjalankan beban kerja pelatihan atau inferensi. Sangat mudah untuk mengaktifkan dan menggunakan kluster Kubernetes yang ada untuk beban kerja Azure Pembelajaran Mesin dengan langkah-langkah sederhana berikut:

  1. Siapkan kluster Azure Kubernetes Service atau kluster Arc Kubernetes.
  2. Sebarkan ekstensi Azure Pembelajaran Mesin.
  3. Lampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin Anda.
  4. Gunakan target komputasi Kubernetes dari CLI v2, SDK v2, dan Studio UI.

Tim operasi IT. Tim operasi IT bertanggung jawab atas tiga langkah pertama: menyiapkan kluster AKS atau Arc Kubernetes, menyebarkan ekstensi kluster Azure Pembelajaran Mesin, dan melampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin. Selain langkah-langkah penyiapan komputasi penting ini, tim operasi IT juga menggunakan alat yang familier seperti Azure CLI atau kubectl untuk menangani tugas-tugas berikut bagi tim ilmu data:

  • Konfigurasi jaringan dan keamanan, seperti koneksi server proksi keluar atau konfigurasi firewall Azure, penyiapan router inferensi (azureml-fe), penghentian SSL/TLS, dan konfigurasi jaringan virtual.
  • Buat dan kelola jenis instans untuk skenario beban kerja ML yang berbeda dan dapatkan pemanfaatan sumber daya komputasi yang efisien.
  • Atasi masalah beban kerja yang terkait dengan kluster Kubernetes.

Tim ilmu data. Setelah tim operasi TI menyelesaikan penyiapan komputasi dan pembuatan target komputasi, tim ilmu data dapat menemukan daftar target komputasi dan jenis instans yang tersedia di ruang kerja Azure Pembelajaran Mesin. Sumber daya komputasi ini dapat digunakan untuk beban kerja pelatihan atau inferensi. Ilmu data menentukan nama target komputasi dan nama jenis instans menggunakan alat atau API pilihan mereka. Misalnya, nama-nama ini bisa berupa Azure Pembelajaran Mesin CLI v2, Python SDK v2, atau Studio UI.

Skenario penggunaan Kubernetes

Dengan kluster Arc Kubernetes, Anda dapat membangun, melatih, dan menyebarkan model di infrastruktur apa pun secara lokal dan di seluruh multicloud menggunakan Kubernetes. Hal ini membuka beberapa pola penggunaan baru yang sebelumnya tidak dimungkinkan di lingkungan berlatar cloud. Tabel berikut ini menyediakan ringkasan pola penggunaan baru yang diaktifkan oleh komputasi Azure Pembelajaran Mesin Kubernetes:

Pola penggunaan Lokasi data Motivasi Penyiapan Infra & implementasi Azure Pembelajaran Mesin
Melatih model di cloud, menyebarkan model secara lokal Cloud Manfaatkan komputasi cloud. Baik karena kebutuhan komputasi elastis atau perangkat keras khusus seperti GPU.
Model harus disebarkan secara lokal karena persyaratan keamanan, kepatuhan, atau latensi
1. Komputasi terkelola Azure di cloud.
2. Kubernetes yang dikelola pelanggan secara lokal
3. MLOps yang sepenuhnya otomatis dalam mode hibrid, termasuk langkah-langkah pelatihan dan penyebaran model bertransisi dengan lancar dari cloud ke lokal dan sebaliknya.
4. Dapat diulang, dengan semua aset dilacak secara benar. Model dilatih kembali jika perlu, dan penyebaran model diperbarui secara otomatis setelah pelatihan ulang.
Latih model lokal dan cloud, sebarkan ke cloud dan lokal Cloud Organisasi ingin menggabungkan investasi lokal dengan skalabilitas cloud. Bawa komputasi cloud dan lokal di bawah panel kaca tunggal. Satu sumber kebenaran untuk data terletak di cloud, dapat direplikasi ke lokal (yaitu, dengan malas pada penggunaan atau secara proaktif). Penggunaan utama komputasi cloud adalah ketika sumber daya lokal tidak tersedia (sedang digunakan, pemeliharaan) atau tidak memiliki persyaratan perangkat keras (GPU) tertentu. 1. Komputasi terkelola Azure di cloud.
2. Kubernetes yang dikelola pelanggan secara lokal
3. MLOps yang sepenuhnya otomatis dalam mode hibrid, termasuk langkah-langkah pelatihan dan penyebaran model bertransisi dengan lancar dari cloud ke lokal dan sebaliknya.
4. Dapat diulang, dengan semua aset dilacak secara benar. Model dilatih kembali jika perlu, dan penyebaran model diperbarui secara otomatis setelah pelatihan ulang.
Melatih model secara lokal, menyebarkan model di cloud Lokal Data harus tetap disediakan secara lokal karena persyaratan residensi data.
Sebarkan model di cloud untuk akses layanan global atau untuk elastisitas komputasi untuk skala dan throughput.
1. Komputasi terkelola Azure di cloud.
2. Kubernetes yang dikelola pelanggan secara lokal
3. MLOps yang sepenuhnya otomatis dalam mode hibrid, termasuk langkah-langkah pelatihan dan penyebaran model bertransisi dengan lancar dari cloud ke lokal dan sebaliknya.
4. Dapat diulang, dengan semua aset dilacak secara benar. Model dilatih kembali jika perlu, dan penyebaran model diperbarui secara otomatis setelah pelatihan ulang.
Gunakan AKS Anda sendiri di Azure Cloud Keamanan dan kontrol tambahan.
Semua pembelajaran mesin IP privat untuk mencegah penyelundupan data.
1. Kluster AKS di belakang jaringan virtual Azure.
2. Buat titik akhir privat di jaringan virtual yang sama untuk ruang kerja Azure Pembelajaran Mesin dan sumber daya terkait.
3. MLOps yang sepenuhnya otomatis.
Siklus hidup ML sepenuhnya lokal Lokal Amankan data sensitif atau IP kepemilikan, seperti model ML dan kode/skrip. 1. Koneksi server proksi keluar lokal.
2. Link privat Azure ExpressRoute dan Azure Arc ke sumber daya Azure.
3. Kubernetes yang dikelola pelanggan secara lokal.
4. MLOps yang sepenuhnya otomatis.

Pembatasan

KubernetesComputetarget dalam beban kerja Azure Pembelajaran Mesin (pelatihan dan inferensi model) memiliki batasan berikut:

  • Ketersediaan fitur Pratinjau di Azure Pembelajaran Mesin tidak dijamin.
    • Batasan yang diidentifikasi: Model (termasuk model dasar) dari Katalog Model tidak didukung pada titik akhir online Kubernetes.

Pemisahan tanggung jawab antara tim operasi IT serta tim ilmu data. Seperti yang kami sebutkan di bagian sebelumnya, mengelola komputasi dan infrastruktur Anda sendiri untuk beban kerja ML adalah tugas yang kompleks. Yang terbaik adalah dilakukan oleh tim operasi IT sehingga tim ilmu data dapat fokus pada model ML untuk efisiensi organisasi.

Buat dan kelola jenis instans untuk skenario beban kerja ML yang berbeda. Setiap beban kerja ML menggunakan jumlah sumber daya komputasi yang berbeda, seperti CPU/GPU dan memori. Azure Pembelajaran Mesin menerapkan jenis instans sebagai definisi sumber daya kustom (CRD) Kubernetes dengan properti nodeSelector dan permintaan/batas sumber daya. Dengan daftar jenis instans yang telah dikumpulkan dengan cermat, operasi TI dapat menargetkan ML beban kerja pada simpul tertentu serta mengelola pemanfaatan sumber daya komputasi secara efisien.

Beberapa ruang kerja Azure Pembelajaran Mesin berbagi kluster Kubernetes yang sama. Anda dapat melampirkan kluster Kubernetes beberapa kali ke ruang kerja Azure Pembelajaran Mesin yang sama atau ruang kerja Azure Pembelajaran Mesin yang berbeda, membuat beberapa target komputasi di satu ruang kerja atau beberapa ruang kerja. Karena banyak pelanggan mengatur proyek ilmu data di sekitar ruang kerja Azure Pembelajaran Mesin, beberapa proyek ilmu data sekarang dapat berbagi kluster Kubernetes yang sama. Hal ini akan mengurangi overhead manajemen infrastruktur ML serta penghematan biaya IT secara signifikan.

Isolasi beban kerja tim/proyek menggunakan namespace Kubernetes. Saat melampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin, Anda dapat menentukan namespace Layanan Kubernetes untuk target komputasi. Semua beban kerja yang dijalankan oleh target komputasi ditempatkan di bawah namespace yang ditentukan.

KubernetesCompute dan AksCompute lama

Dengan Azure Pembelajaran Mesin CLI/Python SDK v1, Anda dapat menyebarkan model pada AKS menggunakan target AksCompute. Target KubernetesCompute dan target AksCompute mendukung integrasi AKS, tetapi dengan cara yang berbeda. Tabel berikut ini memperlihatkan perbedaan utamanya:

Kemampuan Integrasi AKS dengan AksCompute (lama) Integrasi AKS dengan KubernetesCompute
CLI/SDK v1 Ya Tidak
CLI/SDK v2 Tidak Ya
Pelatihan Tidak Ya
Inferensi waktu nyata Ya Ya
Inferensi batch Tidak Ya
Fitur baru inferensi real time Tidak ada pengembangan fitur baru Peta strategi aktif

Dengan perbedaan utama ini dan evolusi Azure Pembelajaran Mesin secara keseluruhan untuk menggunakan SDK/CLI v2, Azure Pembelajaran Mesin menyarankan Anda untuk menggunakan target komputasi Kubernetes untuk menyebarkan model jika Anda memutuskan untuk menggunakan AKS untuk penyebaran model.

Sumber daya lainnya

Contoh

Semua contoh Azure Pembelajaran Mesin dapat ditemukan di https://github.com/Azure/azureml-examples.git.

Untuk contoh azure Pembelajaran Mesin apa pun, Anda hanya perlu memperbarui nama target komputasi ke target komputasi Kubernetes Anda, maka Anda sudah selesai.

Langkah berikutnya