Skema YAML penyebaran online Kubernetes dengan dukungan Azure Arc CLI (v2)

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)

Skema JSON sumber dapat ditemukan di https://azuremlschemas.azureedge.net/latest/kubernetesOnlineDeployment.schema.json.

Catatan

Sintaks YAML yang dirinci dalam dokumen ini didasarkan pada skema JSON untuk versi terbaru ekstensi CLI v2 ML. Sintaks ini dijamin hanya berfungsi dengan versi terbaru ekstensi CLI v2 ML. Anda dapat menemukan skema untuk versi ekstensi yang lebih lama di https://azuremlschemasprod.azureedge.net/.

Sintaks YAML

Kunci Jenis Deskripsi Nilai yang diizinkan Nilai default
$schema string Skema YAML. Jika Anda menggunakan ekstensi Visual Studio Code Azure Machine Learning untuk menulis file YAML, termasuk $schema di bagian atas file, Anda akan dapat meminta skema dan penyelesaian sumber daya.
name string Wajib diisi. Nama penyebaran.

Aturan penamaan ditentukan di sini.
description string Deskripsi penyebaran.
tags objek Kamus tag untuk penyebaran.
endpoint_name string Wajib diisi. Nama titik akhir untuk membuat penyebaran di bawah ini.
model string atau objek Model yang digunakan untuk penyebaran. Nilai ini dapat berupa referensi ke model berversi yang ada di ruang kerja atau spesifikasi model sebaris.

Untuk mereferensikan model yang ada, gunakan sintaks azureml:<model-name>:<model-version>.

Untuk menentukan model sebaris, ikuti Skema model.

Sebagai praktik terbaik untuk skenario produksi, Anda harus membuat model secara terpisah dan mereferensikannya di sini.

Bidang ini opsional untuk skenario penyebaran kontainer kustom.
model_mount_path string Jalur untuk memasang model dalam kontainer khusus. Hanya berlaku untuk skenario penyebaran kontainer kustom. Jika bidang model ditentukan, bidang ini dipasang di jalur ini dalam kontainer.
code_configuration objek Konfigurasi untuk logika kode penilaian.

Bidang ini opsional untuk skenario penyebaran kontainer kustom.
code_configuration.code string Jalur lokal ke direktori kode sumber untuk menilai model.
code_configuration.scoring_script string Jalur relatif ke file penilaian di direktori kode sumber.
environment_variables objek Kamus pasangan kunci-nilai variabel lingkungan yang akan diatur dalam kontainer penyebaran. Anda dapat mengakses variabel lingkungan ini dari skrip penilaian Anda.
environment string atau objek Wajib diisi. Lingkungan yang digunakan untuk penyebaran. Nilai ini dapat berupa referensi ke lingkungan versi yang ada di ruang kerja atau spesifikasi lingkungan inline.

Untuk mereferensikan lingkungan yang sudah ada, gunakan sintaksis azureml:<environment-name>:<environment-version>.

Untuk menentukan lingkungan sebaris, ikuti skema Lingkungan.

Sebagai praktik terbaik untuk skenario produksi, Anda harus membuat lingkungan secara terpisah dan mereferensikannya di sini.
instance_type string Jenis instans yang digunakan untuk menempatkan beban kerja inferensi. Jika dihilangkan, beban kerja inferensi akan ditempatkan pada jenis instans default dari kluster Kubernetes yang ditentukan di bidang compute titik akhir. Jika ditentukan, beban kerja inferensi akan ditempatkan pada jenis instans yang dipilih tersebut.

Perhatikan bahwa kumpulan jenis instans untuk kluster Kubernetes dikonfigurasi melalui definisi sumber daya kustom kluster Kubernetes (CRD), oleh karena itu kumpulan tersebut bukan bagian dari skema YAML Azure ML untuk melampirkan komputasi Kubernetes. Untuk informasi selengkapnya, lihat Membuat dan memilih jenis instans Kubernetes.
instance_count bilangan bulat Jumlah instans yang digunakan untuk penyebaran. Tentukan nilai berdasarkan beban kerja yang Anda harapkan. Bidang ini hanya diperlukan jika Anda menggunakan jenis skala default (scale_settings.type: default).

instance_count dapat diperbarui setelah pembuatan penyebaran menggunakan perintah az ml online-deployment update.
app_insights_enabled boolean Apakah akan mengaktifkan integrasi dengan instans Azure Application Insights yang terkait dengan ruang kerja Anda. false
scale_settings objek Pengaturan skala untuk penyebaran. Dua jenis pengaturan skala yang didukung adalah jenis skala default dan jenis skala target_utilization.

