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)
Azure Pembelajaran Mesin CLI dan Python SDK v2 menyediakan dukungan untuk target komputasi Kubernetes. Anda dapat mengaktifkan kluster Azure Kubernetes Service (AKS) yang ada atau kluster Kubernetes dengan dukungan Azure Arc (Arc Kubernetes) sebagai target komputasi Kubernetes. Gunakan komputasi di Pembelajaran Mesin untuk melatih atau menyebarkan model.
Artikel ini menjelaskan bagaimana Anda dapat menggunakan target komputasi Kubernetes di Pembelajaran Mesin, termasuk skenario penggunaan, praktik terbaik yang direkomendasikan, dan perbandingan target dan warisan KubernetesCompute
AksCompute
.
Cara kerja target komputasi Kubernetes
Komputasi Azure Pembelajaran Mesin Kubernetes mendukung dua jenis kluster Kubernetes.
Compute | Location | Deskripsi |
---|---|---|
Kluster AKS | Dalam Azure | Dengan kluster AKS yang dikelola sendiri di Azure, Anda dapat memperoleh keamanan dan kontrol untuk memenuhi persyaratan kepatuhan dan fleksibilitas untuk mengelola beban kerja pembelajaran mesin tim Anda. |
Kluster Arc Kubernetes | Di luar Azure | Dengan kluster Arc Kubernetes, Anda dapat melatih atau menyebarkan model di infrastruktur lokal atau multicloud apa pun, atau tepi. |
Dengan penyebaran ekstensi kluster sederhana pada kluster AKS atau Arc Kubernetes, kluster Kubernetes didukung dengan mulus dalam Pembelajaran Mesin untuk menjalankan beban kerja pelatihan atau inferensi. Sangat mudah untuk mengaktifkan dan menggunakan kluster Kubernetes yang ada untuk beban kerja Pembelajaran Mesin dengan proses berikut:
Langkah 1: Siapkan kluster Azure Kubernetes Service atau kluster Arc Kubernetes.
Langkah 2: Sebarkan ekstensi kluster Azure Pembelajaran Mesin.
Langkah 3: Lampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin Anda.
Langkah 4: Gunakan target komputasi Kubernetes dari CLI v2, SDK v2, atau antarmuka pengguna studio Azure Pembelajaran Mesin.
Berikut adalah tanggung jawab utama dalam proses ini:
Tim operasi TI bertanggung jawab atas Langkah 1, 2, dan 3. Tim ini menyiapkan kluster AKS atau Arc Kubernetes, menyebarkan ekstensi kluster Pembelajaran Mesin, dan melampirkan kluster Kubernetes ke ruang kerja Pembelajaran Mesin. Selain langkah-langkah penyiapan komputasi penting ini, tim operasi TI juga menggunakan alat yang familier, seperti Azure CLI atau kubectl, untuk menyelesaikan tugas berikut untuk tim Data-science:
Konfigurasikan opsi jaringan dan keamanan, seperti koneksi server proksi keluar atau firewall Azure, penyiapan router inferensi (azureml-fe), penghentian SSL/TLS, dan penyiapan jaringan virtual.
Membuat dan mengelola jenis instans untuk skenario beban kerja pembelajaran mesin yang berbeda dan mendapatkan pemanfaatan sumber daya komputasi yang efisien.
Memecahkan masalah beban kerja yang terkait dengan kluster Kubernetes.
Tim Data-science memulai tugas mereka setelah tim operasi IT menyelesaikan penyiapan komputasi dan pembuatan target komputasi. Tim ini menemukan daftar target komputasi dan jenis instans yang tersedia di ruang kerja Pembelajaran Mesin. Sumber daya komputasi dapat digunakan untuk beban kerja pelatihan atau inferensi. Tim Data-science menentukan nama target komputasi dan nama jenis instans dengan menggunakan alat atau API pilihan mereka. Mereka dapat menggunakan Azure Pembelajaran Mesin CLI v2, Python SDK v2, atau antarmuka pengguna studio Pembelajaran Mesin.
Skenario penggunaan Kubernetes
Dengan kluster Arc Kubernetes, Anda dapat membangun, melatih, dan menyebarkan model di infrastruktur lokal dan multicloud apa pun dengan menggunakan Kubernetes. Strategi ini membuka beberapa pola penggunaan baru yang sebelumnya tidak dimungkinkan di lingkungan pengaturan cloud. Tabel berikut ini menyediakan ringkasan pola penggunaan baru yang diaktifkan saat Anda bekerja dengan Komputasi Azure Pembelajaran Mesin Kubernetes:
Pola penggunaan | Lokasi data | Tujuan dan persyaratan | Konfigurasi skenario |
---|---|---|---|
Melatih model di cloud, menyebarkan model secara lokal | Cloud | Gunakan komputasi cloud untuk mendukung kebutuhan komputasi elastis atau perangkat keras khusus seperti GPU. Penyebaran model harus lokal untuk persyaratan keamanan, kepatuhan, atau latensi. |
- Komputasi yang dikelola Azure di cloud - Kubernetes lokal yang dikelola pelanggan - Operasi pembelajaran mesin yang sepenuhnya otomatis dalam mode hibrid, termasuk langkah-langkah pelatihan dan penyebaran model yang bertransisi dengan mulus antara cloud dan lokal - Dapat diulang, semua aset dilacak dengan benar, model dilatih kembali sesuai kebutuhan, penyebaran diperbarui secara otomatis setelah pelatihan ulang |
Latih model lokal dan cloud, sebarkan ke cloud dan lokal | Cloud | Gabungkan investasi lokal dengan skalabilitas cloud. Bawa komputasi cloud dan lokal di bawah panel kaca tunggal. Akses satu sumber kebenaran untuk data di cloud dan replikasi lokal (dengan malas pada penggunaan atau secara proaktif). Aktifkan penggunaan utama komputasi cloud saat sumber daya lokal tidak tersedia (sedang digunakan atau dalam pemeliharaan) atau tidak memenuhi persyaratan perangkat keras (GPU) tertentu. |
- Komputasi yang dikelola Azure di cloud. Kubernetes lokal yang dikelola pelanggan - Operasi pembelajaran mesin yang sepenuhnya otomatis dalam mode hibrid, termasuk langkah-langkah pelatihan dan penyebaran model yang bertransisi dengan mulus antara cloud dan lokal - Dapat diulang, semua aset dilacak dengan benar, model dilatih kembali sesuai kebutuhan, penyebaran diperbarui secara otomatis setelah pelatihan ulang |
Melatih model secara lokal, menyebarkan model di cloud | Lokal | Simpan data lokal untuk memenuhi persyaratan residensi data. Sebarkan model di cloud untuk akses layanan global atau untuk mengaktifkan elastisitas komputasi untuk skala dan throughput. |
- Komputasi yang dikelola Azure di cloud - Kubernetes lokal yang dikelola pelanggan - Operasi pembelajaran mesin yang sepenuhnya otomatis dalam mode hibrid, termasuk langkah-langkah pelatihan dan penyebaran model yang bertransisi dengan mulus antara cloud dan lokal - Dapat diulang, semua aset dilacak dengan benar, model dilatih kembali sesuai kebutuhan, penyebaran diperbarui secara otomatis setelah pelatihan ulang |
Gunakan AKS Anda sendiri di Azure | Cloud | Dapatkan lebih banyak keamanan dan kontrol. Tetapkan semua pembelajaran mesin IP privat untuk mencegah penyelundupan data. |
- Kluster AKS di belakang jaringan virtual Azure - Titik akhir privat di jaringan virtual yang sama untuk ruang kerja Azure Pembelajaran Mesin dan sumber daya terkait Operasi pembelajaran mesin yang sepenuhnya otomatis |
Siklus hidup pembelajaran mesin lengkap lokal | Lokal | Mengamankan data sensitif atau IP eksklusif, seperti model pembelajaran mesin, kode, dan skrip. | - Koneksi server proksi keluar lokal - Azure ExpressRoute dan tautan privat Azure Arc ke sumber daya Azure - Kubernetes lokal yang dikelola pelanggan - Operasi pembelajaran mesin yang sepenuhnya otomatis |
Batasan untuk target komputasi Kubernetes
KubernetesCompute
Target dalam beban kerja Azure Pembelajaran Mesin (pelatihan dan inferensi model) memiliki batasan berikut:
- Ketersediaan fitur Pratinjau di Azure Pembelajaran Mesin tidak dijamin.
- Model (termasuk model dasar) dari Katalog Model dan Registri tidak didukung pada titik akhir online Kubernetes.
Praktik terbaik yang disarankan
Bagian ini merangkum praktik terbaik yang direkomendasikan untuk bekerja dengan komputasi Kubernetes.
Pemisahan tanggung jawab antara tim operasi IT dan tim Ilmu Data. Seperti yang dijelaskan sebelumnya, mengelola komputasi dan infrastruktur Anda sendiri untuk beban kerja pembelajaran mesin adalah tugas yang kompleks. Pendekatan terbaik adalah meminta tim operasi IT menangani tugas, sehingga tim Ilmu Data dapat fokus pada model pembelajaran mesin untuk efisiensi organisasi.
Membuat dan mengelola jenis instans untuk skenario beban kerja pembelajaran mesin yang berbeda. Setiap beban kerja pembelajaran mesin menggunakan sejumlah sumber daya komputasi yang berbeda, seperti CPU/GPU dan memori. Azure Pembelajaran Mesin mengimplementasikan jenis instans sebagai definisi sumber daya kustom (CRD) Kubernetes dengan properti dan nodeSelector
resource request/limit
. Dengan daftar jenis instans yang dikumpulkan dengan cermat, operasi IT dapat menargetkan beban kerja pembelajaran mesin pada simpul tertentu dan 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 Pembelajaran Mesin yang sama atau ruang kerja yang berbeda. Proses ini membuat beberapa target komputasi dalam satu ruang kerja atau beberapa ruang kerja. Karena banyak pelanggan mengatur proyek ilmu data di sekitar ruang kerja Pembelajaran Mesin, beberapa proyek ilmu data sekarang dapat berbagi kluster Kubernetes yang sama. Pendekatan ini secara signifikan mengurangi overhead manajemen infrastruktur pembelajaran mesin dan meningkatkan penghematan biaya TI.
Isolasi beban kerja tim/proyek menggunakan namespace Kubernetes. Saat melampirkan kluster Kubernetes ke ruang kerja 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.
Perbandingan target KubernetesCompute dan AksCompute warisan
Dengan Azure Pembelajaran Mesin CLI/Python SDK v1, Anda dapat menyebarkan model di AKS dengan menggunakan target warisanAksCompute
. KubernetesCompute
Baik target dan AksCompute
mendukung integrasi AKS, tetapi pendekatan dukungannya berbeda. Tabel berikut ini meringkas perbedaan utama:
Kemampuan | AksCompute (warisan) | KubernetesCompute |
---|---|---|
Menggunakan CLI/SDK v1 | Ya | Tidak |
Menggunakan CLI/SDK v2 | Tidak | Ya |
Menyiapkan pelatihan | Tidak | Ya |
Menerapkan inferensi real-time | Ya | Ya |
Menerapkan inferensi batch | Tidak | Ya |
Mengakses fitur baru untuk inferensi real time | Tidak ada pengembangan fitur baru | Peta jalan aktif tersedia |
Dalam pertimbangan perbedaan ini, dan evolusi Pembelajaran Mesin keseluruhan untuk menggunakan CLI/SDK v2, pendekatan yang disarankan adalah menggunakan target komputasi Kubernetes (KubernetesCompute
) untuk penyebaran model AKS.
Untuk informasi selengkapnya, jelajahi artikel berikut ini:
- Meninjau versi dan wilayah Kubernetes yang didukung
- Menyambungkan pekerjaan Pembelajaran Mesin dengan penyimpanan data kustom
Contoh pembelajaran mesin
Contoh pembelajaran mesin tersedia di repositori Azure Pembelajaran Mesin (azureml-examples) di GitHub. Dalam contoh apa pun, ganti nama target komputasi dengan target komputasi Kubernetes Anda, dan jalankan sampel.
Berikut adalah beberapa opsi:
- Sampel pekerjaan pelatihan dengan CLI v2
- Sampel pekerjaan pelatihan dengan SDK v2
- Penyebaran model dengan sampel titik akhir online dan CLI v2
- Penyebaran model dengan sampel titik akhir online dan SDK v2
- Sampel titik akhir batch dengan CLI v2