Berbagi model, komponen, dan lingkungan di seluruh ruang kerja dengan registri
Registri Azure Pembelajaran Mesin memungkinkan Anda berkolaborasi di seluruh ruang kerja dalam organisasi Anda. Dengan menggunakan registri, Anda dapat berbagi model, komponen, dan lingkungan.
Ada dua skenario di mana Anda ingin menggunakan serangkaian model, komponen, dan lingkungan yang sama di beberapa ruang kerja:
- MLOps lintas ruang kerja: Anda melatih model di
dev
ruang kerja dan perlu menyebarkannya ketest
ruang kerja danprod
. Dalam hal ini Anda, ingin memiliki silsilah end-to-end antara titik akhir tempat model disebarkan ditest
ruang kerja atauprod
dan pekerjaan pelatihan, metrik, kode, data, dan lingkungan yang digunakan untuk melatih model didev
ruang kerja. - Berbagi dan menggunakan kembali model dan alur di berbagai tim: Berbagi dan menggunakan kembali meningkatkan kolaborasi dan produktivitas. Dalam skenario ini, Anda mungkin ingin menerbitkan model terlatih dan komponen dan lingkungan terkait yang digunakan untuk melatihnya ke katalog pusat. Dari sana, kolega dari tim lain dapat mencari dan menggunakan kembali aset yang Anda bagikan dalam eksperimen mereka sendiri.
Dalam artikel ini, Anda akan mempelajari cara:
- Buat lingkungan dan komponen dalam registri.
- Gunakan komponen dari registri untuk mengirimkan pekerjaan pelatihan model di ruang kerja.
- Daftarkan model terlatih di registri.
- Sebarkan model dari registri ke titik akhir online di ruang kerja, lalu kirimkan permintaan inferensi.
Prasyarat
Sebelum mengikuti langkah-langkah dalam artikel ini, pastikan Anda memiliki prasyarat berikut:
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.
Registri Azure Pembelajaran Mesin untuk berbagi model, komponen, dan lingkungan. Untuk membuat registri, lihat Mempelajari cara membuat registri.
Ruang kerja Azure Machine Learning. Jika Anda tidak memilikinya, gunakan langkah-langkah dalam artikel Mulai Cepat: Membuat sumber daya ruang kerja untuk membuatnya.
Penting
Wilayah Azure (lokasi) tempat Anda membuat ruang kerja harus berada dalam daftar wilayah yang didukung untuk registri Azure Pembelajaran Mesin
Azure CLI dan
ml
ekstensi atau Azure Pembelajaran Mesin Python SDK v2:Untuk menginstal Azure CLI dan ekstensi, lihat Menginstal, menyiapkan, dan menggunakan CLI (v2).
Penting
Contoh CLI dalam artikel ini mengasumsikan bahwa Anda menggunakan shell Bash (atau kompatibel). Misalnya, dari sistem Linux atau Subsistem Windows untuk Linux.
Contohnya juga mengasumsikan bahwa Anda telah mengonfigurasi default untuk Azure CLI sehingga Anda tidak perlu menentukan parameter untuk langganan, ruang kerja, grup sumber daya, atau lokasi Anda. Untuk mengatur pengaturan default, gunakan perintah berikut. Ganti parameter berikut dengan nilai untuk konfigurasi Anda:
- Ganti
<subscription>
dengan ID langganan Azure Anda. - Ganti
<workspace>
dengan nama ruang kerja Azure Machine Learning Anda. - Ganti
<resource-group>
dengan grup sumber daya Azure yang berisi ruang kerja Anda. - Ganti
<location>
dengan wilayah Azure yang berisi ruang kerja Anda.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Anda dapat melihat default saat ini dengan menggunakan perintah
az configure -l
.- Ganti
Klon contoh repositori
Contoh kode dalam artikel ini didasarkan pada nyc_taxi_data_regression
sampel dalam repositori contoh. Untuk menggunakan file-file ini di lingkungan pengembangan Anda, gunakan perintah berikut untuk mengkloning repositori dan mengubah direktori ke contoh:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
Untuk contoh CLI, ubah direktori menjadi cli/jobs/pipelines-with-components/nyc_taxi_data_regression
di klon lokal repositori contoh Anda.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
Membuat koneksi SDK
Tip
Langkah ini hanya diperlukan saat menggunakan Python SDK.
Buat koneksi klien ke ruang kerja dan registri Azure Pembelajaran Mesin:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Membuat lingkungan dalam registri
Lingkungan menentukan kontainer docker dan dependensi Python yang diperlukan untuk menjalankan pekerjaan pelatihan atau menyebarkan model. Untuk informasi selengkapnya tentang lingkungan, lihat artikel berikut ini:
Tip
Perintah az ml environment create
CLI yang sama dapat digunakan untuk membuat lingkungan di ruang kerja atau registri. Menjalankan perintah dengan --workspace-name
perintah membuat lingkungan di ruang kerja sedangkan menjalankan perintah dengan --registry-name
membuat lingkungan di registri.
Kita akan membuat lingkungan yang menggunakan python:3.8
gambar docker dan menginstal paket Python yang diperlukan untuk menjalankan pekerjaan pelatihan menggunakan kerangka kerja SciKit Learn. Jika Anda telah mengkloning repositori contoh dan berada di folder cli/jobs/pipelines-with-components/nyc_taxi_data_regression
, Anda harus dapat melihat file env_train.yml
definisi lingkungan yang mereferensikan file env_train/Dockerfile
docker . ditunjukkan env_train.yml
di bawah ini untuk referensi Anda:
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: SKLearnEnv
version: 1
build:
path: ./env_train
Buat lingkungan menggunakan az ml environment create
sebagai berikut
az ml environment create --file env_train.yml --registry-name <registry-name>
Jika Anda mendapatkan kesalahan bahwa lingkungan dengan nama dan versi ini sudah ada di registri, Anda dapat mengedit version
bidang di env_train.yml
atau menentukan versi yang berbeda pada CLI yang mengambil alih nilai versi di env_train.yml
.
# use shell epoch time as the version
version=$(date +%s)
az ml environment create --file env_train.yml --registry-name <registry-name> --set version=$version
Tip
version=$(date +%s)
hanya berfungsi di Linux. Ganti $version
dengan angka acak jika ini tidak berfungsi.
Catat name
dan version
lingkungan dari output az ml environment create
perintah dan gunakan dengan az ml environment show
perintah sebagai berikut. Anda akan memerlukan name
dan version
di bagian berikutnya saat membuat komponen di registri.
az ml environment show --name SKLearnEnv --version 1 --registry-name <registry-name>
Tip
Jika Anda menggunakan nama atau versi lingkungan yang berbeda, ganti --name
parameter dan --version
yang sesuai.
Anda juga dapat menggunakan az ml environment list --registry-name <registry-name>
untuk mencantumkan semua lingkungan dalam registri.
Anda dapat menelusuri semua lingkungan di studio Azure Pembelajaran Mesin. Pastikan Anda menavigasi ke UI global dan mencari entri Registri .
Membuat komponen dalam registri
Komponen adalah blok penyusun yang dapat digunakan kembali dari alur Pembelajaran Mesin di Azure Pembelajaran Mesin. Anda dapat mengemas kode, perintah, lingkungan, antarmuka input, dan antarmuka output dari langkah alur individual ke dalam komponen. Kemudian Anda dapat menggunakan kembali komponen di beberapa alur tanpa harus khawatir tentang dependensi porting dan kode setiap kali Anda menulis alur yang berbeda.
Membuat komponen di ruang kerja memungkinkan Anda menggunakan komponen dalam pekerjaan alur apa pun dalam ruang kerja tersebut. Membuat komponen dalam registri memungkinkan Anda menggunakan komponen dalam alur apa pun di ruang kerja apa pun dalam organisasi Anda. Membuat komponen dalam registri adalah cara yang bagus untuk membangun utilitas modular yang dapat digunakan kembali atau tugas pelatihan bersama yang dapat digunakan untuk eksperimen oleh tim yang berbeda dalam organisasi Anda.
Untuk informasi selengkapnya tentang komponen, lihat artikel berikut ini:
Cara menggunakan komponen dalam alur (SDK)
Penting
Registri hanya mendukung untuk memiliki aset bernama (data/model/komponen/lingkungan). Jika Anda mereferensikan aset dalam registri, Anda perlu membuatnya di registri terlebih dahulu. Terutama untuk kasus komponen alur, jika Anda menginginkan komponen referensi atau lingkungan dalam komponen alur, Anda perlu terlebih dahulu membuat komponen atau lingkungan di registri.
Pastikan Anda berada di folder cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. Anda akan menemukan file train.yml
definisi komponen yang mengemas skrip train_src/train.py
pelatihan Scikit Learn dan lingkungan AzureML-sklearn-0.24-ubuntu18.04-py37-cpu
yang dikumpulkan . Kita akan menggunakan lingkungan Scikit Learn yang dibuat dalam langkah jahat alih-alih lingkungan yang dikumpulkan. Anda dapat mengedit environment
bidang di train.yml
untuk merujuk ke lingkungan Scikit Learn Anda. File train.yml
definisi komponen yang dihasilkan akan mirip dengan contoh berikut:
# <component>
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: train_linear_regression_model
display_name: TrainLinearRegressionModel
version: 1
type: command
inputs:
training_data:
type: uri_folder
test_split_ratio:
type: number
min: 0
max: 1
default: 0.2
outputs:
model_output:
type: mlflow_model
test_data:
type: uri_folder
code: ./train_src
environment: azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1`
command: >-
python train.py
--training_data ${{inputs.training_data}}
--test_data ${{outputs.test_data}}
--model_output ${{outputs.model_output}}
--test_split_ratio ${{inputs.test_split_ratio}}
Jika Anda menggunakan nama atau versi yang berbeda, representasi yang lebih umum terlihat seperti ini: environment: azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
, jadi pastikan Anda mengganti <registry-name>
, <sklearn-environment-name>
dan <sklearn-environment-version>
yang sesuai. Anda kemudian menjalankan az ml component create
perintah untuk membuat komponen sebagai berikut.
az ml component create --file train.yml --registry-name <registry-name>
Tip
Perintah az ml component create
CLI yang sama dapat digunakan untuk membuat komponen di ruang kerja atau registri. Menjalankan perintah dengan --workspace-name
perintah membuat komponen di ruang kerja sedangkan menjalankan perintah dengan --registry-name
membuat komponen dalam registri.
Jika Anda lebih suka tidak mengedit train.yml
, Anda dapat mengambil alih nama lingkungan pada CLI sebagai berikut:
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/SKLearnEnv/versions/1
# or if you used a different name or version, replace `<sklearn-environment-name>` and `<sklearn-environment-version>` accordingly
az ml component create --file train.yml --registry-name <registry-name>` --set environment=azureml://registries/<registry-name>/environments/<sklearn-environment-name>/versions/<sklearn-environment-version>
Tip
Jika Anda mendapatkan kesalahan bahwa nama komponen sudah ada di registri, Anda dapat mengedit versi di train.yml
atau mengambil alih versi pada CLI dengan versi acak.
Catat name
dan version
komponen dari output az ml component create
perintah dan gunakan dengan az ml component show
perintah sebagai berikut. Anda akan memerlukan name
dan version
di bagian berikutnya saat membuat kirim pekerjaan pelatihan di ruang kerja.
az ml component show --name <component_name> --version <component_version> --registry-name <registry-name>
Anda juga dapat menggunakan az ml component list --registry-name <registry-name>
untuk mencantumkan semua komponen dalam registri.
Anda dapat menelusuri semua komponen di studio Azure Pembelajaran Mesin. Pastikan Anda menavigasi ke UI global dan mencari entri Registri .
Menjalankan pekerjaan alur di ruang kerja menggunakan komponen dari registri
Saat menjalankan pekerjaan alur yang menggunakan komponen dari registri, sumber daya komputasi dan data pelatihan bersifat lokal ke ruang kerja. Untuk informasi selengkapnya tentang menjalankan pekerjaan, lihat artikel berikut ini:
- Menjalankan pekerjaan (CLI)
- Menjalankan pekerjaan (SDK)
- Pekerjaan alur dengan komponen (CLI)
- Pekerjaan alur dengan komponen (SDK)
Kita akan menjalankan pekerjaan alur dengan komponen pelatihan Scikit Learn yang dibuat di bagian sebelumnya untuk melatih model. Periksa apakah Anda berada di folder cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. Himpunan data pelatihan terletak di data_transformed
folder . Edit bagian component
di bawah bagian train_job
single-job-pipeline.yml
file untuk merujuk ke komponen pelatihan yang dibuat di bagian sebelumnya. Hasilnya single-job-pipeline.yml
ditunjukkan di bawah ini.
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: ./data_transformed
outputs:
model_output:
type: mlflow_model
test_data:
Aspek utamanya adalah bahwa alur ini akan berjalan di ruang kerja menggunakan komponen yang tidak berada di ruang kerja tertentu. Komponen ini berada dalam registri yang dapat digunakan dengan ruang kerja apa pun di organisasi Anda. Anda dapat menjalankan pekerjaan pelatihan ini di ruang kerja mana pun yang dapat Anda akses tanpa khawatir membuat kode pelatihan dan lingkungan tersedia di ruang kerja tersebut.
Peringatan
- Sebelum menjalankan pekerjaan alur, konfirmasikan bahwa ruang kerja tempat Anda akan menjalankan pekerjaan berada di wilayah Azure yang didukung oleh registri tempat Anda membuat komponen.
- Konfirmasikan bahwa ruang kerja memiliki kluster komputasi dengan nama
cpu-cluster
atau editcompute
bidang di bawahjobs.train_job.compute
dengan nama komputasi Anda.
Jalankan pekerjaan alur dengan az ml job create
perintah .
az ml job create --file single-job-pipeline.yml
Tip
Jika Anda belum mengonfigurasi ruang kerja default dan grup sumber daya seperti yang dijelaskan di bagian prasyarat, Anda harus menentukan --workspace-name
parameter dan --resource-group
agar az ml job create
berfungsi.
Atau, Anda dapat melewati pengeditan single-job-pipeline.yml
dan mengambil alih nama komponen yang digunakan oleh train_job
dalam CLI.
az ml job create --file single-job-pipeline.yml --set jobs.train_job.component=azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
Karena komponen yang digunakan dalam pekerjaan pelatihan dibagikan melalui registri, Anda dapat mengirimkan pekerjaan ke ruang kerja apa pun yang dapat Anda akses di organisasi Anda, bahkan di berbagai langganan. Misalnya, jika Anda memiliki dev-workspace
, test-workspace
dan prod-workspace
, menjalankan pekerjaan pelatihan di ketiga ruang kerja ini sem mudahnya menjalankan tiga az ml job create
perintah.
az ml job create --file single-job-pipeline.yml --workspace-name dev-workspace --resource-group <resource-group-of-dev-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name test-workspace --resource-group <resource-group-of-test-workspace>
az ml job create --file single-job-pipeline.yml --workspace-name prod-workspace --resource-group <resource-group-of-prod-workspace>
Di studio Azure Pembelajaran Mesin, pilih tautan titik akhir dalam output pekerjaan untuk melihat pekerjaan. Di sini Anda dapat menganalisis metrik pelatihan, memverifikasi bahwa pekerjaan menggunakan komponen dan lingkungan dari registri, dan meninjau model terlatih. name
Catat pekerjaan dari output atau temukan informasi yang sama dari gambaran umum pekerjaan di azure Pembelajaran Mesin studio. Anda akan memerlukan informasi ini untuk mengunduh model terlatih di bagian berikutnya tentang membuat model di registri.
Membuat model di registri
Anda akan mempelajari cara membuat model di registri di bagian ini. Tinjau mengelola model untuk mempelajari selengkapnya tentang manajemen model di Azure Pembelajaran Mesin. Kita akan melihat dua cara berbeda untuk membuat model dalam registri. Pertama adalah dari file lokal. Kedua, adalah menyalin model yang terdaftar di ruang kerja ke registri.
Dalam kedua opsi, Anda akan membuat model dengan format MLflow, yang akan membantu Anda menyebarkan model ini untuk inferensi tanpa menulis kode inferensi apa pun.
Membuat model dalam registri dari file lokal
Unduh model, yang tersedia sebagai output dengan train_job
mengganti <job-name>
dengan nama dari pekerjaan dari bagian sebelumnya. Model bersama dengan file metadata MLflow harus tersedia di ./artifacts/model/
.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --query [0].name | sed 's/\"//g')
# download the default outputs of the train_job
az ml job download --name $train_job_name
# review the model files
ls -l ./artifacts/model/
Tip
Jika Anda belum mengonfigurasi ruang kerja default dan grup sumber daya seperti yang dijelaskan di bagian prasyarat, Anda harus menentukan --workspace-name
parameter dan --resource-group
agar az ml model create
berfungsi.
Peringatan
Output diteruskan az ml job list
ke sed
. Ini hanya berfungsi pada shell Linux. Jika Anda berada di Windows, jalankan az ml job list --parent-job-name <job-name> --query [0].name
dan hapus tanda kutip apa pun yang Anda lihat di nama pekerjaan pelatihan.
Jika Anda tidak dapat mengunduh model, Anda dapat menemukan contoh model MLflow yang dilatih oleh pekerjaan pelatihan di bagian sebelumnya di cli/jobs/pipelines-with-components/nyc_taxi_data_regression/artifacts/model/
folder.
Buat model di registri:
# create model in registry
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path ./artifacts/model/ --registry-name <registry-name>
Tip
- Gunakan angka acak untuk
version
parameter jika Anda mendapatkan kesalahan bahwa nama dan versi model ada. - Perintah
az ml model create
CLI yang sama dapat digunakan untuk membuat model di ruang kerja atau registri. Menjalankan perintah dengan--workspace-name
perintah membuat model di ruang kerja sedangkan menjalankan perintah dengan--registry-name
membuat model di registri.
Berbagi model dari ruang kerja ke registri
Dalam alur kerja ini, Anda akan terlebih dahulu membuat model di ruang kerja lalu membagikannya ke registri. Alur kerja ini berguna saat Anda ingin menguji model di ruang kerja sebelum membagikannya. Misalnya, sebarkan ke titik akhir, cobalah inferensi dengan beberapa data pengujian lalu salin model ke registri jika semuanya terlihat bagus. Alur kerja ini mungkin juga berguna saat Anda mengembangkan serangkaian model menggunakan teknik, kerangka kerja, atau parameter yang berbeda dan ingin mempromosikan salah satunya ke registri sebagai kandidat produksi.
Pastikan Anda memiliki nama pekerjaan alur dari bagian sebelumnya dan ganti dalam perintah untuk mengambil nama pekerjaan pelatihan di bawah ini. Anda kemudian akan mendaftarkan model dari output pekerjaan pelatihan ke ruang kerja. Perhatikan bagaimana --path
parameter mengacu pada output output train_job
dengan azureml://jobs/$train_job_name/outputs/artifacts/paths/model
sintaks.
# fetch the name of the train_job by listing all child jobs of the pipeline job
train_job_name=$(az ml job list --parent-job-name <job-name> --workspace-name <workspace-name> --resource-group <workspace-resource-group> --query [0].name | sed 's/\"//g')
# create model in workspace
az ml model create --name nyc-taxi-model --version 1 --type mlflow_model --path azureml://jobs/$train_job_name/outputs/artifacts/paths/model
Tip
- Gunakan angka acak untuk
version
parameter jika Anda mendapatkan kesalahan bahwa nama dan versi model ada.' - Jika Anda belum mengonfigurasi ruang kerja default dan grup sumber daya seperti yang dijelaskan di bagian prasyarat, Anda harus menentukan
--workspace-name
parameter dan--resource-group
agaraz ml model create
berfungsi.
Catat nama dan versi model. Anda dapat memvalidasi apakah model terdaftar di ruang kerja dengan menelusurinya di UI Studio atau menggunakan az ml model show --name nyc-taxi-model --version $model_version
perintah.
Selanjutnya, Anda sekarang akan berbagi model dari ruang kerja ke registri.
# share model registered in workspace to registry
az ml model share --name nyc-taxi-model --version 1 --registry-name <registry-name> --share-with-name <new-name> --share-with-version <new-version>
Tip
- Pastikan untuk menggunakan nama dan versi model yang tepat jika Anda mengubahnya dalam
az ml model create
perintah. - Perintah di atas memiliki dua parameter opsional "--share-with-name" dan "--share-with-version". Jika ini tidak disediakan, model baru akan memiliki nama dan versi yang sama dengan model yang sedang dibagikan.
Catat
name
danversion
model dari outputaz ml model create
perintah dan gunakan denganaz ml model show
perintah sebagai berikut. Anda akan memerlukanname
danversion
di bagian berikutnya saat menyebarkan model ke titik akhir online untuk inferensi.
az ml model show --name <model_name> --version <model_version> --registry-name <registry-name>
Anda juga dapat menggunakan az ml model list --registry-name <registry-name>
untuk mencantumkan semua model di registri atau menelusuri semua komponen di antarmuka pengguna studio Azure Pembelajaran Mesin. Pastikan Anda menavigasi ke UI global dan mencari hub Registri.
Cuplikan layar berikut menunjukkan model dalam registri di studio Azure Pembelajaran Mesin. Jika Anda membuat model dari output pekerjaan lalu menyalin model dari ruang kerja ke registri, Anda akan melihat bahwa model memiliki tautan ke pekerjaan yang melatih model. Anda dapat menggunakan tautan tersebut untuk menavigasi ke pekerjaan pelatihan untuk meninjau kode, lingkungan, dan data yang digunakan untuk melatih model.
Menyebarkan model dari registri ke titik akhir online di ruang kerja
Di bagian terakhir, Anda akan menyebarkan model dari registri ke titik akhir online di ruang kerja. Anda dapat memilih untuk menyebarkan ruang kerja apa pun yang dapat Anda akses di organisasi Anda, asalkan lokasi ruang kerja adalah salah satu lokasi yang didukung oleh registri. Kemampuan ini berguna jika Anda melatih model di dev
ruang kerja dan sekarang perlu menyebarkan model ke test
atau prod
ruang kerja, sambil mempertahankan informasi silsilah data sekeliling kode, lingkungan, dan data yang digunakan untuk melatih model.
Titik akhir online memungkinkan Anda menyebarkan model dan mengirimkan permintaan inferensi melalui REST API. Untuk informasi selengkapnya, lihat Cara menyebarkan dan menilai model pembelajaran mesin dengan menggunakan titik akhir online.
Membuat titik akhir online.
az ml online-endpoint create --name reg-ep-1234
Perbarui baris deploy.yml
yang model:
cli/jobs/pipelines-with-components/nyc_taxi_data_regression
tersedia di folder untuk merujuk nama dan versi model dari langkah kejam. Buat penyebaran online ke titik akhir online. ditunjukkan deploy.yml
di bawah ini untuk referensi.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: demo
endpoint_name: reg-ep-1234
model: azureml://registries/<registry-name>/models/nyc-taxi-model/versions/1
instance_type: Standard_DS2_v2
instance_count: 1
Buat penyebaran online. Penyebaran memerlukan waktu beberapa menit untuk menyelesaikan.
az ml online-deployment create --file deploy.yml --all-traffic
Ambil URI penilaian dan kirimkan permintaan penilaian sampel. Data sampel untuk permintaan penilaian tersedia di scoring-data.json
folder cli/jobs/pipelines-with-components/nyc_taxi_data_regression
.
ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n reg-ep-1234 -o tsv --query primaryKey)
SCORING_URI=$(az ml online-endpoint show -n reg-ep-1234 -o tsv --query scoring_uri)
curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @./scoring-data.json
Tip
curl
perintah hanya berfungsi di Linux.- Jika Anda belum mengonfigurasi ruang kerja default dan grup sumber daya seperti yang dijelaskan di bagian prasyarat, Anda harus menentukan
--workspace-name
parameter dan--resource-group
agaraz ml online-endpoint
perintah danaz ml online-deployment
berfungsi.
Membersihkan sumber daya
Jika Anda tidak akan menggunakan penyebaran, Anda harus menghapusnya untuk mengurangi biaya. Contoh berikut menghapus titik akhir dan semua penyebaran yang mendasar:
az ml online-endpoint delete --name reg-ep-1234 --yes --no-wait