Dengan jenis skala default (scale_settings.type: default), Anda dapat meningkatkan dan menurunkan jumlah instans secara manual setelah pembuatan penyebaran dengan memperbarui properti instance_count.

Untuk mengonfigurasi jenis skala target_utilization (scale_settings.type: target_utilization), lihat TargetUtilizationScaleSettings untuk kumpulan properti yang dapat dikonfigurasi.
scale_settings.type string Jenis skala. default, target_utilization target_utilization
request_settings objek Pengaturan permintaan penilaian untuk penyebaran. Lihat RequestSettings untuk kumpulan properti yang dapat dikonfigurasi.
liveness_probe objek Pengaturan Liveness probe untuk memantau kesehatan kontainer secara teratur. Lihat ProbeSettings untuk kumpulan properti yang dapat dikonfigurasi.
readiness_probe objek Kesiapan probe pengaturan untuk memvalidasi jika kontainer siap untuk melayani lalu lintas. Lihat ProbeSettings untuk kumpulan properti yang dapat dikonfigurasi.
resources objek Persyaratan sumber daya kontainer.
resources.requests objek Permintaan sumber daya untuk kontainer. Lihat ContainerResourceRequests untuk kumpulan properti yang dapat dikonfigurasi.
resources.limits objek Batas sumber daya untuk kontainer. Lihat ContainerResourceLimits untuk kumpulan properti yang dapat dikonfigurasi.

RequestSettings

Kunci Jenis Deskripsi Nilai default
request_timeout_ms bilangan bulat Jangka waktu penilaian dalam milidetik. 5000
max_concurrent_requests_per_instance bilangan bulat Jumlah maksimum permintaan bersamaan per instans yang diizinkan untuk penyebaran.

Jangan mengubah pengaturan ini dari nilai default kecuali diinstruksikan oleh Dukungan Teknis Microsoft atau anggota tim Azure Machine Learning.
1
max_queue_wait_ms bilangan bulat Jumlah maksimum waktu dalam milidetik permintaan akan tetap dalam antrean. 500

ProbeSettings

Kunci Jenis Deskripsi Nilai default
period bilangan bulat Seberapa sering (dalam hitungan detik) untuk melakukan probe. 10
initial_delay bilangan bulat Jumlah detik setelah wadah dimulai sebelum pemeriksaan dimulai. Nilai minimum adalah 1. 10
timeout bilangan bulat Jumlah detik setelah waktu probe habis. Nilai minimum adalah 1. 2
success_threshold bilangan bulat Keberhasilan minimum berturut-turut untuk penyelidikan dianggap berhasil setelah gagal. Nilai minimum adalah 1. 1
failure_threshold bilangan bulat Ketika probe gagal, sistem akan mencoba failure_threshold kali sebelum menyerah. Menyerah dalam kasus probe keaktifan berarti kontainer akan dihidupkan ulang. Dalam kasus probe kesiapan kontainer akan ditandai Belum siap. Nilai minimum adalah 1. 30

TargetUtilizationScaleSettings

Kunci Jenis Deskripsi Nilai default
type const Jenis skala target_utilization
min_instances bilangan bulat Jumlah minimum instans yang akan digunakan. 1
max_instances bilangan bulat Jumlah maksimum instans untuk diskalakan. 1
target_utilization_percentage bilangan bulat Penggunaan CPU target untuk penskala otomatis. 70
polling_interval bilangan bulat Seberapa sering penskala otomatis harus mencoba menskalakan penyebaran, dalam hitungan detik. 1

ContainerResourceRequests

Kunci Jenis Deskripsi
cpu string Jumlah core CPU yang diminta untuk kontainer.
memory string Ukuran memori yang diminta untuk kontainer
nvidia.com/gpu string Jumlah kartu GPU Nvidia yang diminta untuk kontainer

ContainerResourceLimits

Kunci Jenis Deskripsi
cpu string Batas jumlah core CPU untuk kontainer.
memory string Batas ukuran memori untuk kontainer.
nvidia.com/gpu string Batas jumlah kartu GPU Nvidia untuk kontainer

Keterangan

Perintah az ml online-deployment dapat digunakan untuk mengelola penyebaran online Kubernetes Azure Machine Learning.

Contoh

Contoh tersedia di contoh repositori GitHub.

Langkah berikutnya