Skema YAML penyebaran online yang dikelola CLI (v2)
BERLAKU UNTUK:ekstensi ml Azure CLI v2 (saat ini)
Skema JSON sumber dapat ditemukan di https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.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 | Tipe | 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 | Harus diisi. Nama penyebaran. Aturan penamaan ditentukan di sini. |
||
description |
string | Deskripsi penyebaran. | ||
tags |
object | Kamus tag untuk penyebaran. | ||
endpoint_name |
string | Harus 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 |
object | 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 |
object | 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 | Harus diisi. Lingkungan yang digunakan untuk penyebaran. Nilai ini dapat berupa referensi ke lingkungan berversi yang ada di ruang kerja atau spesifikasi lingkungan sebaris. Untuk mereferensikan lingkungan yang ada, gunakan sintaks azureml:<environment-name>:<environment-version> . Untuk menentukan lingkungan inline, ikuti skema Lingkungan. Sebagai praktik terbaik untuk skenario produksi, Anda harus membuat lingkungan secara terpisah dan mereferensikannya di sini. |
||
instance_type |
string | Harus diisi. Ukuran VM untuk digunakan untuk penyebaran. Untuk daftar ukuran yang didukung, lihat Daftar SKU titik akhir online terkelola. | ||
instance_count |
Integer | Harus diisi. Jumlah instans yang digunakan untuk penyebaran. Tentukan nilai berdasarkan beban kerja yang Anda harapkan. Untuk ketersediaan tinggi, Microsoft menyarankan Anda mengaturnya setidaknya ke 3 . instance_count dapat diperbarui setelah pembuatan penyebaran menggunakan perintah az ml online-deployment update . Kami mencadangkan kuota tambahan sebesar 20% untuk melakukan peningkatan. Untuk informasi selengkapnya, lihat alokasi kuota komputer virtual untuk penyebaran. |
||
app_insights_enabled |
Boolean | Apakah akan mengaktifkan integrasi dengan instans Azure Application Insights yang terkait dengan ruang kerja Anda. | false |
|
scale_settings |
object | Pengaturan skala untuk penyebaran. Saat ini hanya jenis skala yang default didukung, jadi Anda tidak perlu menentukan properti ini. Dengan jenis skala default ini, Anda dapat meningkatkan dan menurunkan jumlah instans secara manual setelah pembuatan penyebaran dengan memperbarui properti instance_count atau membuat kebijakan penskalaan otomatis. |
||
scale_settings.type |
string | Jenis skala. | default |
default |
data_collector |
object | Pengaturan pengumpulan data untuk penyebaran. Lihat DataCollector untuk kumpulan properti yang dapat dikonfigurasi. | ||
request_settings |
object | Pengaturan permintaan penilaian untuk penyebaran. Lihat RequestSettings untuk kumpulan properti yang dapat dikonfigurasi. | ||
liveness_probe |
object | Pengaturan Liveness probe untuk memantau kesehatan kontainer secara teratur. Lihat ProbeSettings untuk kumpulan properti yang dapat dikonfigurasi. | ||
readiness_probe |
object | Kesiapan probe pengaturan untuk memvalidasi jika kontainer siap untuk melayani lalu lintas. Lihat ProbeSettings untuk kumpulan properti yang dapat dikonfigurasi. | ||
egress_public_network_access |
string | Catatan: Kunci ini berlaku saat Anda menggunakan metode isolasi jaringan warisan untuk mengamankan komunikasi keluar untuk penyebaran. Kami sangat menyarankan Agar Anda mengamankan komunikasi keluar untuk penyebaran menggunakan VNet yang dikelola ruang kerja sebagai gantinya. Bendera ini mengamankan penyebaran dengan membatasi komunikasi antara penyebaran dan sumber daya Azure yang digunakan penyebaran tersebut. Atur ke disabled untuk memastikan bahwa pengunduhan model, kode, serta gambar yang diperlukan oleh penyebaran Anda diamankan dengan titik akhir privat. Bendera ini hanya berlaku untuk titik akhir online terkelola. |
enabled , disabled |
enabled |
RequestSettings
Kunci | Tipe | Deskripsi | Nilai default |
---|---|---|---|
request_timeout_ms |
Integer | Jangka waktu penilaian dalam milidetik. Perhatikan bahwa nilai maksimum yang diizinkan adalah 180000 milidetik. Lihat batasan untuk titik akhir online untuk informasi selengkapnya. |
5000 |
max_concurrent_requests_per_instance |
Integer | Jumlah maksimum permintaan bersamaan per instans yang diizinkan untuk penyebaran. Catatan: Jika Anda menggunakan Azure Pembelajaran Mesin Inference Server atau Azure Pembelajaran Mesin Inference Images, model Anda harus dikonfigurasi untuk menangani permintaan bersamaan. Untuk melakukannya, teruskan WORKER_COUNT: <int> sebagai variabel lingkungan. Untuk informasi selengkapnya tentang WORKER_COUNT , lihat Parameter Server Inferensi Azure Pembelajaran Mesin Catatan: Atur ke jumlah permintaan yang dapat diproses model Anda secara bersamaan pada satu simpul. Menetapkan nilai ini lebih tinggi dari konkurensi aktual model Anda dapat menyebabkan latensi yang lebih tinggi. Mengatur nilai ini terlalu rendah dapat menyebabkan di bawah simpul yang digunakan. Pengaturan terlalu rendah mungkin juga mengakibatkan permintaan ditolak dengan kode status HTTP 429, karena sistem akan memilih untuk gagal dengan cepat. Untuk informasi selengkapnya, lihat Pemecahan masalah titik akhir online: Kode status HTTP. |
1 |
max_queue_wait_ms |
Integer | (Tidak digunakan lagi) Jumlah waktu maksimum dalam milidetik permintaan akan tetap dalam antrean. (Sekarang tingkatkan request_timeout_ms untuk memperhitungkan keterlambatan jaringan/antrean) |
500 |
ProbeSettings
Kunci | Tipe | Deskripsi | Nilai default |
---|---|---|---|
initial_delay |
Integer | Jumlah detik setelah wadah dimulai sebelum pemeriksaan dimulai. Nilai minimum adalah 1 . |
10 |
period |
Integer | Seberapa sering (dalam hitungan detik) untuk melakukan probe. | 10 |
timeout |
Integer | Jumlah detik setelah waktu probe habis. Nilai minimum adalah 1 . |
2 |
success_threshold |
Integer | Keberhasilan minimum berturut-turut untuk penyelidikan dianggap berhasil setelah gagal. Nilai minimum adalah 1 untuk pemeriksaan kesiapan. Nilai untuk pemeriksaan keaktifan diperbaiki sebagai 1 . |
1 |
failure_threshold |
Integer | 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 |
DataCollector
Kunci | Tipe | Deskripsi | Nilai default |
---|---|---|---|
sampling_rate |
float | Persentase, dinyatakan sebagai tingkat desimal, data yang akan dikumpulkan. Misalnya, nilai 1,0 mewakili pengumpulan 100% data. | 1.0 |
rolling_rate |
string | Tingkat untuk mempartisi data dalam penyimpanan. Nilainya bisa: Menit, Jam, Hari, Bulan, Tahun. | Hour |
collections |
object | Set masing-masing collection_name dan pengaturan masing-masing untuk penyebaran ini. |
|
collections.<collection_name> |
object | Pengelompokan logis data inferensi produksi untuk dikumpulkan (misalnya: model_inputs ). Ada dua nama yang dipesan: request dan response , yang masing-masing sesuai dengan permintaan HTTP dan pengumpulan data payload respons. Semua nama lain segan-segan dan dapat ditentukan oleh pengguna. Catatan: Masing-masing collection_name harus sesuai dengan nama objek yang Collector digunakan dalam penyebaran score.py untuk mengumpulkan data inferensi produksi. Untuk informasi selengkapnya tentang pengumpulan data payload dan pengumpulan data dengan Python SDK yang disediakan, lihat Mengumpulkan data dari model dalam produksi. |
|
collections.<collection_name>.enabled |
Boolean | Apakah akan mengaktifkan pengumpulan collection_name data untuk . |
'False'' |
collections.<collection_name>.data.name |
string | Nama aset data untuk mendaftar dengan data yang dikumpulkan. | <endpoint>-<deployment>-<collection_name> |
collections.<collection_name>.data.path |
string | Jalur datastore azure Pembelajaran Mesin lengkap tempat data yang dikumpulkan harus didaftarkan sebagai aset data. | azureml://datastores/workspaceblobstore/paths/modelDataCollector/<endpoint_name>/<deployment_name>/<collection_name> |
collections.<collection_name>.data.version |
Integer | Versi aset data yang akan didaftarkan dengan data yang dikumpulkan dalam penyimpanan Blob. | 1 |
Keterangan
Perintah az ml online-deployment
dapat digunakan untuk mengelola penyebaran online terkelola Pembelajaran Mesin Azure.
Contoh
Contoh tersedia di contoh repositori GitHub. Beberapa ditunjukkan di bawah ini.
YAML: dasar
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: my-endpoint
model:
path: ../../model-1/model/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-1/environment/conda.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: green
endpoint_name: my-endpoint
model:
path: ../../model-2/model/
code_configuration:
code: ../../model-2/onlinescoring/
scoring_script: score.py
environment:
conda_file: ../../model-2/environment/conda.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
YAML: identitas yang ditetapkan sistem
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
model:
path: ../../model-1/model/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score_managedidentity.py
environment:
conda_file: ../../model-1/environment/conda-managedidentity.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
environment_variables:
STORAGE_ACCOUNT_NAME: "storage_place_holder"
STORAGE_CONTAINER_NAME: "container_place_holder"
FILE_NAME: "file_place_holder"
YAML: identitas yang ditetapkan pengguna
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
model:
path: ../../model-1/model/
code_configuration:
code: ../../model-1/onlinescoring/
scoring_script: score_managedidentity.py
environment:
conda_file: ../../model-1/environment/conda-managedidentity.yaml
image: mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest
instance_type: Standard_DS3_v2
instance_count: 1
environment_variables:
STORAGE_ACCOUNT_NAME: "storage_place_holder"
STORAGE_CONTAINER_NAME: "container_place_holder"
FILE_NAME: "file_place_holder"
UAI_CLIENT_ID: "uai_client_id_place_holder"
YAML: data_collector
$schema: http://azureml/sdk-2-0/OnlineDeployment.json
endpoint_name: my_endpoint
name: blue
model: azureml:my-model-m1:1
environment: azureml:env-m1:1
data_collector:
collections:
model_inputs:
enabled: 'True'
model_outputs:
enabled: 'True'
$schema: http://azureml/sdk-2-0/OnlineDeployment.json
endpoint_name: my_endpoint
name: blue
model: azureml:my-model-m1:1
environment: azureml:env-m1:1
data_collector:
collections:
request:
enabled: 'True'
data:
name: my_request_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/request
version: 1
response:
enabled: 'True'
data:
name: my_response_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/response
version: 1
model_inputs:
enabled: 'True'
data:
name: my_model_inputs_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/model_inputs
version: 1
model_outputs:
enabled: 'True'
data:
name: my_model_outputs_data_asset
path: azureml://datastores/workspaceblobstore/paths/modelDataCollector/my_endpoint/blue/model_outputs
version: 1