Menyebarkan pekerjaan alur yang ada ke titik akhir batch
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)
Titik akhir batch memungkinkan Anda menyebarkan komponen alur, menyediakan cara mudah untuk mengoprasikan alur di Azure Pembelajaran Mesin. Titik akhir batch menerima komponen alur untuk penyebaran. Namun, jika Anda sudah memiliki pekerjaan alur yang berhasil dijalankan, Azure Pembelajaran Mesin dapat menerima pekerjaan tersebut sebagai input ke titik akhir batch Anda dan membuat komponen alur secara otomatis untuk Anda. Dalam artikel ini, Anda akan mempelajari cara menggunakan pekerjaan alur yang ada sebagai input untuk penyebaran batch.
Anda akan belajar untuk:
- Jalankan dan buat pekerjaan alur yang ingin Anda sebarkan
- Membuat penyebaran batch dari pekerjaan yang ada
- Menguji penyebarannya
Tentang contoh ini
Dalam contoh ini, kita akan menyebarkan alur yang terdiri dari pekerjaan perintah sederhana yang mencetak "halo dunia!". Alih-alih mendaftarkan komponen alur sebelum penyebaran, kami menunjukkan pekerjaan alur yang ada untuk digunakan untuk penyebaran. Azure Pembelajaran Mesin kemudian akan membuat komponen alur secara otomatis dan menyebarkannya sebagai penyebaran komponen alur titik akhir batch.
Contoh dalam artikel ini didasarkan pada sampel kode yang terkandung dalam repositori azureml-examples . Untuk menjalankan perintah secara lokal tanpa harus menyalin/menempelkan YAML dan file lainnya, pertama-tama kloning repositori lalu ubah direktori ke folder:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
File untuk contoh ini ada di:
cd endpoints/batch/deploy-pipelines/hello-batch
Prasyarat
Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.
Ruang kerja Azure Machine Learning. Untuk membuat ruang kerja, lihat Mengelola ruang kerja Azure Pembelajaran Mesin.
Pastikan Anda memiliki izin berikut di ruang kerja Pembelajaran Mesin:
- Membuat atau mengelola titik akhir dan penyebaran batch: Gunakan peran Pemilik, Kontributor, atau Kustom yang memungkinkan
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*
. - Membuat penyebaran Azure Resource Manager di grup sumber daya ruang kerja: Gunakan peran Pemilik, Kontributor, atau Kustom yang memungkinkan
Microsoft.Resources/deployments/write
dalam grup sumber daya tempat ruang kerja disebarkan.
- Membuat atau mengelola titik akhir dan penyebaran batch: Gunakan peran Pemilik, Kontributor, atau Kustom yang memungkinkan
Instal perangkat lunak berikut untuk bekerja dengan Pembelajaran Mesin:
Jalankan perintah berikut untuk menginstal Azure CLI dan
ml
ekstensi untuk Azure Pembelajaran Mesin:az extension add -n ml
Penyebaran komponen alur untuk Titik Akhir Batch diperkenalkan dalam versi 2.7
ml
ekstensi untuk Azure CLI.az extension update --name ml
Gunakan perintah untuk mendapatkan versi terbaru.
Menyambungkan ke ruang kerja Anda
Ruang kerja adalah sumber daya tingkat atas untuk Pembelajaran Mesin. Ini menyediakan tempat terpusat untuk bekerja dengan semua artefak yang Anda buat saat Anda menggunakan Pembelajaran Mesin. Di bagian ini, Anda menyambungkan ke ruang kerja tempat Anda melakukan tugas penyebaran.
Dalam perintah berikut, masukkan nilai untuk ID langganan, ruang kerja, lokasi, dan grup sumber daya Anda:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Jalankan pekerjaan alur yang ingin Anda sebarkan
Di bagian ini, kita mulai dengan menjalankan pekerjaan alur:
File berikut pipeline-job.yml
berisi konfigurasi untuk pekerjaan alur:
pipeline-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
experiment_name: hello-pipeline-batch
display_name: hello-pipeline-batch-job
description: This job demonstrates how to run the a pipeline component in a pipeline job. You can use this example to test a component in an standalone job before deploying it in an endpoint.
compute: batch-cluster
component: hello-component/hello.yml
Buat pekerjaan alur:
Membuat titik akhir batch
Sebelum kita menyebarkan pekerjaan alur, kita perlu menyebarkan titik akhir batch untuk menghosting penyebaran.
Berikan nama untuk titik akhir. Nama titik akhir batch harus unik di setiap wilayah karena namanya digunakan untuk membangun URI pemanggilan. Untuk memastikan keunikan, tambahkan karakter berikutnya ke nama yang ditentukan dalam kode berikut.
Konfigurasikan titik akhir:
Buat titik akhir:
Kueri URI titik akhir:
Menyebarkan pekerjaan alur
Untuk menyebarkan komponen alur, kita harus membuat penyebaran batch dari pekerjaan yang ada.
Kita perlu memberi tahu Azure Pembelajaran Mesin nama pekerjaan yang ingin kita sebarkan. Dalam kasus kami, pekerjaan tersebut ditunjukkan dalam variabel berikut:
Konfigurasikan penyebaran.
File
deployment-from-job.yml
berisi konfigurasi penyebaran. Perhatikan bagaimana kami menggunakan kuncijob_definition
alih-alihcomponent
menunjukkan bahwa penyebaran ini dibuat dari pekerjaan alur:deployment-from-job.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-from-job endpoint_name: hello-pipeline-batch type: pipeline job_definition: azureml:job_name_placeholder settings: continue_on_step_failure: false default_compute: batch-cluster
Tip
Konfigurasi ini mengasumsikan Anda memiliki kluster komputasi bernama
batch-cluster
. Anda dapat mengganti nilai ini dengan nama kluster Anda.Buat penyebaran:
Jalankan kode berikut untuk membuat penyebaran batch di bawah titik akhir batch dan atur sebagai penyebaran default.
az ml batch-deployment create --endpoint $ENDPOINT_NAME --set job_definition=azureml:$JOB_NAME -f deployment-from-job.yml
Tip
Perhatikan penggunaan
--set job_definition=azureml:$JOB_NAME
. Karena nama pekerjaan unik, perintah--set
digunakan di sini untuk mengubah nama pekerjaan saat Anda menjalankannya di ruang kerja Anda.Penyebaran Anda siap digunakan.
Menguji penyebarannya
Setelah penyebaran dibuat, penyebaran siap untuk menerima pekerjaan. Anda dapat memanggil penyebaran default sebagai berikut:
Anda dapat memantau kemajuan acara dan mengalirkan log menggunakan:
Membersihkan sumber daya
Setelah selesai, hapus sumber daya terkait dari ruang kerja:
Jalankan kode berikut untuk menghapus titik akhir batch dan penyebaran yang mendasarinya. --yes
digunakan untuk mengonfirmasi penghapusan.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes